Граф коммитов

3729 Коммитов

Автор SHA1 Сообщение Дата
shindli 91aa0518dd Backed out changeset 0c982bc69cb3 (bug 1611415) for causing build bustages in /builds/worker/workspace/build/src/obj-firefox/dist/include/nsCOMPtr CLOSED TREE 2020-02-12 20:13:29 +02:00
Simon Giesecke f604a47fa5 Bug 1611415 - Applied FixItHints from mozilla-non-std-move. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D60980

--HG--
extra : moz-landing-system : lando
2020-02-12 17:24:41 +00:00
Boris Zbarsky c1c6ce37b3 Bug 1613827. Be more careful with SharedBuffer::Create callsites. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D61959

--HG--
extra : moz-landing-system : lando
2020-02-11 16:58:33 +00:00
Brindusan Cristian 5d70119bb0 Backed out 12 changesets (bug 1578073) for linting failure on Camera2Session.java. CLOSED TREE
Backed out changeset 20e979be216b (bug 1578073)
Backed out changeset e361b04a8502 (bug 1578073)
Backed out changeset 8aae0721f09c (bug 1578073)
Backed out changeset 381836e3bad0 (bug 1578073)
Backed out changeset 0c214e8034bb (bug 1578073)
Backed out changeset b91603fdd9de (bug 1578073)
Backed out changeset 8533a03e36ca (bug 1578073)
Backed out changeset 2126f6d9bffc (bug 1578073)
Backed out changeset 39a853c82a71 (bug 1578073)
Backed out changeset 2a8e1c02cede (bug 1578073)
Backed out changeset 55e2a4c5cab9 (bug 1578073)
Backed out changeset 27b45ca46f24 (bug 1578073)

--HG--
rename : dom/media/systemservices/android_video_capture/device_info_android.cc => media/webrtc/trunk/webrtc/modules/video_capture/android/device_info_android.cc
rename : dom/media/systemservices/android_video_capture/device_info_android.h => media/webrtc/trunk/webrtc/modules/video_capture/android/device_info_android.h
rename : dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/CaptureCapabilityAndroid.java => media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/CaptureCapabilityAndroid.java
rename : dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java => media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java
rename : dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java => media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java
rename : dom/media/systemservices/android_video_capture/video_capture_android.cc => media/webrtc/trunk/webrtc/modules/video_capture/android/video_capture_android.cc
rename : dom/media/systemservices/android_video_capture/video_capture_android.h => media/webrtc/trunk/webrtc/modules/video_capture/android/video_capture_android.h
2020-02-11 17:22:50 +02:00
Dan Minor f84c5a8d02 Bug 1578073 - Remove native calls in Histogram.java; r=ng
Getting the JNI calls here to work requires a good amount of webrtc.org
machinery. It might be worth setting that up the next time we do an upstream
merge, but for now, it is a lot simpler to just remove the affected code,
given that we are not interested in collecting this data anyway.

Differential Revision: https://phabricator.services.mozilla.com/D61860

--HG--
extra : moz-landing-system : lando
2020-02-10 17:12:22 +00:00
Dan Minor a131dc6542 Bug 1578073 - Update generated video capture moz.build file; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D61856

--HG--
extra : moz-landing-system : lando
2020-02-10 17:11:01 +00:00
Dan Minor 4c29d99dc4 Bug 1578073 - Update gn generated json files; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D61855

--HG--
extra : moz-landing-system : lando
2020-02-10 17:10:33 +00:00
Dan Minor 99e456b88f Bug 1578073 - Remove android video capture from BUILD.gn; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D61854

--HG--
extra : moz-landing-system : lando
2020-02-10 17:09:55 +00:00
Dan Minor 75193e9189 Bug 1578073 - Fix warning: [cast] redundant cast to int; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D61852

--HG--
extra : moz-landing-system : lando
2020-02-10 17:08:50 +00:00
Dan Minor 3ab437be1f Bug 1578073 - Move android video capture code to dom/media/systemservices; r=jib
Although originally part of webrtc.org, this code has subsequently been
removed by upstream. Moving it to under dom/media should make it clearer that
this is code that we are maintaining and simplify future upstream merges.

Differential Revision: https://phabricator.services.mozilla.com/D61850

--HG--
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/device_info_android.cc => dom/media/systemservices/android_video_capture/device_info_android.cc
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/device_info_android.h => dom/media/systemservices/android_video_capture/device_info_android.h
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/CaptureCapabilityAndroid.java => dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/CaptureCapabilityAndroid.java
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java => dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java => dom/media/systemservices/android_video_capture/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/video_capture_android.cc => dom/media/systemservices/android_video_capture/video_capture_android.cc
rename : media/webrtc/trunk/webrtc/modules/video_capture/android/video_capture_android.h => dom/media/systemservices/android_video_capture/video_capture_android.h
extra : moz-landing-system : lando
2020-02-10 17:08:36 +00:00
Dan Minor a5ea832cbb Bug 1578073 - Add newer webrtc.org android camera code; r=ng
This is an import of the Android camera code as of upstream revision
26762d0425ffd15af9ddc3ae669373668827ea00 (Dec 20, 2019). This takes just the
files required to build the camera related classes.

Differential Revision: https://phabricator.services.mozilla.com/D61849

--HG--
extra : moz-landing-system : lando
2020-02-10 17:07:25 +00:00
Byron Campen [:bwc] bd0e95a94f Bug 1591199: Don't assert when a candidate is gathered for a transceiver that is not associated, since that can happen in certain rollback scenarios. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D60309

--HG--
extra : moz-landing-system : lando
2020-02-06 15:51:36 +00:00
Byron Campen [:bwc] 8ae1152c9d Bug 1591199: Fix a race where sRD(offer) could mute a track, then an RTP packet could arrive that unmutes it before negotiation completed, this time without needing to stop the conduit and send a bunch of extra RTCP BYEs. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D59521

--HG--
extra : moz-landing-system : lando
2020-02-06 15:50:58 +00:00
Byron Campen [:bwc] 4d3a18f5ff Bug 1591199: Use correct time-base for rtcp stats comparison. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D59519

--HG--
extra : moz-landing-system : lando
2020-02-06 15:50:45 +00:00
Byron Campen [:bwc] a029828313 Bug 1591199: Reduce redundant code. r=mjf,smaug
Differential Revision: https://phabricator.services.mozilla.com/D56404

--HG--
extra : moz-landing-system : lando
2020-02-06 15:50:03 +00:00
Byron Campen [:bwc] fb466ae3cb Bug 1591199: Queue updates to pending/current descriptions. r=mjf,jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D56403

--HG--
extra : moz-landing-system : lando
2020-02-06 15:49:50 +00:00
Byron Campen [:bwc] cc8b304d22 Bug 1591199: Task queueing fixes in c++ r=jib
Differential Revision: https://phabricator.services.mozilla.com/D56395

--HG--
extra : moz-landing-system : lando
2020-02-06 15:49:05 +00:00
Nico Grunbaum f81beba455 Bug 1611486 - P2 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
c380e97ee6

Differential Revision: https://phabricator.services.mozilla.com/D61001

--HG--
extra : moz-landing-system : lando
2020-01-30 05:26:08 +00:00
Nico Grunbaum 6a8f257529 Bug 1611486 - P1 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
4b47dd39a7

Differential Revision: https://phabricator.services.mozilla.com/D61000

--HG--
extra : moz-landing-system : lando
2020-01-30 05:47:41 +00:00
Bogdan Tara f1e0a083bc Backed out 2 changesets (bug 1611486) for bustages complaining about mouse_cursor_monitor.h and desktop_and_cursor_composer.h CLOSED TREE
Backed out changeset 881eb2c2d312 (bug 1611486)
Backed out changeset 50c7ba45875b (bug 1611486)
2020-01-28 00:48:40 +02:00
Nico Grunbaum b76919a7e5 Bug 1611486 - P2 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
c380e97ee6

Depends on D61000

Differential Revision: https://phabricator.services.mozilla.com/D61001

--HG--
extra : moz-landing-system : lando
2020-01-24 18:52:30 +00:00
Nico Grunbaum 0f2770c78b Bug 1611486 - P1 - Cherry-pick webrct desktop sharing X hang fixes;r=dminor
4b47dd39a7

Differential Revision: https://phabricator.services.mozilla.com/D61000

--HG--
extra : moz-landing-system : lando
2020-01-24 19:01:49 +00:00
Dan Minor e5395de882 Bug 1607205 - Reset RtcpEventObserver when deleting channels; r=ng
Holding a RefPtr to this in OnRtcpBye should keep the VideoConduit alive until
the callback completes. If this is not happening, it is likely that we're
racing with the destructor on the other thread. Clearing the callback early
will prevent this. This should not affect the VideoConduit because in that case
the callback is directly part of the receive stream, not attached to a channel.

Differential Revision: https://phabricator.services.mozilla.com/D60658

--HG--
extra : moz-landing-system : lando
2020-01-24 19:55:13 +00:00
Jan-Ivar Bruaroey f79191282b Bug 1598543 - Cleanup upstream constants to also use size instead of length. r=dminor
Depends on D58144

Differential Revision: https://phabricator.services.mozilla.com/D58157

--HG--
extra : moz-landing-system : lando
2020-01-21 21:59:35 +00:00
Coroiu Cristina 73c0827187 Backed out 2 changesets (bug 1322095) for build bustage at dist/include/mtransport/runnable_utils.h on a CLOSED TREE
Backed out changeset 14e115ba7f12 (bug 1322095)
Backed out changeset 078c0fe497b7 (bug 1322095)
2020-01-23 19:50:51 +02:00
Eric Rahm e120eee6b8 Bug 1322095 - Part 1b: Update callbacks to support moved args and convert nsAutoPtr usage. r=jya
In order to support the update to move args when invoking callbacks we:
 - Convert anything that was using WrapRunnable with `nsAutoPtr` to `UniquePtr`
 - Convert anything that was using a non-const ref as a param to either a
   const ref or a by-val copy

Addtionally we convert the remaining `nsAutoPtr` usage to `UniquePtr`.

Differential Revision: https://phabricator.services.mozilla.com/D59961

--HG--
extra : moz-landing-system : lando
2020-01-23 17:38:18 +00:00
Ciure Andrei 130717e496 Backed out 16 changesets (bug 1591199) for causing mda failures CLOSED TREE
Backed out changeset cd44655b2740 (bug 1591199)
Backed out changeset a67f2a68965d (bug 1591199)
Backed out changeset 9ae196dc62b9 (bug 1591199)
Backed out changeset dc0ab0642f92 (bug 1591199)
Backed out changeset 96091b875760 (bug 1591199)
Backed out changeset 5811f7b48aee (bug 1591199)
Backed out changeset 8ba6518dfd42 (bug 1591199)
Backed out changeset ac47d18c085c (bug 1591199)
Backed out changeset 897e8de078fa (bug 1591199)
Backed out changeset 3bc58d0f0b35 (bug 1591199)
Backed out changeset 55a69e5443ab (bug 1591199)
Backed out changeset 4973bd5df42d (bug 1591199)
Backed out changeset 48bfe1c627e1 (bug 1591199)
Backed out changeset a1a1f71b91fc (bug 1591199)
Backed out changeset 447c8b096f5a (bug 1591199)
Backed out changeset 7e67ac9f5591 (bug 1591199)
2020-01-23 07:54:16 +02:00
Byron Campen [:bwc] c035458265 Bug 1591199: Don't assert when a candidate is gathered for a transceiver that is not associated, since that can happen in certain rollback scenarios. r=mjf
Depends on D60308

Differential Revision: https://phabricator.services.mozilla.com/D60309

--HG--
extra : moz-landing-system : lando
2020-01-22 02:49:47 +00:00
Byron Campen [:bwc] 3a032d2e6e Bug 1591199: Fix a race where sRD(offer) could mute a track, then an RTP packet could arrive that unmutes it before negotiation completed, this time without needing to stop the conduit and send a bunch of extra RTCP BYEs. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D59521

--HG--
extra : moz-landing-system : lando
2020-01-17 20:42:31 +00:00
Byron Campen [:bwc] 38683c83e0 Bug 1591199: Use correct time-base for rtcp stats comparison. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D59519

--HG--
extra : moz-landing-system : lando
2020-01-17 20:42:19 +00:00
Byron Campen [:bwc] ef05245396 Bug 1591199: Reduce redundant code. r=mjf,smaug
Differential Revision: https://phabricator.services.mozilla.com/D56404

--HG--
extra : moz-landing-system : lando
2020-01-22 13:34:52 +00:00
Byron Campen [:bwc] 684cbd078e Bug 1591199: Queue updates to pending/current descriptions. r=mjf,jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D56403

--HG--
extra : moz-landing-system : lando
2020-01-22 13:34:14 +00:00
Byron Campen [:bwc] c8592cdfc2 Bug 1591199: Task queueing fixes in c++ r=jib
Differential Revision: https://phabricator.services.mozilla.com/D56395

--HG--
extra : moz-landing-system : lando
2020-01-17 20:40:13 +00:00
Cosmin Sabou 3c58f21e22 Backed out changeset f117d9332a08 (bug 1607205) for causing gtest crashes. 2020-01-22 20:12:54 +02:00
Dan Minor 30ead31cc6 Bug 1607205 - Reset RtcpEventObserver when deleting receive stream; r=ng
Holding a RefPtr to this in OnRtcpBye should keep the VideoConduit alive until
the callback completes. If this is not happening, it is likely that we're
racing with the destructor on the other thread. Clearing the callback early
will prevent this. This should not affect the VideoConduit because in that case
the callback is directly part of the receive stream, not attached to a channel.

Differential Revision: https://phabricator.services.mozilla.com/D60658

--HG--
extra : moz-landing-system : lando
2020-01-22 16:06:28 +00:00
Jan-Ivar Bruaroey 85c420c220 Bug 1547106: Throw OperationError in createDataChannel() if id in use. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D60569

--HG--
extra : moz-landing-system : lando
2020-01-22 14:20:26 +00:00
Alex Chronopoulos 53c369d992 Bug 1608877 - Ignore async transmission start if a new stop has arrived. r=padenot
In `MediaPipelineTransmit::SetTrack()` when a track of different MTG is replaced, the transmission is stopped and restarted asynchronously. This can create a problem if a new stop has arrived in the meantime. The transmission should not be restarted in that case.

This change adds a boolean, to check when an asynchronous start is expected and ignores it if not needed.

Differential Revision: https://phabricator.services.mozilla.com/D59750

--HG--
extra : moz-landing-system : lando
2020-01-21 09:23:43 +00:00
Emilio Cobos Álvarez 256c124f94 Bug 1609996 - Reorder some includes affected by the previous patches. r=froydnj
This was done by:

This was done by applying:

```
diff --git a/python/mozbuild/mozbuild/code-analysis/mach_commands.py b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
index 789affde7bbf..fe33c4c7d4d1 100644
--- a/python/mozbuild/mozbuild/code-analysis/mach_commands.py
+++ b/python/mozbuild/mozbuild/code-analysis/mach_commands.py
@@ -2007,7 +2007,7 @@ class StaticAnalysis(MachCommandBase):
         from subprocess import Popen, PIPE, check_output, CalledProcessError

         diff_process = Popen(self._get_clang_format_diff_command(commit), stdout=PIPE)
-        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format]
+        args = [sys.executable, clang_format_diff, "-p1", "-binary=%s" % clang_format, '-sort-includes']

         if not output_file:
             args.append("-i")
```

Then running `./mach clang-format -c <commit-hash>`

Then undoing that patch.

Then running check_spidermonkey_style.py --fixup

Then running `./mach clang-format`

I had to fix four things:

 * I needed to move <utility> back down in GuardObjects.h because I was hitting
   obscure problems with our system include wrappers like this:

0:03.94 /usr/include/stdlib.h:550:14: error: exception specification in declaration does not match previous declaration
0:03.94 extern void *realloc (void *__ptr, size_t __size)
0:03.94              ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/malloc_decls.h:53:1: note: previous declaration is here
0:03.94 MALLOC_DECL(realloc, void*, void*, size_t)
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozilla/mozalloc.h:22:32: note: expanded from macro 'MALLOC_DECL'
0:03.94     MOZ_MEMORY_API return_type name##_impl(__VA_ARGS__);
0:03.94                                ^
0:03.94 <scratch space>:178:1: note: expanded from here
0:03.94 realloc_impl
0:03.94 ^
0:03.94 /home/emilio/src/moz/gecko-2/obj-debug/dist/include/mozmemory_wrap.h:142:41: note: expanded from macro 'realloc_impl'
0:03.94 #define realloc_impl mozmem_malloc_impl(realloc)

   Which I really didn't feel like digging into.

 * I had to restore the order of TrustOverrideUtils.h and related files in nss
   because the .inc files depend on TrustOverrideUtils.h being included earlier.

 * I had to add a missing include to RollingNumber.h

 * Also had to partially restore include order in JsepSessionImpl.cpp to avoid
   some -WError issues due to some static inline functions being defined in a
   header but not used in the rest of the compilation unit.

Differential Revision: https://phabricator.services.mozilla.com/D60327

--HG--
extra : moz-landing-system : lando
2020-01-20 16:19:48 +00:00
Emilio Cobos Álvarez aa3a695712 Bug 1609996 - Remove mozilla/Move.h. r=froydnj
rg -l 'mozilla/Move.h' | xargs sed -i 's/#include "mozilla\/Move.h"/#include <utility>/g'

Further manual fixups and cleanups to the include order incoming.

Differential Revision: https://phabricator.services.mozilla.com/D60323

--HG--
extra : moz-landing-system : lando
2020-01-20 16:18:20 +00:00
Dan Minor 65d8a501e7 Bug 1605815 - Defer registering hostnames until StartIceChecks; r=mjf
Currently we register mDNS hostnames when we gather the local interfaces. By
waiting until StartIceChecks is called, it is less likely that we will end up
starting the mdns_service for a site which is not using WebRTC for
communication. This is more efficient, and avoids surprises like triggering
the Windows Firewall dialog for sites which are using WebRTC to gather local
IP addresses.

Differential Revision: https://phabricator.services.mozilla.com/D59765

--HG--
extra : moz-landing-system : lando
2020-01-13 23:05:25 +00:00
Aaron Klotz 62c88b3762 Bug 1608577: Part 2 - Remove |using namespace mozilla::java| from webrtc; r=bwc
Depends on D59796

Differential Revision: https://phabricator.services.mozilla.com/D59797

--HG--
extra : moz-landing-system : lando
2020-01-14 14:32:03 +00:00
Dan Minor 4e67f4e69b Bug 1547354 - Hold mMutex during stats calls; r=ng
We did this for the VideoConduit in Bug 1404992, but not for the AudioConduit
because of the ongoing webrtc.org upstream merge.

Differential Revision: https://phabricator.services.mozilla.com/D59424

--HG--
extra : moz-landing-system : lando
2020-01-10 15:08:04 +00:00
Sylvestre Ledru c521758c5e Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D58175

--HG--
extra : moz-landing-system : lando
2020-01-09 21:50:11 +00:00
Dan Minor cf2f3f94a1 Bug 1607579 - Add pref to disable mute on RTCP bye or timeout; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D59163

--HG--
extra : moz-landing-system : lando
2020-01-08 19:07:46 +00:00
Dan Minor fad95a456d Bug 1604497 - Avoid division by zero in I420Buffer::CropAndScaleFrom; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D58150

--HG--
extra : moz-landing-system : lando
2019-12-24 19:45:51 +00:00
John Lin 28491d1c76 Bug 1599799 - p2: discard frame when callback is invalid. r=jya
Client of WebrtcMediaDataEncoder unregisters callback before calling
Shutdown(). When a pending encode promise gets resolved after that,
it will cause null pointer error.

Differential Revision: https://phabricator.services.mozilla.com/D55760

--HG--
extra : moz-landing-system : lando
2020-01-06 12:00:34 +00:00
Dan Minor b375bb6973 Bug 1605419 - Use GetDocumentURI instead of GetDocBaseURI for hostname obfuscation whitelist; r=jib
Differential Revision: https://phabricator.services.mozilla.com/D58040

--HG--
extra : moz-landing-system : lando
2019-12-23 11:10:16 +00:00
Dan Minor d0477ca760 Bug 1595479 - Remove unnecessary StartTransmitting from ConfigureSendMediaCodec; r=ng
We don't need to start transmitting until the transceiver asks us to. Doing
this early leads to creating and tearing down an audio send stream
unnecessarily, generating extra RTCP byes. These changes make the behaviour
consistent with the VideoConduit version.

Differential Revision: https://phabricator.services.mozilla.com/D57864

--HG--
extra : moz-landing-system : lando
2019-12-20 20:55:54 +00:00
Dan Minor 34ce54c77a Bug 1595479 - Remove unnecessary cast from UpdateConduitRtpExtmap; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57863

--HG--
extra : moz-landing-system : lando
2019-12-20 20:55:26 +00:00
Dan Minor d67ce316c5 Bug 1595479 - Call Stop as part of Transceiver shutdown; r=ng
This consolidates the shutdown code and ensures that an RTCP bye is sent
as part of tearing down a PeerConnection.

Differential Revision: https://phabricator.services.mozilla.com/D57861

--HG--
extra : moz-landing-system : lando
2019-12-20 20:55:03 +00:00
Dan Minor f50ddd24b2 Bug 1595479 - Add RtcpEventObserver to Conduits and Transceiver; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57860

--HG--
extra : moz-landing-system : lando
2019-12-20 20:54:35 +00:00
Dan Minor 0cd4afab2d Bug 1595479 - Plumb RtcpEventObserver through Channel and VideoReceiveStream; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57859

--HG--
extra : moz-landing-system : lando
2019-12-20 20:53:56 +00:00
Dan Minor f3e464071c Bug 1595479 - Add RtcpEventObserver to RtcpReceiver; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D57858

--HG--
extra : moz-landing-system : lando
2019-12-20 20:53:19 +00:00
Nico Grunbaum 8ef8e3598b Bug 1602739 - P2 - make opaque stats IDs in PeerConnectionImpl;r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D57949

--HG--
extra : moz-landing-system : lando
2019-12-20 20:20:34 +00:00
Nico Grunbaum 271de92265 Bug 1602739 - P1 - Add stats ID generator;r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D57948

--HG--
extra : moz-landing-system : lando
2019-12-20 20:41:21 +00:00
Alex Chronopoulos 1bb4949d41 Bug 1604746 - Start the pipeline after stopping to avoid thread races. r=padenot
With tracks in different MTGs we risk of having thread races if we stop and start immediatelly. Previously, stoping and starting was happenign to the same MTG so this problem did not exist. This change wires a promise in the `MediaTrack::RemoveListener` method and perform the start when that step has been completed.

Differential Revision: https://phabricator.services.mozilla.com/D57947

--HG--
extra : moz-landing-system : lando
2019-12-20 17:03:42 +00:00
Alex Chronopoulos 59fb3dc5da Bug 1604746 - Recreate the send track in the MTG of the provided track if they belong to different MTGs. r=padenot
In `MediaPipelineTransmit::SetTrack()` the provided `MediaStreamTrack` connects to the existing send-track. This step crashes if the two tracks belong to different MTGs. With this change, when the two tracks belong to different MTGs, the existing send-track is stopped and deleted and a new send-track is created in the same MTG with the provided `MediaStreamTrack`.

Differential Revision: https://phabricator.services.mozilla.com/D57627

--HG--
extra : moz-landing-system : lando
2019-12-20 15:13:56 +00:00
Michael Froman 762801c6fa Bug 1548318 - pt 2 - fix a typo in PeerConnectionMedia::FlushIceCtxOperationQueueIfReady. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56814

--HG--
extra : moz-landing-system : lando
2019-12-18 18:47:34 +00:00
Michael Froman 21bf0d2c35 Bug 1548318 - pt 1 - get new local addrs when gathering ICE candidates after ICE restart. r=bwc
- Convert to a StunAddrRequestState enum so there is now a pending state,
    rather than just done/not done.  This is to make sure we don't have
    multiple stun addrs requests in flight at the same time.
  - Reset the stun addrs in PeerConnectionMedia from PeerConnectionImpl when
    PeerConnectionImpl::SetSignalingState_m detects ICE restart in an offer.
  - GatherIfReady will now request new stun addrs if none are available.

Differential Revision: https://phabricator.services.mozilla.com/D55883

--HG--
extra : moz-landing-system : lando
2019-12-19 15:19:11 +00:00
Nico Grunbaum 76dcc2f02b Bug 1601561 - Move parser names to static functions.;r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D57131

--HG--
extra : moz-landing-system : lando
2019-12-16 14:07:13 +00:00
Byron Campen [:bwc] 3ec709712b Bug 1408256: Fix bug where renegotiation would un-set a previously negotiated max-fs. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D55890

--HG--
extra : moz-landing-system : lando
2019-12-17 19:45:00 +00:00
Byron Campen [:bwc] d4420e0bb9 Bug 1408256: Tests for bug. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D55889

--HG--
extra : moz-landing-system : lando
2019-12-17 19:19:01 +00:00
Dan Minor e3b31c2c02 Bug 1603790 - Only add unobfuscated addresses to mSignaledAddresses; r=mjf
We should only add a hostname to mSignaledAddresses if it is not obfuscated.
Prior to Bug 1567201 this was handled by an early exit in
MediaTransportHandlerSTS::AddIceCandidate if the address was obfuscated.
With the changes in Bug 1567201, that early exit went away and we're now adding
all addresses to mSignaledAddresses which breaks hiding prflx and srflx
addresses. Unfortunately, this is not something that easily unit testable.

Differential Revision: https://phabricator.services.mozilla.com/D57140

--HG--
extra : moz-landing-system : lando
2019-12-16 21:05:46 +00:00
Nico Grunbaum 2cfc1ded7d Bug 1598923 - Fix known WEBRTCSDP issues blocking parallel parsing mode in Nightly;r=drno
Bug 1598923 - P1 - Remove use of description API and use format in SDP rust to C bindings;r?drno

Bug 1598923 - P2 - Add pref to select strictness of SDP parsing success;r?drno

Bug 1598923 - P3 - Update to WEBRTC-SDP 0.3.2;r?drno

Bug 1598923 - P4 - update to WEBRTC-SDP 0.3.3;r?mjf

Bug 1598923 - P5 - Adapt channel handling to WEBRTC-SDP changes;r?mjf

Differential Revision: https://phabricator.services.mozilla.com/D55211

--HG--
extra : moz-landing-system : lando
2019-12-13 08:17:16 +00:00
Jeff Walden e57173377f Bug 1439659 - Make |MOZ_{LITTLE,BIG}_ENDIAN| into function macros so that invoking them inside |#if| conditions when they haven't been defined yet is a compile error. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D57038

--HG--
extra : moz-landing-system : lando
2019-12-13 20:51:04 +00:00
Andreas Pehrson 486a4ba711 Bug 1601034 - Do not block main thread in mediapipeline_unittest.cpp. r=bwc
The STS thread dispatches SyncRunnables to main thread. There are two cases of
blocking affected here:
- SyncRunnables from main to STS:
  Can cause a deadlock.
- PR_Sleep on the main thread:
  Effectively sleeps STS too, if STS dispatches a SyncRunnable to main during
  main's sleep.

This patch gets rid of both of these.

Depends on D57001

Differential Revision: https://phabricator.services.mozilla.com/D57003

--HG--
extra : moz-landing-system : lando
2019-12-12 21:50:06 +00:00
Andreas Pehrson a13470c3da Bug 1601034 - Set the MediaPipelineTransmit send track in a dedicated method to enable unit tests. r=bwc
Depends on D56620

Differential Revision: https://phabricator.services.mozilla.com/D57001

--HG--
extra : moz-landing-system : lando
2019-12-12 21:50:14 +00:00
Andreas Pehrson af57fdc27d Bug 1601034 - Only update the conduit in replaceTrack() if the track source changed between camera and non-camera. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56620

--HG--
extra : moz-landing-system : lando
2019-12-12 21:39:26 +00:00
Andreas Pehrson d03a022cc6 Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
Before this patch, if a send audio MediaStreamTrack ended, we ended up not
sending anything over the network. If replaceTrack() at that point replaced the
ended track with a live one, we'd start sending data again, but the rtp stream
would continue from where the previous track ended.

Having a gap in audio like that would confuse a receiver's *video* jitter
buffer, because it's trying to sync to an audio track that just had a massive
amount of "jitter" (it can't tell the difference).

This patch fixes this by adding a track layer in MediaPipelineTransmit that
remains active for as long as the MediaPipeline is active. Thus if the send
audio MediaStreamTrack ends, we continue sending silence over the network, which
the receiver can understand. If later replaced, the receiver sees real audio
instead of silence and continues gracefully.

Differential Revision: https://phabricator.services.mozilla.com/D56619

--HG--
extra : moz-landing-system : lando
2019-12-12 16:53:43 +00:00
Ciure Andrei dd135cd361 Backed out 2 changesets (bug 1601034) for causing gtest mediapipeline_unittest.cpp failures CLOSED TREE
Backed out changeset 6a429cfa6440 (bug 1601034)
Backed out changeset e17753103d27 (bug 1601034)
2019-12-12 18:48:01 +02:00
Andreas Pehrson d117c5de66 Bug 1601034 - Only update the conduit in replaceTrack() if the track source changed between camera and non-camera. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D56620

--HG--
extra : moz-landing-system : lando
2019-12-12 09:35:37 +00:00
Andreas Pehrson 02224ebfcd Bug 1601034 - Add a ProcessedMediaTrack layer in MediaPipelineTransmit to handle replaceTrack of ended tracks. r=dminor,padenot
Before this patch, if a send audio MediaStreamTrack ended, we ended up not
sending anything over the network. If replaceTrack() at that point replaced the
ended track with a live one, we'd start sending data again, but the rtp stream
would continue from where the previous track ended.

Having a gap in audio like that would confuse a receiver's *video* jitter
buffer, because it's trying to sync to an audio track that just had a massive
amount of "jitter" (it can't tell the difference).

This patch fixes this by adding a track layer in MediaPipelineTransmit that
remains active for as long as the MediaPipeline is active. Thus if the send
audio MediaStreamTrack ends, we continue sending silence over the network, which
the receiver can understand. If later replaced, the receiver sees real audio
instead of silence and continues gracefully.

Differential Revision: https://phabricator.services.mozilla.com/D56619

--HG--
extra : moz-landing-system : lando
2019-12-12 15:23:43 +00:00
Gabriele Svelto 69790bc62e Bug 1600545 - Remove useless inclusions of header files generated from IDL files in accessible/, browser/, caps/, chrome/, devtools/, docshell/, editor/, extensions/, gfx/, hal/, image/, intl/, ipc/, js/, layout/, and media/ r=Ehsan
The inclusions were removed with the following very crude script and the
resulting breakage was fixed up by hand. The manual fixups did either
revert the changes done by the script, replace a generic header with a more
specific one or replace a header with a forward declaration.

find . -name "*.idl" | grep -v web-platform | grep -v third_party | while read path; do
    interfaces=$(grep "^\(class\|interface\).*:.*" "$path" | cut -d' ' -f2)
    if [ -n "$interfaces" ]; then
        if [[ "$interfaces" == *$'\n'* ]]; then
          regexp="\("
          for i in $interfaces; do regexp="$regexp$i\|"; done
          regexp="${regexp%%\\\|}\)"
        else
          regexp="$interfaces"
        fi
        interface=$(basename "$path")
        rg -l "#include.*${interface%%.idl}.h" . | while read path2; do
            hits=$(grep -v "#include.*${interface%%.idl}.h" "$path2" | grep -c "$regexp" )
            if [ $hits -eq 0 ]; then
                echo "Removing ${interface} from ${path2}"
                grep -v "#include.*${interface%%.idl}.h" "$path2" > "$path2".tmp
                mv -f "$path2".tmp "$path2"
            fi
        done
    fi
done

Differential Revision: https://phabricator.services.mozilla.com/D55443

--HG--
extra : moz-landing-system : lando
2019-12-06 09:16:44 +00:00
june wilde bb30244e33 Bug 1395259 - Remove win32k usage from webrtc's TaskQueue; r=dminor
Removes calls to the win32k API.
Replaces hardware and event timers with waitable timers.
Removes handling various task objects through the thread message queue.
Removes ProcessQueuedMessages, CancelTimers functions.
Adds event handle for stopping the TaskQueue thread.
Adds ReplyHandler class as an in between for TaskQueue objects to post tasks to each other without worrying if the other TaskQueue remains valid.
Adds rtc::CriticalSection's for timer_tasks_.
Removes ThreadState scoped class.

Differential Revision: https://phabricator.services.mozilla.com/D43480

--HG--
extra : moz-landing-system : lando
2019-11-25 16:11:32 +00:00
Nico Grunbaum f77baeeca3 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

Differential Revision: https://phabricator.services.mozilla.com/D52749

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:52 +00:00
Nico Grunbaum 76b1352f58 Bug 1570549 - P7 - Add SDP pref defaults; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52329

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:44 +00:00
Nico Grunbaum 44bb324bfb Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:37 +00:00
Nico Grunbaum 94a27a1007 Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:29 +00:00
Nico Grunbaum b4fb3512e5 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:22 +00:00
Nico Grunbaum 3428e183af Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:10 +00:00
Nico Grunbaum 53b0127879 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-24 03:45:02 +00:00
Nico Grunbaum 0abad4cc61 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-24 03:44:55 +00:00
Brindusan Cristian 1cde1fcaf7 Backed out 8 changesets (bug 1570549) for wpt failures at RTCTrackEvent-fire.html.
Backed out changeset 1d487300d143 (bug 1570549)
Backed out changeset 7d4be5f410c9 (bug 1570549)
Backed out changeset d328f63d66a8 (bug 1570549)
Backed out changeset e0dbf967bc68 (bug 1570549)
Backed out changeset 3469d786723d (bug 1570549)
Backed out changeset 1435516b2085 (bug 1570549)
Backed out changeset 3364ed9a7862 (bug 1570549)
Backed out changeset 94346355a426 (bug 1570549)

--HG--
rename : media/webrtc/signaling/src/sdp/SdpParser.h => media/webrtc/signaling/src/sdp/SdpErrorHolder.h
2019-11-23 11:24:03 +02:00
Nico Grunbaum ab7812c038 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

Differential Revision: https://phabricator.services.mozilla.com/D52749

--HG--
extra : moz-landing-system : lando
2019-11-23 04:46:07 +00:00
Nico Grunbaum 6b9797515a Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:47 +00:00
Nico Grunbaum 730d3c6f69 Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:40 +00:00
Nico Grunbaum e41c1d95b1 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:33 +00:00
Nico Grunbaum 195e8eaf1f Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:31 +00:00
Nico Grunbaum 0f880559e0 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-23 04:45:23 +00:00
Nico Grunbaum f1362ebca3 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-23 04:45:21 +00:00
Noemi Erli 2871c44dd4 Backed out 8 changesets (bug 1570549) for causing build bustages in sdp_unittests.cpp CLOSED TREE
Backed out changeset 0574444bda48 (bug 1570549)
Backed out changeset 19c2658031e2 (bug 1570549)
Backed out changeset 0817d4ca061d (bug 1570549)
Backed out changeset 629c2fec174c (bug 1570549)
Backed out changeset 3bfbbda57d4c (bug 1570549)
Backed out changeset ac4ef8625479 (bug 1570549)
Backed out changeset dc0e0e020273 (bug 1570549)
Backed out changeset 94df2bb99c20 (bug 1570549)

--HG--
rename : media/webrtc/signaling/src/sdp/SdpParser.h => media/webrtc/signaling/src/sdp/SdpErrorHolder.h
2019-11-23 04:45:55 +02:00
Nico Grunbaum ecd11a5b59 Bug 1570549 - P8 - Restore SDP comparison telemetry;r=bwc
This moves the telemetry and preferences out into their own files and restores the parse result telemetery.

Differential Revision: https://phabricator.services.mozilla.com/D52749

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:34 +00:00
Nico Grunbaum 4e0f17d1a0 Bug 1570549 - P6 - Use hybrid parser in JsepSessionImpl; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52328

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:28 +00:00
Nico Grunbaum 7d5e889eeb Bug 1570549 - P5 - Adding shim SDP parsing interface with pref controls - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52327

--HG--
extra : moz-landing-system : lando
2019-11-22 23:42:26 +00:00
Nico Grunbaum e1a21a71f6 Bug 1570549 - P4 - Refactor parsing comparison entry point - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52326

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:27 +00:00
Nico Grunbaum 17a87d116f Bug 1570549 - P3 - Add SDP logger; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52325

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:19 +00:00
Nico Grunbaum 61c3c8a467 Bug 1570549 - P2 - refactor unit tests - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52324

--HG--
extra : moz-landing-system : lando
2019-11-22 23:41:12 +00:00
Nico Grunbaum beefd85ad7 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

--HG--
rename : media/webrtc/signaling/src/sdp/SdpErrorHolder.h => media/webrtc/signaling/src/sdp/SdpParser.h
extra : moz-landing-system : lando
2019-11-22 23:41:05 +00:00
Jed Davis 4992ca410f Bug 1545504 - Strengthen bounds check in WebRTC PhysicalSocketServer. r=jesup
PhysicalSocketServer isn't currently used by Mozilla's WebRTC
integration, but just in case, let's make sure that this array index is
bounds-checked in actual use, not just in debug builds (which tend to
never see realistic test conditions).

Differential Revision: https://phabricator.services.mozilla.com/D52745

--HG--
extra : moz-landing-system : lando
2019-11-17 03:40:50 +00:00
Nico Grunbaum 975181c5f0 Bug 1580156 - set WebRTC thread name r=dmajor
Differential Revision: https://phabricator.services.mozilla.com/D51975

--HG--
extra : moz-landing-system : lando
2019-11-07 20:22:42 +00:00
Sylvestre Ledru c786684183 Bug 1562642 - add missing license in media/webrtc/signaling/src/sdp/ r=drno
Depends on D52582

Differential Revision: https://phabricator.services.mozilla.com/D52583

--HG--
extra : moz-landing-system : lando
2019-11-11 21:42:41 +00:00
Dan Minor 1945617175 Bug 1592620 - Add whitelist for mDNS hostname obfuscation; r=bwc
This adds a whitelist of domains for which mDNS hostname obfuscation is
disabled. The implementation is an updated version of the old screensharing
whitelist code.

Differential Revision: https://phabricator.services.mozilla.com/D52012

--HG--
extra : moz-landing-system : lando
2019-11-12 17:17:11 +00:00
Byron Campen [:bwc] c5a5c754d7 Bug 1588588: Get MediaPipeline to use the new timestamp implementation, and fix a typo in how we calculate expiries for CSRC stats. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D50113

--HG--
extra : moz-landing-system : lando
2019-11-07 23:07:09 +00:00
Byron Campen [:bwc] f5e5fe0d20 Bug 1588588: Remove jsimpl for RTCStatsReport, and refactor to prepare for moving some stats functionality to RTCRtpReceiver/Sender. r=smaug,ng
Differential Revision: https://phabricator.services.mozilla.com/D49195

--HG--
extra : moz-landing-system : lando
2019-11-07 23:07:05 +00:00
Brindusan Cristian 06dcacf2e7 Backed out changeset 0163a2b9ca5c (bug 1592620) for mochitest failures at test_dataChannel_hostnameObfuscationWhitelist.html. CLOSED TREE 2019-11-08 17:09:08 +02:00
Dan Minor 4438d45346 Bug 1592620 - Add whitelist for mDNS hostname obfuscation; r=bwc
This adds a whitelist of domains for which mDNS hostname obfuscation is
disabled. The implementation is an updated version of the old screensharing
whitelist code.

Differential Revision: https://phabricator.services.mozilla.com/D52012

--HG--
extra : moz-landing-system : lando
2019-11-07 20:59:29 +00:00
Dan Minor 8db9191ae9 Bug 1588817 - Only enable host obfuscation when running in content process; r=drno
The mDNS code makes use of the StunAddrsRequest which does not exist when
we are running with e10s disabled. If e10s is disabled, PeerConnectionMedia
will not be in the content process, and we can disable hostname obfuscation
in that case.

Differential Revision: https://phabricator.services.mozilla.com/D51986

--HG--
extra : moz-landing-system : lando
2019-11-06 18:04:31 +00:00
Andreas Pehrson ad9fc60102 Bug 1588055 - Remove use of nsAutoPtr in MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49239

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:00 +00:00
Andreas Pehrson 28c99e5390 Bug 1588055 - Fix MediaPipeline static-analysis warnings and make RefPtr passing consistent. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48957

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:02 +00:00
Andreas Pehrson 494c9c3aad Bug 1212237 - Use a content principal by default for received tracks. r=bwc
This swaps things around so that received tracks in peer connections have a
content principal instead of a null principal initially.

This puts an extra requirement on us to not output any frames under the content
principal after ALPN has been negotiated with requested privacy, but before this
private principal has been signaled to the MediaPipelines. The private principal
is signaled from the STS thread, via the main thread, whereas media is consumed
directly by MediaPipelines after being received on the STS thread.

This patch adds an extra signaling path directly from the STS thread that tells
MediaPipelines to make their PrincipalHandle private, and to ignore any data
until the private PrincipalHandle is set. It also moves the responsibility of
updating the principal of the received MediaStreamTracks from TransceiverImpl
to MediaPipeline, so it's all in the same path.

This lets all MediaStream and MediaStreamTrack APIs consume received tracks
directly after getting exposed to JS without errors. In case privacy is later
requested, consumers that have already been set up must handle this on the fly.
(They do, in specs and impls)

Differential Revision: https://phabricator.services.mozilla.com/D48947

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:04 +00:00
Andreas Pehrson 8624ea2658 Bug 1212237 - s/nsIEventTarget/nsISerialEventTarget/ in media/webrtc. r=bwc
nsISerialEventTarget is more semantically accurate for these uses, as the
dispatched runnables cannot run in parallel. It also allows us to use
InvokeAsync in future patches, as that function only takes nsISerialEventTarget.

Differential Revision: https://phabricator.services.mozilla.com/D49262

--HG--
extra : moz-landing-system : lando
2019-11-06 05:10:58 +00:00
Andreas Pehrson c39989d19a Bug 1212237 - Be explicit about principals for received tracks. r=bwc
This patch fixes two things:
1) A potential threading issue in setting and reading the PrincipalHandle for
   MediaPipelineReceiveVideo.
2) Plumbs the PrincipalHandle down to the receiving MediaPipelines right from
   the start. It hasn't been necessary in the past as initially the principal
   handed to a track's constructor is trusted, but it's good form and will help
   clarify the situation for the next patch which switches the initial
   principal from always-private to mostly-non-private. In most cases this
   principal does no longer get updated after the track's been created, so it
   helps to have a PrincipalHandle that matches the track's principal.

Differential Revision: https://phabricator.services.mozilla.com/D48946

--HG--
extra : moz-landing-system : lando
2019-11-06 05:11:06 +00:00
Brindusan Cristian 56bcd62c3a Backed out 7 changesets (bug 1212237, bug 1588055) for mochitest failures at test_peerConnection_recordReceiveTrack.html.
Backed out changeset 15f2829db807 (bug 1588055)
Backed out changeset bbff556beb57 (bug 1588055)
Backed out changeset c3f52449c92c (bug 1212237)
Backed out changeset c23272ab755f (bug 1212237)
Backed out changeset 184b8485ae32 (bug 1212237)
Backed out changeset e406c203d2a9 (bug 1212237)
Backed out changeset 4adcbfd99da0 (bug 1212237)
2019-11-06 07:06:02 +02:00
Andreas Pehrson 199b843bd7 Bug 1588055 - Remove use of nsAutoPtr in MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49239

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:59 +00:00
Andreas Pehrson 13a4cca896 Bug 1588055 - Fix MediaPipeline static-analysis warnings and make RefPtr passing consistent. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48957

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:52 +00:00
Andreas Pehrson 18c4e9ab29 Bug 1212237 - Use a content principal by default for received tracks. r=bwc
This swaps things around so that received tracks in peer connections have a
content principal instead of a null principal initially.

This puts an extra requirement on us to not output any frames under the content
principal after ALPN has been negotiated with requested privacy, but before this
private principal has been signaled to the MediaPipelines. The private principal
is signaled from the STS thread, via the main thread, whereas media is consumed
directly by MediaPipelines after being received on the STS thread.

This patch adds an extra signaling path directly from the STS thread that tells
MediaPipelines to make their PrincipalHandle private, and to ignore any data
until the private PrincipalHandle is set. It also moves the responsibility of
updating the principal of the received MediaStreamTracks from TransceiverImpl
to MediaPipeline, so it's all in the same path.

This lets all MediaStream and MediaStreamTrack APIs consume received tracks
directly after getting exposed to JS without errors. In case privacy is later
requested, consumers that have already been set up must handle this on the fly.
(They do, in specs and impls)

Differential Revision: https://phabricator.services.mozilla.com/D48947

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:45 +00:00
Andreas Pehrson 0b04e39974 Bug 1212237 - s/nsIEventTarget/nsISerialEventTarget/ in media/webrtc. r=bwc
nsISerialEventTarget is more semantically accurate for these uses, as the
dispatched runnables cannot run in parallel. It also allows us to use
InvokeAsync in future patches, as that function only takes nsISerialEventTarget.

Differential Revision: https://phabricator.services.mozilla.com/D49262

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:29 +00:00
Andreas Pehrson b009f6cd63 Bug 1212237 - Be explicit about principals for received tracks. r=bwc
This patch fixes two things:
1) A potential threading issue in setting and reading the PrincipalHandle for
   MediaPipelineReceiveVideo.
2) Plumbs the PrincipalHandle down to the receiving MediaPipelines right from
   the start. It hasn't been necessary in the past as initially the principal
   handed to a track's constructor is trusted, but it's good form and will help
   clarify the situation for the next patch which switches the initial
   principal from always-private to mostly-non-private. In most cases this
   principal does no longer get updated after the track's been created, so it
   helps to have a PrincipalHandle that matches the track's principal.

Differential Revision: https://phabricator.services.mozilla.com/D48946

--HG--
extra : moz-landing-system : lando
2019-11-05 20:04:15 +00:00
Jan-Ivar Bruaroey d60ad185ac Bug 1593161 - Fixed video capturing on Mac. (from upstream) r=pehrsons
On specific Macbooks (no exact pattern, unfortunately),
video from an integrated camera is not captured.
Changed AVCaptureVideoDataOutput pixel format configuration
as in Chromium which solved the problem.
https://chromium.googlesource.com/chromium/src/media/+/master/capture/video/mac/video_capture_device_avfoundation_mac.mm
FourCharCode best_fourcc = kCVPixelFormatType_422YpCbCr8;

Tested with external cameras as well.

Bug: webrtc:8958

Differential Revision: https://phabricator.services.mozilla.com/D51733

--HG--
extra : moz-landing-system : lando
2019-11-05 08:07:48 +00:00
Byron Campen [:bwc] fa9fb525b5 Bug 1470568: Remove the rid= and pt= stuff from our simulcast parsing. Also, handle paused rids correctly. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47658

--HG--
extra : moz-landing-system : lando
2019-11-04 15:04:14 +00:00
Nils Ohlmeier [:drno] 7483f82422 Bug 1591854: properly count active track in CountTracks(). r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D50774

--HG--
extra : moz-landing-system : lando
2019-10-31 19:36:00 +00:00
Dan Minor e032a7e2a3 Bug 1372950 - Enable mediapipeline_unittest on Windows; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D51283

--HG--
extra : moz-landing-system : lando
2019-10-31 15:25:15 +00:00
Dan Minor 3b09f09a9d Bug 1420893 - Remove mediaconduit_unittests; r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D50971

--HG--
extra : moz-landing-system : lando
2019-10-30 11:31:23 +00:00
Dan Minor 1f3dd67cb9 Bug 1543622 - Make number of channels out param of GetAudioFrame; r=pehrsons
The number of channels is available in mAudioFrame in GetAudioFrame so
there is no reason to calculate it after the fact in MediaPipeline.

Differential Revision: https://phabricator.services.mozilla.com/D50934

--HG--
extra : moz-landing-system : lando
2019-10-29 17:30:03 +00:00
Gabriele Svelto 550a8ee421 Bug 1590984 - Use poll() instead of select() in WebRTC code r=drno
The use of select() was leading to crashes when the file descriptor value was
larger than FD_SETSIZE. Recent versions of glibc have checks in the FD_CLR(),
FD_SET() and FD_ISSET() macros that will abort() the program instead of doing
an out-of-bounds access. poll() doesn't have limitations on the file
descriptor values and provides behavior that is otherwise identical to
select() thus solving the problem.

Differential Revision: https://phabricator.services.mozilla.com/D50798

--HG--
extra : moz-landing-system : lando
2019-10-28 23:26:12 +00:00
Dan Minor a7d0a8983c Bug 1380786 - Remove ICE candidate telemetry; r=bwc
This ICE candidate telemetry has not been used in a long time and in
addition requires special handling by the telemetry code. It is best
removed.

Differential Revision: https://phabricator.services.mozilla.com/D50656

--HG--
extra : moz-landing-system : lando
2019-10-25 20:24:15 +00:00
Nico Grunbaum 571742b7bd Bug 1583867 - add rtpTimestamp field to RTP sync/contrib sources; r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D47096

--HG--
extra : moz-landing-system : lando
2019-10-23 15:12:15 +00:00
Dan Minor 188c0c2c70 Bug 1587164 - Avoid left shift of negative value in TimestampWrapAroundHandler; r=bwc
The code for handling backwards wraps left shifts num_wrap_ - 1. If
num_wrap_ is zero, this results in a left shift of a negative value which
is undefined behaviour. This modifies the code to avoid the shift at the cost
of an extra multiplication.

Differential Revision: https://phabricator.services.mozilla.com/D49609

--HG--
extra : moz-landing-system : lando
2019-10-18 13:48:21 +00:00
Jeff Gilbert 6c3e1d29c0 Bug 1586423 - Revert bug 1470568 for breaking Google Meet, etc. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D49364

--HG--
extra : moz-landing-system : lando
2019-10-16 16:40:19 +00:00
Nils Ohlmeier [:drno] 661ecac0a9 Bug 1588346: removed webrtc sdk directory. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D49077

--HG--
extra : moz-landing-system : lando
2019-10-15 11:35:55 +00:00
Dan Minor a964c79cd0 Bug 1517369 - Check for invalid rtp extension ids; r=bwc
This adds checks for invalid and duplicated rtp extension ids to
JsepSessionImpl. Since the version of webrtc.org we're using does not support
two byte extension ids, ids must be between 1 and 14 inclusive. Duplicated
extension ids are also disallowed by RFC 8285. Passing an invalid extension id
into the webrtc.org code will trigger a release assertion and a browser crash.

Differential Revision: https://phabricator.services.mozilla.com/D48689

--HG--
extra : moz-landing-system : lando
2019-10-15 15:26:01 +00:00
Dan Minor dba62d5da9 Bug 1583967 - Fix pointer overflow errors in webrtc signal processing; r=ng
These have already been fixed upstream. The upstream comment was: "Negative
overflow is permitted here, because this is auto-regressive filters, and the
state for each batch run is stored in the "negative" positions of the output
vector."

Differential Revision: https://phabricator.services.mozilla.com/D48884

--HG--
extra : moz-landing-system : lando
2019-10-14 18:17:40 +00:00
Nils Ohlmeier [:drno] c17df5dd68 Bug 1583317: added prefs to set DTLS min/max versions in PeerConnections. r=mt
Differential Revision: https://phabricator.services.mozilla.com/D46835

--HG--
extra : moz-landing-system : lando
2019-10-11 20:00:41 +00:00
Dan Minor cb833e8387 Bug 1587159 - Fix undefined shift in g722_encode.c; r=ng
Left shifting a negative value results in undefined behaviour. It is safer to
multiply in this case.

Differential Revision: https://phabricator.services.mozilla.com/D48751

--HG--
extra : moz-landing-system : lando
2019-10-09 20:12:28 +00:00
Christian Holler 9d0310b514 Bug 1580320 - Check return value of PeerConnectionImpl::GetFingerprint. r=drno
Differential Revision: https://phabricator.services.mozilla.com/D48509

--HG--
extra : moz-landing-system : lando
2019-10-08 17:52:27 +00:00
Andreas Schuler 9cde4e3ef1 Bug 1585009: Support playout-delay RTP header extension r=bwc
Added playout-delay RTP header extension for video to JsepSessionImpl::SetupDefaultRtpExtensions.
This ensures that this extension will be preserved when generating an answer to an offer (by a sending peer) containing it.
Also updated JsepSessionTest to include a test verifying that the expected default audio and video extensions are set.

Differential Revision: https://phabricator.services.mozilla.com/D47689

--HG--
extra : moz-landing-system : lando
2019-10-08 12:49:52 +00:00
Dan Minor ad61673439 Bug 1564902 - Checked paused_ prior to calling SendPacket; r=bwc
There is a window inside of SendPacket where the critical section is released
which means that other code could set paused_. This would lead to us hitting
the assertion at the top of SendPacket. Checking paused_ in the while loop
will avoid this. Upstream has fixed this problem in a similar way, but the
code has changed there enough that it doesn't make sense to try to bring in
their fix directly.

Differential Revision: https://phabricator.services.mozilla.com/D48540

--HG--
extra : moz-landing-system : lando
2019-10-08 15:42:58 +00:00
John Lin 2341df44ac Bug 1581902 - p6: introduce a pref to enable/disable H.264 for WebRTC. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46368

--HG--
extra : moz-landing-system : lando
2019-10-08 17:16:01 +00:00
John Lin 8f1bf15aa3 Bug 1581902 - p5: check H.264 hardware availability. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46367

--HG--
extra : moz-landing-system : lando
2019-10-08 17:15:52 +00:00
John Lin 3ab45bc445 Bug 1581902 - p1: use MediaDataEncoder on Android. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46366

--HG--
extra : moz-landing-system : lando
2019-10-08 17:15:15 +00:00
Daniel Varga 27d99ab2df Backed out 6 changesets (bug 1581902) for xpcshell failure at xpcshell/rs-blocklist/test_gfxBlacklist_Equal_DriverNew.js. On a CLOSED TREE
Backed out changeset c900fdf28f82 (bug 1581902)
Backed out changeset 92c9ea70040d (bug 1581902)
Backed out changeset 1f588b5bf019 (bug 1581902)
Backed out changeset f837f2c5224f (bug 1581902)
Backed out changeset 44e248976099 (bug 1581902)
Backed out changeset c7dfff053f71 (bug 1581902)
2019-10-07 23:07:36 +03:00
John Lin 47c168e1bc Bug 1581902 - p6: introduce a pref to enable/disable H.264 for WebRTC. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46368

--HG--
extra : moz-landing-system : lando
2019-10-01 16:54:50 +00:00
John Lin 854d85bd05 Bug 1581902 - p5: check H.264 hardware availability. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D46367

--HG--
extra : moz-landing-system : lando
2019-10-01 16:54:41 +00:00
John Lin a93536ca9d Bug 1581902 - p1: use MediaDataEncoder on Android. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46366

--HG--
extra : moz-landing-system : lando
2019-10-01 16:53:59 +00:00
Dan Minor 5ca5bdf957 Bug 1559011 - Try using PW_RENDERFULLCONTENT for Windows window capture; r=pehrsons
This is a partial cherrypick of https://webrtc.googlesource.com/src/+/f89110d67902e787f6745ad2b52f7f09fc808512.
The cropping changes in that revision are problematic on our version of webrtc.org and
result in distorted video, which looks as though there is a stride problem. This takes
the change to try to use PW_RENDERFULLCONTENT and to fall back to the current code if
that fails. This fixes capturing Chrome windows and allows Firefox to properly capture
its own window.

Using PW_RENDERFULLCONTENT can adversely affect performance. Using the
CroppingWindowCapturer can avoid using the WindowCapturer in some circumstances and so
result in better performance. Bug 1586071 tracks switching to the
CroppingWindowCapturer.

Differential Revision: https://phabricator.services.mozilla.com/D48108

--HG--
extra : moz-landing-system : lando
2019-10-03 19:47:07 +00:00
Byron Campen [:bwc] 9067a09c0a Bug 1470568: Remove the rid= and pt= stuff from our simulcast parsing. Also, handle paused rids correctly. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47658

--HG--
extra : moz-landing-system : lando
2019-10-02 20:20:07 +00:00
Dorel Luca 46491fb5f0 Backed out changeset 62b78793d12e (bug 1583867) for WPT failures in webrtc/RTCRtpReceiver-getSynchronizationSources.https.html 2019-10-03 02:43:28 +03:00
Nico Grunbaum 6722b1c2c1 Bug 1583867 - add rtpTimestamp field to RTP sync/contrib sources; r=jib,smaug
Differential Revision: https://phabricator.services.mozilla.com/D47096

--HG--
extra : moz-landing-system : lando
2019-10-02 21:55:33 +00:00
Byron Campen [:bwc] 972f1535a0 Bug 1582190: Close DataChannelConnection when datachannel negotiation fails for some reason. r=ng
Differential Revision: https://phabricator.services.mozilla.com/D46357

--HG--
extra : moz-landing-system : lando
2019-09-26 15:35:42 +00:00
Byron Campen [:bwc] e5f31d7bfb Bug 1582190: Get transport-related parameters for datachannel from the bundle-tag, if bundle is being used. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46356

--HG--
extra : moz-landing-system : lando
2019-09-26 15:35:22 +00:00
Byron Campen [:bwc] 58744662ec Bug 1581898: Move telephone-event to the back of the codec list, because webrtc.org crashes if we don't. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46830

--HG--
extra : moz-landing-system : lando
2019-10-02 07:50:16 +00:00
Andreas Pehrson 1bdb34c6ec Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

Differential Revision: https://phabricator.services.mozilla.com/D46146

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 10:23:02 +00:00
Andreas Pehrson 8028758d0e Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D45821

--HG--
extra : moz-landing-system : lando
2019-10-02 10:22:53 +00:00
Gurzau Raul 40dae37e00 Backed out 7 changesets (bug 1454998) for build bustages at MediaTrackGraph.h on a CLOSED TREE.
Backed out changeset 80417bdfa721 (bug 1454998)
Backed out changeset 8ff03f2f4ca2 (bug 1454998)
Backed out changeset ae6056b748d1 (bug 1454998)
Backed out changeset ab721cb2066b (bug 1454998)
Backed out changeset d0e8d413cd1c (bug 1454998)
Backed out changeset 3ce4dc7e9ae2 (bug 1454998)
Backed out changeset 6105a4176729 (bug 1454998)

--HG--
rename : dom/media/AudioCaptureTrack.cpp => dom/media/AudioCaptureStream.cpp
rename : dom/media/AudioCaptureTrack.h => dom/media/AudioCaptureStream.h
rename : dom/media/MediaTrackGraph.cpp => dom/media/MediaStreamGraph.cpp
rename : dom/media/MediaTrackGraph.h => dom/media/MediaStreamGraph.h
rename : dom/media/MediaTrackGraphImpl.h => dom/media/MediaStreamGraphImpl.h
rename : dom/media/MediaTrackListener.cpp => dom/media/MediaStreamListener.cpp
rename : dom/media/MediaTrackListener.h => dom/media/MediaStreamListener.h
rename : dom/media/ForwardedInputTrack.cpp => dom/media/TrackUnionStream.cpp
rename : dom/media/ForwardedInputTrack.h => dom/media/TrackUnionStream.h
rename : dom/media/webaudio/AudioNodeExternalInputTrack.cpp => dom/media/webaudio/AudioNodeExternalInputStream.cpp
rename : dom/media/webaudio/AudioNodeExternalInputTrack.h => dom/media/webaudio/AudioNodeExternalInputStream.h
rename : dom/media/webaudio/AudioNodeTrack.cpp => dom/media/webaudio/AudioNodeStream.cpp
rename : dom/media/webaudio/AudioNodeTrack.h => dom/media/webaudio/AudioNodeStream.h
2019-10-02 11:46:23 +03:00
Andreas Pehrson 36d89d91c8 Bug 1454998 - Rename streams to tracks. r=padenot,karlt,smaug
This renames the following (in alphabetical order, non-exhaustive):

AudioCaptureStream -> AudioCaptureTrack
AudioNodeStream -> AudioNodeTrack
AudioNodeExternalInputStream -> AudioNodeExternalInputTrack
DirectMediaStreamTrackListener -> DirectMediaTrackListener
MediaStream -> MediaTrack
  - Note that there's also dom::MediaTrack. Namespaces differentiate them.
MediaStreamGraph -> MediaTrackGraph
MediaStreamTrackListener -> MediaTrackListener
MSG -> MTG (in comments)
ProcessedMediaStream -> ProcessedMediaTrack
SharedDummyStream -> SharedDummyTrack
SourceMediaStream -> SourceMediaTrack
StreamTime -> TrackTime
TrackUnionStream -> ForwardedInputTrack
  - Because this no longer takes a union of anything, but only a single track
    as input.

Other minor classes, members and comments have been updated to reflect these
name changes.

Differential Revision: https://phabricator.services.mozilla.com/D46146

--HG--
rename : dom/media/AudioCaptureStream.cpp => dom/media/AudioCaptureTrack.cpp
rename : dom/media/AudioCaptureStream.h => dom/media/AudioCaptureTrack.h
rename : dom/media/TrackUnionStream.cpp => dom/media/ForwardedInputTrack.cpp
rename : dom/media/TrackUnionStream.h => dom/media/ForwardedInputTrack.h
rename : dom/media/MediaStreamGraph.cpp => dom/media/MediaTrackGraph.cpp
rename : dom/media/MediaStreamGraph.h => dom/media/MediaTrackGraph.h
rename : dom/media/MediaStreamGraphImpl.h => dom/media/MediaTrackGraphImpl.h
rename : dom/media/MediaStreamListener.cpp => dom/media/MediaTrackListener.cpp
rename : dom/media/MediaStreamListener.h => dom/media/MediaTrackListener.h
rename : dom/media/webaudio/AudioNodeExternalInputStream.cpp => dom/media/webaudio/AudioNodeExternalInputTrack.cpp
rename : dom/media/webaudio/AudioNodeExternalInputStream.h => dom/media/webaudio/AudioNodeExternalInputTrack.h
rename : dom/media/webaudio/AudioNodeStream.cpp => dom/media/webaudio/AudioNodeTrack.cpp
rename : dom/media/webaudio/AudioNodeStream.h => dom/media/webaudio/AudioNodeTrack.h
extra : moz-landing-system : lando
2019-10-02 08:18:16 +00:00
Andreas Pehrson 1bc37d8ea4 Bug 1454998 - Remove the notion of streams from MediaStreamGraph. r=padenot,karlt
This change mainly removes the `mTracks` member from MediaStream and moves all
associated members up a level, so that a MediaStream in practice represents a
single track.

Classes will be renamed in a future patch to reflect this.

Other changes include:

The new `mEnded` member of MediaStream changes meaning to only become true when
all data in the stream has been processed. It stems from
StreamTracks::Track::mEnded which used to become true as soon as the last bit of
data had been added to a track, and there could still be data in the track that
would get processed in future iterations. We are moving towards not having any
future data in tracks, which is why this change is ok to make -- keeping the old
behavior will soon not make sense.

TrackUnionStream is changed to no longer take a list of streams as input and
forward the union of their tracks to itself. Instead it's limited to having one
track as input at a time.

The autofinishing functionality that TrackUnionStream had before has been
transformed into an autoending functionality to allow it to defer ending until
its been told that it's ok to end through the control API. This lets a single
TrackUnionStream span the lifetime of multiple inputs, which will be useful for
making DecodedStream spec compliant with HTMLMediaElement::CaptureStream(), and
for implementing the currently discussed MediaRecorder::ReplaceTrack(), to name
a few potential use cases.

AudioNodeStreams used to only have a track (and thus an AudioSegment) if the
EXTERNAL_OUTPUT flag was enabled on them. With all MediaStreams now representing
a track, AudioNodeStreams inherently have an AudioSegment as a member. It is
however only used with data if the EXTERNAL_OUTPUT flag is enabled.

Differential Revision: https://phabricator.services.mozilla.com/D45821

--HG--
extra : moz-landing-system : lando
2019-10-02 08:17:51 +00:00
Dan Minor 2e0c0c08a2 Bug 1571015 - Improve WebRTC Call Duration Telemetry; r=drno,ng
This adds a reference counted implementation of Telemetry::AutoTimer for use
in timing WebRTC calls. The telemetry is recorded when the reference count goes
from one to zero. This allows capturing the total call duration, rather than
the duration of individual PeerConnections. The timers are stored in a
HashTable, indexed by the Document URI, allowing for call durations to be
calculated individually for separate pages.

This reuses the existing WEBRTC_CALL_DURATION telemetry key. This means we
won't be able to compare telemetry from versions of Firefox with this change
to versions of Firefox without this change. The reason for making this change
is that the telemetry is not very useful in its current form, so I think it
makes sense to do this rather than adding a new key.

Differential Revision: https://phabricator.services.mozilla.com/D47800

--HG--
extra : moz-landing-system : lando
2019-10-01 19:45:02 +00:00
Dan Minor 2ee8d689fe Bug 1567201 - Use Maybe rather than empty string for timedout queries; r=ng
Differential Revision: https://phabricator.services.mozilla.com/D47266

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:51 +00:00
Dan Minor b5473b49ca Bug 1567201 - Limit pending mDNS queries; r=ng
This limits the number of pending mDNS queries to 50, adds support for
retrying queries if they timeout, and support for reporting failure if a query
times out twice in a row.

Differential Revision: https://phabricator.services.mozilla.com/D46979

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:38 +00:00
Dan Minor 90e44f7695 Bug 1567201 - Use mdns_service to handle mDNS queries; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46977

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:23 +00:00
Dan Minor 940a75c186 Bug 1567201 - Add mDNS query support to StunAddrsRequest; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46976

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:19 +00:00
Nico Grunbaum 184e658171 Bug 1560370 - move webrtc-sdp out of tree; r=drno
Differential Revision: https://phabricator.services.mozilla.com/D45930

--HG--
rename : media/webrtc/signaling/src/sdp/rsdparsa/CODE_OF_CONDUCT.md => third_party/rust/webrtc-sdp/CODE_OF_CONDUCT.md
rename : media/webrtc/signaling/src/sdp/rsdparsa/LICENSE => third_party/rust/webrtc-sdp/LICENSE
rename : media/webrtc/signaling/src/sdp/rsdparsa/README.md => third_party/rust/webrtc-sdp/README.md
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/file_parser.rs => third_party/rust/webrtc-sdp/examples/file_parser.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/10.sdp => third_party/rust/webrtc-sdp/examples/sdps/10.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/11.sdp => third_party/rust/webrtc-sdp/examples/sdps/11.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/12.sdp => third_party/rust/webrtc-sdp/examples/sdps/12.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/13.sdp => third_party/rust/webrtc-sdp/examples/sdps/13.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/14.sdp => third_party/rust/webrtc-sdp/examples/sdps/14.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/15.sdp => third_party/rust/webrtc-sdp/examples/sdps/15.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/16.sdp => third_party/rust/webrtc-sdp/examples/sdps/16.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/17.sdp => third_party/rust/webrtc-sdp/examples/sdps/17.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/18.sdp => third_party/rust/webrtc-sdp/examples/sdps/18.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/19.sdp => third_party/rust/webrtc-sdp/examples/sdps/19.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/2.sdp => third_party/rust/webrtc-sdp/examples/sdps/2.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/20.sdp => third_party/rust/webrtc-sdp/examples/sdps/20.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/21.sdp => third_party/rust/webrtc-sdp/examples/sdps/21.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/22.sdp => third_party/rust/webrtc-sdp/examples/sdps/22.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/23.sdp => third_party/rust/webrtc-sdp/examples/sdps/23.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/24.sdp => third_party/rust/webrtc-sdp/examples/sdps/24.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/25.sdp => third_party/rust/webrtc-sdp/examples/sdps/25.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/26.sdp => third_party/rust/webrtc-sdp/examples/sdps/26.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/27.sdp => third_party/rust/webrtc-sdp/examples/sdps/27.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/28.sdp => third_party/rust/webrtc-sdp/examples/sdps/28.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/29.sdp => third_party/rust/webrtc-sdp/examples/sdps/29.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/3.sdp => third_party/rust/webrtc-sdp/examples/sdps/3.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/30.sdp => third_party/rust/webrtc-sdp/examples/sdps/30.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/31.sdp => third_party/rust/webrtc-sdp/examples/sdps/31.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/32.sdp => third_party/rust/webrtc-sdp/examples/sdps/32.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/33.sdp => third_party/rust/webrtc-sdp/examples/sdps/33.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/34.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/35.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/34.sdp => third_party/rust/webrtc-sdp/examples/sdps/36.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/37.sdp => third_party/rust/webrtc-sdp/examples/sdps/37.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/38.sdp => third_party/rust/webrtc-sdp/examples/sdps/38.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/39.sdp => third_party/rust/webrtc-sdp/examples/sdps/39.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/4.sdp => third_party/rust/webrtc-sdp/examples/sdps/4.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/39.sdp => third_party/rust/webrtc-sdp/examples/sdps/40.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/41.sdp => third_party/rust/webrtc-sdp/examples/sdps/41.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/5.sdp => third_party/rust/webrtc-sdp/examples/sdps/5.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/6.sdp => third_party/rust/webrtc-sdp/examples/sdps/6.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/7.sdp => third_party/rust/webrtc-sdp/examples/sdps/7.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/8.sdp => third_party/rust/webrtc-sdp/examples/sdps/8.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/9.sdp => third_party/rust/webrtc-sdp/examples/sdps/9.sdp
rename : media/webrtc/signaling/src/sdp/rsdparsa/examples/sdps/extract.sh => third_party/rust/webrtc-sdp/examples/sdps/extract.sh
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/address.rs => third_party/rust/webrtc-sdp/src/address.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/anonymizer.rs => third_party/rust/webrtc-sdp/src/anonymizer.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/attribute_type.rs => third_party/rust/webrtc-sdp/src/attribute_type.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/error.rs => third_party/rust/webrtc-sdp/src/error.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/lib.rs => third_party/rust/webrtc-sdp/src/lib.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/media_type.rs => third_party/rust/webrtc-sdp/src/media_type.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/src/network.rs => third_party/rust/webrtc-sdp/src/network.rs
rename : media/webrtc/signaling/src/sdp/rsdparsa/tests/unit_tests.rs => third_party/rust/webrtc-sdp/tests/unit_tests.rs
extra : moz-landing-system : lando
2019-10-01 01:01:56 +00:00
Bryce Seager van Dyk a866eb3dd2 Bug 1583861 - Tidy includes in files using new logs. r=alwu
I've reworked the includes in most of the files I've touched since I was adding
GMPLog.h:
- Reordered the includes to better match the Google C++ style.
- Removed includes that are already included from the associated header or
  GMPLog.h. I.e. if Foo.cpp includes Foo.h, and Foo.cpp includes other headers
  already included in Foo.h, these were removed.

Depends on D47194

Differential Revision: https://phabricator.services.mozilla.com/D47373

--HG--
extra : moz-landing-system : lando
2019-09-27 00:14:23 +00:00
Bryce Seager van Dyk a2dc990c12 Bug 1583861 - Use GMPLog.h macros where applicable. r=alwu
This patch changes instances where the GMP MOZ_LOG is used to prefer using
macros from GMPLog.h:
- Files that don't need their own macros now just directly call
  `GMP_LOG_<LEVEL>` as required.
- Files that use their own macros for formatting have had those macro
  definitions changes so that the macros have unique names and are expressed in
  terms of the macros from GMPLog.h.

I've also made a couple of drive by edits to logs so that they log more than a
couple of words and updated some strings where the incorrect class name was
being logged.

Differential Revision: https://phabricator.services.mozilla.com/D47194

--HG--
extra : moz-landing-system : lando
2019-09-27 00:14:46 +00:00
Wang Qing b428602d25 Bug 1579834 - [WebRTC] Add mips64 support; r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D45620

--HG--
extra : moz-landing-system : lando
2019-09-25 14:15:23 +00:00
Byron Campen [:bwc] c1963a1155 Bug 1581964: Cast this constant (which is just 1) to an unsigned before left-shifting it. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46478

--HG--
extra : moz-landing-system : lando
2019-09-19 15:38:18 +00:00
Dan Minor 93ca060abc Bug 1578810 - Handle mDNS hostname prior to calling OnCandidateFound; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D45563

--HG--
extra : moz-landing-system : lando
2019-09-18 22:02:45 +00:00
Alex Chronopoulos 5cb664d73b Bug 1572281 - Remove audio device change notifications from video capture in Windows. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the windows part.

Differential Revision: https://phabricator.services.mozilla.com/D46274

--HG--
extra : moz-landing-system : lando
2019-09-18 13:12:30 +00:00
Alex Chronopoulos aa5a82572d Bug 1572281 - Remove audio device change notifications from video capture in OSX. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the OSX part.

Differential Revision: https://phabricator.services.mozilla.com/D46273

--HG--
extra : moz-landing-system : lando
2019-09-18 13:16:56 +00:00
Alex Chronopoulos 67bc215a66 Bug 1572281 - Remove audio device change notifications from video capture in Linux. r=dminor
Video capture used to provide device change notifications for audio and video devices. From now on, CubebDeviceEnumerator will provide audio device change notifications thus video capture is updated to notify only changes of the video device. This is the Linux part.

Differential Revision: https://phabricator.services.mozilla.com/D46272

--HG--
extra : moz-landing-system : lando
2019-09-18 13:16:57 +00:00
Byron Campen [:bwc] abf0777414 Bug 1569183: Create an ipdl struct called WebrtcProxyConfig, to cut down on the arg count on lots of functions. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45562

--HG--
extra : moz-landing-system : lando
2019-09-17 18:19:04 +00:00
Byron Campen [:bwc] fec8b0d807 Bug 1569183: Stop doing a proxy lookup to determine whether we're configured to use a proxy (for the proxy_only_if_behind_proxy pref), and instead look at whether we loaded the doc using a proxy. r=mjf,mayhemer,jld
Differential Revision: https://phabricator.services.mozilla.com/D45289

--HG--
extra : moz-landing-system : lando
2019-09-18 14:27:42 +00:00
Byron Campen [:bwc] dbee4e76f5 Bug 1569183: Add a proxy policy argument to NrSocketProxyConfig, and always set this config on the NrIceCtx. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45101

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:14 +00:00
Byron Campen [:bwc] 8bd10b72d0 Bug 1569183: Rename SetProxyServer to SetProxyConfig to better reflect what is actually going on. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45100

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:13 +00:00
Alex Chronopoulos efb44bee9c Bug 1581806 - Trigger devicechange event for audio and video input devices only. r=dminor
After Bug 1581193 devicechange notifications were triggered with any device change, not just video and audio devices. This patch limits down the notifications to only video and audio input devices change.

Differential Revision: https://phabricator.services.mozilla.com/D46147

--HG--
extra : moz-landing-system : lando
2019-09-17 14:31:39 +00:00
Dan Minor fc594a5197 Bug 1581577 - Fix ICE duration telemetry high value; r=bwc
The Telemetry::AccumulateTimeDelta function reports in milliseconds but I had
assumed seconds when I added the hostname obfuscation ICE duration histogram.
This change adjusts the "high" value accordingly.

With the telemetry we've collected to date, 60% of the values are below 600
milliseconds, so I think that setting a high value of 30 seconds should be
sufficient even if there is a long tail. Since this does not change the data
being collected, no additional data-review is required, but it does require
renaming the key.

Differential Revision: https://phabricator.services.mozilla.com/D46045

--HG--
extra : moz-landing-system : lando
2019-09-16 18:15:28 +00:00
Dan Minor 382ae1bcb5 Bug 1581193 - Fix devicechange event on Windows; r=achronop
This restores the code for generating devicechange events that was
accidentally removed as part of updating the Windows video capture code
in Bug 1552755.

Differential Revision: https://phabricator.services.mozilla.com/D46033

--HG--
extra : moz-landing-system : lando
2019-09-17 06:47:06 +00:00
John Lin 17e9f72cc3 Bug 1580600 - rename setRates() to setBitrate() and pass the value in bps. r=jya
Depends on D45775

Differential Revision: https://phabricator.services.mozilla.com/D45776

--HG--
extra : moz-landing-system : lando
2019-09-13 23:38:32 +00:00
John Lin d266695db7 Bug 1580597 - p1: pass timestamp values correctly. r=jya
Bug 1568101/D40532 captures the input timestamp and uses it in the resolve
function. However, there could be multiple encoded frames returned (e.g.,
for Drain()), and all of them will get the same captured timestamp. Read
back the timestamp from encoded data makes sure every frame gets the right
value. Also convert it for EncodedImage::_timeStamp uses different unit.

Differential Revision: https://phabricator.services.mozilla.com/D45774

--HG--
extra : moz-landing-system : lando
2019-09-14 00:23:37 +00:00
Byron Campen [:bwc] 6e3f7f6bb1 Bug 1577719: Init r_log in the c'tor, to simplify things. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45463

--HG--
extra : moz-landing-system : lando
2019-09-11 02:29:15 +00:00
Dan Minor dafa68a84f Bug 1580524 - Free conduits when transceiver is stopped; r=bwc
Freeing the conduits when the transceiver is stopped releases all of the
associated webrtc.org objects which results in substantial memory savings.

On my system, with an opt+debug build and 200 stopped transceivers, I see
373.17 MB of memory use in the content process without this patch, and
158.93 MB of memory use with this patch applied.

Going further and calling Shutdown_m as part of Stop() reduces the memory
use to 157.98 MB, which seems like a marginal improvement at the cost of
a much larger risk of introducing bugs.

Differential Revision: https://phabricator.services.mozilla.com/D45845

--HG--
extra : moz-landing-system : lando
2019-09-13 17:44:06 +00:00
Bastien Orivel 59f8fe9fee Bug 1580908 - Part 8: Update rsdparsa. r=ng
I just copied all the files from the upstream repository into the
rsdparsa directory

Differential Revision: https://phabricator.services.mozilla.com/D45717

--HG--
extra : moz-landing-system : lando
2019-09-12 21:46:25 +00:00
Boris Zbarsky 1128b8dee8 Bug 1578173 part 6. Remove remaining uses of [Constructor] from bindings. r=edgar
Differential Revision: https://phabricator.services.mozilla.com/D45394

--HG--
extra : moz-landing-system : lando
2019-09-12 11:01:17 +00:00
Dan Minor 37c64b1005 Bug 1569250 - Add telemetry for mDNS use in WebRTC; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D44888

--HG--
extra : moz-landing-system : lando
2019-09-09 16:45:02 +00:00
Mihai Alexandru Michis 7e0ca2f5cc Backed out changeset ef18dbaff6c7 (bug 1569250) for causing failures in AccumulateTimeDelta. CLOSED TREE 2019-09-09 17:07:20 +03:00
Dan Minor 54d9433d62 Bug 1569250 - Add telemetry for mDNS use in WebRTC; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D44888

--HG--
extra : moz-landing-system : lando
2019-09-09 13:21:18 +00:00
Dan Minor fb8723ba06 Bug 1570669 - Only redact peer reflex candidates if host address obfuscation is enabled; r=mjf
This adds a mObfuscateHostAddresses member and uses it to control whether or
not peer reflex candidates are redacted. It is only necessary to keep track of
signaled addresses to support redacting peer reflex candidates, so there is no
need to store them if host address obfuscation is disabled.

Differential Revision: https://phabricator.services.mozilla.com/D44531

--HG--
extra : moz-landing-system : lando
2019-09-06 15:23:53 +00:00
Dan Minor f849f9d1b0 Bug 1579076 - Remove expired WebRTC telemetry; r=ng,drno
Differential Revision: https://phabricator.services.mozilla.com/D44884

--HG--
extra : moz-landing-system : lando
2019-09-06 03:52:29 +00:00
Andreas Pehrson 528b5f4cd3 Bug 1576771 - Reset VideoFrameConverter's track-enabled state when disconnecting video listeners. r=bwc
Depends on D44675

Differential Revision: https://phabricator.services.mozilla.com/D44676

--HG--
extra : moz-landing-system : lando
2019-09-04 14:53:51 +00:00
Andreas Pehrson 6319ba4dbc Bug 1573102 - Remove mGraph from MediaStreamTrack::MSGListener. r=karlt
To accomodate this, MediaStreamTrackListener::NotifyEnded/Removed get an
additional aGraph argument. NotifyEnabledStateChanged is getting it too, for
completion.

Differential Revision: https://phabricator.services.mozilla.com/D43667

--HG--
extra : moz-landing-system : lando
2019-08-29 13:32:59 +00:00
Dan Minor 6e5937318f Bug 1554976 - Move thread assertion inside if statement in OnLookupComplete; r=mjf
Checking this assertion outside of the if statement can result in
a use-after-free in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D42152

--HG--
extra : moz-landing-system : lando
2019-08-28 19:51:06 +00:00
Dan Minor fc82a0c5d5 Bug 1554976 - Obfuscate default rtp and rtcp candidates if required; r=ng
The default RTP candidate is used to populate the c= line in SDP. Rather than
using the mDNS address, which sipcc can not parse, we use 0.0.0.0:9, which is
what Chromium has chosen as well [1].

For RTCP, the mDNS obfuscated address is used.

[1] https://webrtc.googlesource.com/src.git/+/3ae59d33a310280e2f21ed4c53849950171e48e8

Differential Revision: https://phabricator.services.mozilla.com/D38498

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:25 +00:00
Dan Minor 6c6b65f876 Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:06 +00:00
Dan Minor 217f23e8b5 Bug 1554976 - Register mDNS hostname if required; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38495

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:49 +00:00
Dan Minor 2665020e51 Bug 1554976 - Copy actual address to CandidateInfo in MediaTransportHandler; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38494

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:36 +00:00
Gurzau Raul a6c5c5e3ac Backed out 14 changesets (bug 1554976) for Windows build bustages on a CLOSED TREE.
Backed out changeset a9b209d9d880 (bug 1554976)
Backed out changeset 27b4dddf9597 (bug 1554976)
Backed out changeset 3e16c10bb966 (bug 1554976)
Backed out changeset 6a404fca61dc (bug 1554976)
Backed out changeset 77c4e76c8130 (bug 1554976)
Backed out changeset 24f146b86cc4 (bug 1554976)
Backed out changeset b49b4326dcfd (bug 1554976)
Backed out changeset e2c837d1e0a0 (bug 1554976)
Backed out changeset 24728144c263 (bug 1554976)
Backed out changeset a099e69241a0 (bug 1554976)
Backed out changeset 0e34595c2680 (bug 1554976)
Backed out changeset a506bb40047e (bug 1554976)
Backed out changeset 513026415092 (bug 1554976)
Backed out changeset e0fc6a1d4332 (bug 1554976)
2019-08-28 18:10:11 +03:00
Dan Minor 2507ef392a Bug 1554976 - Move thread assertion inside if statement in OnLookupComplete; r=mjf
Checking this assertion outside of the if statement can result in
a use-after-free in debug builds.

Differential Revision: https://phabricator.services.mozilla.com/D42152

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:13 +00:00
Dan Minor b07a76f4bd Bug 1554976 - Obfuscate default rtp and rtcp candidates if required; r=ng
The default RTP candidate is used to populate the c= line in SDP. Rather than
using the mDNS address, which sipcc can not parse, we use 0.0.0.0:9, which is
what Chromium has chosen as well [1].

For RTCP, the mDNS obfuscated address is used.

[1] https://webrtc.googlesource.com/src.git/+/3ae59d33a310280e2f21ed4c53849950171e48e8

Differential Revision: https://phabricator.services.mozilla.com/D38498

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:42 +00:00
Dan Minor 2da923ff0b Bug 1554976 - Add plumbing to enable/disable host address obfuscation; r=mjf
This only enables mDNS on OS X for now. Some versions of Windows lack mDNS
support, there are some oddities with resolving IPv6 addresses on Linux, and
Android has not yet been tested. All of these will be addressed in follow on
bugs.

Differential Revision: https://phabricator.services.mozilla.com/D38496

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:33 +00:00
Dan Minor d467f3a90a Bug 1554976 - Register mDNS hostname if required; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38495

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:24 +00:00
Dan Minor 717793ab02 Bug 1554976 - Copy actual address to CandidateInfo in MediaTransportHandler; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38494

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:20 +00:00
Kershaw Chang 5018d39958 Bug 1571987 - Forward proxy check request to parent process r=dragana,bwc
Differential Revision: https://phabricator.services.mozilla.com/D41004

--HG--
extra : moz-landing-system : lando
2019-08-24 05:37:00 +00:00
Dan Minor 1555cd2006 Bug 1570548 - Check if mDecoder is null in WebrtcMediaDataDecoder::Release; r=bryce
In InitDecode it is possible for mDecoder to be null if the CreateDecoder call
fails, in which case an error code is returned. Release is called by
GenericDecoder::~VCMGenericDecoder regardless of whether InitDecode succeeds, so
we need to check if mDecoder is null in Release.

Differential Revision: https://phabricator.services.mozilla.com/D43469

--HG--
extra : moz-landing-system : lando
2019-08-26 17:50:46 +00:00
Dan Minor 7c3097eb13 Bug 1565800 - Use local copy of _captureCapability in OnIncomingFrame; r=jolin
In OnIncomingFrame() we check if the capture has started by calling
CaptureStarted() which holds a lock. If StopCapture() is called on the
control thread after we check CaptureStarted() it is possible that
_captureCapability will be zeroed out prior to frame being delivered because
the lock has been released. This would result in an unknown video type in
CalcBufferSize() and trigger an assertion there. This creates a local copy of
_captureCapability with the lock held to ensure it is not zeroed out when the
frame is delivered.

Differential Revision: https://phabricator.services.mozilla.com/D42338

--HG--
extra : moz-landing-system : lando
2019-08-21 15:52:31 +00:00
Ryan Alderete 4b595ec1a8 Bug 1570158 - Add proxy information to candidates table in about:webrtc r=bwc,baku
This adds a field to about:webrtc which indicates whether an associated
candidate is behind a proxy or not.

Differential Revision: https://phabricator.services.mozilla.com/D39974

--HG--
extra : moz-landing-system : lando
2019-08-21 10:04:45 +00:00
Alastor Wu 0e392d0f13 Bug 1568101 - part7 : rename 'MediaDataDecoderCodec' to 'MediaDataCodec'. r=jolin
As this class is not only used for creating decoder, also for encoder, it's more proper to rename it as `MediaDataCodec`.

Differential Revision: https://phabricator.services.mozilla.com/D41443

--HG--
rename : media/webrtc/signaling/src/media-conduit/MediaDataDecoderCodec.cpp => media/webrtc/signaling/src/media-conduit/MediaDataCodec.cpp
rename : media/webrtc/signaling/src/media-conduit/MediaDataDecoderCodec.h => media/webrtc/signaling/src/media-conduit/MediaDataCodec.h
extra : moz-landing-system : lando
2019-08-19 08:03:55 +00:00
Alastor Wu e0241d05dc Bug 1568101 - part6 : set bitrate. r=jolin
Use `BitrateAdjuster` to calculate bitrate and prevent to set bitrate too often, because certain hardware encoders tend to consistently overshoot the bitrate that they are configured to encode at.

Differential Revision: https://phabricator.services.mozilla.com/D40533

--HG--
extra : moz-landing-system : lando
2019-08-19 07:34:08 +00:00
Alastor Wu 9bd4a96457 Bug 1568101 - part5 : implement encoding. r=jolin,jya
In order to encode video frame, we have to convert `webrtc::VideoFrame` to gecko's video data, and then send this YUV-based video data to the encoder.

The encoder won't return an encoded frame everytime when we call its `encode()`, so we have to wait until there are valid samples added to `mEncodedFrames`.

Then, convert the `MediaRawData` to `webrtc::EncodedImage` and provide an NAL entries list to indicate where the NALs are in the encoded bytes stream and how large they are. We would send those data back
to the consumer of the encoder via calling a callback function `OnEncodedImage()`.

Differential Revision: https://phabricator.services.mozilla.com/D40532

--HG--
extra : moz-landing-system : lando
2019-08-20 07:41:33 +00:00
Alastor Wu 86b6cfa0eb Bug 1568101 - part4 : implement a generic refcounting encoder interface. r=jya
`RefCountedWebrtcVideoEncoder` is a generic interface which supports refcounting, using that can ensure the encoder is always alive even if using it in an async task.

So now both `WebrtcGmpVideoEncoder` and `WebrtcMediaDataEncoder` would inherit from `RefCountedWebrtcVideoEncoder`.
We can use `WebrtcVideoEncoderProxy` to wrap them and return `WebrtcVideoEncoderProxy` for the use in the WebRTC pineline.

Differential Revision: https://phabricator.services.mozilla.com/D41855

--HG--
extra : moz-landing-system : lando
2019-08-19 08:03:15 +00:00
Alastor Wu c636eac2d6 Bug 1568101 - part3 : implement initializing and releasing encoder. r=jolin
In this patch, we implement how to create a platform encoder, init an encoder and release it when we don't need it anymore.

In addition, as the encoder factory only supports h264 for now, so all configuration related to encoder would be h264 specific.

Differential Revision: https://phabricator.services.mozilla.com/D40531

--HG--
extra : moz-landing-system : lando
2019-08-19 07:52:11 +00:00
Alastor Wu 58ec457e76 Bug 1568101 - part2 : use a static pref to control the feature. r=jolin
Use a static pref to control this feature and turn it off by default.

Differential Revision: https://phabricator.services.mozilla.com/D40530

--HG--
extra : moz-landing-system : lando
2019-08-08 23:38:21 +00:00
Alastor Wu 9fd259ee61 Bug 1568101 - part1 : implement a basic interface for WebrtcMediaDataEncoderCodec. r=jolin
Implement a basic interface for `WebrtcMediaDataEncoder`, which will only be used on OSX for encoding h264 only.

Differential Revision: https://phabricator.services.mozilla.com/D40529

--HG--
extra : moz-landing-system : lando
2019-08-09 20:58:06 +00:00
Andreas Pehrson 49244b4fad Bug 1571705 - Clarify mInputStream guarantees in MediaStreamTrack. r=karlt
Differential Revision: https://phabricator.services.mozilla.com/D41508

--HG--
extra : moz-landing-system : lando
2019-08-19 19:26:25 +00:00
Simon Sapin c65755ac41 Bug 1568540 - Update the url crate to 2.0 r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D42364

--HG--
extra : moz-landing-system : lando
2019-08-17 16:26:27 +00:00
Tom Schuster 2c4cb96468 Bug 1558915 - Use infallible nsIURI::SchemeIs everywhere. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D41367

--HG--
extra : moz-landing-system : lando
2019-08-09 15:17:06 +00:00
Andreas Pehrson 50628ddd24 Bug 1570673 - Add an active state to VideoFrameConverter and propagate it from MediaPipeline. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D40598

--HG--
extra : moz-landing-system : lando
2019-08-05 18:00:48 +00:00
Kershaw Chang 18d3f24206 Bug 1570950 - Make sure the IPC channel is closed before destroying r=jld
The stack from crash report suggests that ChildImpl was deleted at the end of function GetOrCreateSocketActorForCurrentThread(). This only happens when SendInitBackground failed, so we have to close the IPC channel before ChildImpl getting destroyed.

Differential Revision: https://phabricator.services.mozilla.com/D40838

--HG--
extra : moz-landing-system : lando
2019-08-06 21:17:40 +00:00
Nicholas Nethercote 2bdd4bbfd0 Bug 1570212 - Convert media.webrtc.net.force_disable_rtcp_reception to a static pref. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D40154

--HG--
extra : moz-landing-system : lando
2019-08-02 12:33:17 +00:00
Ryan Alderete 41872c8747 Bug 1452713 - Update webRTCIPHandlingPolicy to match Chrome r=bwc,mixedpuppy
Previously, the network.webRTCIPHandlingPolicy "disable_non_proxied_udp" only
enabled the use of WebRTC if a proxy was configured and the WebRTC service
supported TURN TCP.

This aims to match Chrome's behavior by forcing the use of a proxy if one is
configured, otherwise falling back to mode 3 (no host candidates and default
route only).

Also, remove some dead code left over from the old way of routing TURN
communications through an HTTP proxy.

Differential Revision: https://phabricator.services.mozilla.com/D37892

--HG--
extra : moz-landing-system : lando
2019-08-02 21:33:46 +00:00
Dan Minor 97c5db53eb Bug 1561923 - Remove expired WebRTC telemetry; r=drno,bwc
Differential Revision: https://phabricator.services.mozilla.com/D37757

--HG--
extra : moz-landing-system : lando
2019-07-31 19:57:55 +00:00
Andreas Pehrson 4b3fa9c67e Bug 1493613 - Move MediaStream control from DOMMediaStream to MediaStreamTrack. r=padenot
This is inherently large, because modifying these bits of DOMMediaStream and
MediaStreamTrack affects all consumers and producers of all DOMMediaStreams and
MediaStreamTracks.

Things are generally much simpler now.

Producers of tracks now create a MediaStream in the graph, add it to a
MediaStreamTrackSource subclass that takes ownership of it, and add the source
to a MediaStreamTrack. Should the producer need a DOMMediaStream it is now much
simpler to create as the only thing needed is the current window. The stream is
a rather simple wrapper around an array of MediaStreamTracks.

HTMLMediaElement is still not as straight forward as other consumers since it
consumes the DOMMediaStream directly, as opposed to a set of tracks.
The new MediaStreamRenderer helper class helps bridge the gap between this fact
and the new track-based MediaStreamGraph interface, as it needs to juggle
registering multiple audio tracks for audio output. This hooks into existing
HTMLMediaElement logic and brings a welcome simplification to all the glue
previously needed there.

Differential Revision: https://phabricator.services.mozilla.com/D37934

--HG--
extra : moz-landing-system : lando
2019-07-31 07:58:17 +00:00
Andreas Pehrson 719dfe4ede Bug 1493613 - Update muted state through MediaStreamTrackSource. r=bwc,smaug
This ensures all clones of the original track also receives the new muted state.

Differential Revision: https://phabricator.services.mozilla.com/D37933

--HG--
extra : moz-landing-system : lando
2019-07-31 09:35:06 +00:00
Nicholas Nethercote cd426e3ad2 Bug 1569526 - Remove return values from `Add*VarCache()`. r=KrisWright
They're infallible in practice and always `NS_OK`. (This stems from
`AddVarCacheNoAssignment()` always returning `NS_OK`.)

As a result, the commit removes lots of unnecessary checks.

Differential Revision: https://phabricator.services.mozilla.com/D39804

--HG--
extra : moz-landing-system : lando
2019-07-30 06:19:46 +00:00
Andrea Marchesini cef26c06c6 Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - PProxyConfigLookup IPC protocol, r=bwc,kershaw,jld
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-29 12:27:59 +00:00
Jean-Yves Avenard 577b826128 Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 08:45:39 +00:00
Narcis Beleuzu e84980d8b1 Backed out 15 changesets (bug 1543359) for wrench bustages on image.rs . CLOSED TREE
Backed out changeset 548006270186 (bug 1543359)
Backed out changeset c9585e9d9f3c (bug 1543359)
Backed out changeset 1c7ca95a2a9b (bug 1543359)
Backed out changeset d742d80b892f (bug 1543359)
Backed out changeset 210eee703fd9 (bug 1543359)
Backed out changeset 4eb933d55d88 (bug 1543359)
Backed out changeset fb9b71ed9f4b (bug 1543359)
Backed out changeset 98b968443458 (bug 1543359)
Backed out changeset a85bd4691bea (bug 1543359)
Backed out changeset b576317853e9 (bug 1543359)
Backed out changeset 095bca5c9b1a (bug 1543359)
Backed out changeset 48eb0ebf9f2e (bug 1543359)
Backed out changeset b22b0eb708b8 (bug 1543359)
Backed out changeset 52187d9320b1 (bug 1543359)
Backed out changeset fa6792c1c2e8 (bug 1543359)
2019-07-26 11:40:33 +03:00
Jean-Yves Avenard d6adb6b604 Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 06:14:30 +00:00
Cosmin Sabou ae7e8fbf55 Backed out 14 changesets (bug 1543359) for causing build bustages. CLOSED TREE
Backed out changeset 87c99ef85813 (bug 1543359)
Backed out changeset cd0afc5758ba (bug 1543359)
Backed out changeset 101ac87ff017 (bug 1543359)
Backed out changeset 348e748e3451 (bug 1543359)
Backed out changeset d9e937f5caf4 (bug 1543359)
Backed out changeset 2f4eb6501552 (bug 1543359)
Backed out changeset 0d316ef8c668 (bug 1543359)
Backed out changeset bf238b58c694 (bug 1543359)
Backed out changeset 496f206d03d6 (bug 1543359)
Backed out changeset 7c3a1f23baa8 (bug 1543359)
Backed out changeset 90fff717198b (bug 1543359)
Backed out changeset b2ce591ca398 (bug 1543359)
Backed out changeset a63968f077e3 (bug 1543359)
Backed out changeset ca660ab1e0c1 (bug 1543359)
2019-07-26 07:39:11 +03:00
Jean-Yves Avenard 84900ae6ff Bug 1543359 - P13. Let the video decoder determines the default colorspace if unknown. r=mattwoodrow
When unknown, we rely on the picture height and assume that anything less than 720p is 601 and 709 otherwise. It's not perfect but it's the best we can do.

Differential Revision: https://phabricator.services.mozilla.com/D39275

--HG--
extra : moz-landing-system : lando
2019-07-26 04:26:56 +00:00
Nicholas Nethercote 18fae65f38 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138

--HG--
extra : moz-landing-system : lando
2019-07-26 01:10:23 +00:00
Ryan Alderete 992406dcb2 Bug 1506219 - Use a known remote for applications loaded from file:// URIs r=bwc
Fall back to using Google's DNS server to determine the associated local
addresses for web applications that are not loaded over the network.  This
includes the loopback address, which is frequently used in the unit tests.

Provide a separate function for setting the target for the default local
address lookup.

Differential Revision: https://phabricator.services.mozilla.com/D37331

--HG--
extra : moz-landing-system : lando
2019-07-24 21:58:33 +00:00
Ryan Alderete cd13ca2e02 Bug 1506219 - Update default route according to latest IETF draft r=bwc
draft-ietf-rtcweb-ip-handling specifies that the default route is the route
used to reach the origin rather than the one used to reach the internet, so
update the IP routing to reflect this.  This addresses issues in which the
wrong IP address is used on machines with multiple network interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D36831

--HG--
extra : moz-landing-system : lando
2019-07-24 19:50:46 +00:00
Andreea Pavel 14071390d5 Backed out 2 changesets (bug 1567892) for build bustages on a CLOSED TREE
Backed out changeset edcdfaa8a2b1 (bug 1567892)
Backed out changeset 3aef1ee02e9b (bug 1567892)
2019-07-25 08:26:29 +03:00
Andrea Marchesini 00f3ae963f Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-25 04:51:00 +00:00
Mike Hommey baf04d4ceb Bug 1567739 - Stop using deprecated rust libc integer types in rsdparsa_capi. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D38939

--HG--
extra : moz-landing-system : lando
2019-07-24 22:15:55 +00:00
Nico Grunbaum a28afec671 Bug 1566701 - P4 - Adapting the glue code to the new address types - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38567

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:24 +00:00
Nico Grunbaum 5a20a4a360 Bug 1566701 - P3 - Update rsdparsa_capi to support FQDNs - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38566

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:21 +00:00
Nico Grunbaum d6d546de5b Bug 1566701 - P1 - Update rsdparsa to HEAD of mozilla/rsdparsa with FQDN support - r=drno
Differential Revision: https://phabricator.services.mozilla.com/D38564

--HG--
extra : moz-landing-system : lando
2019-07-23 21:55:13 +00:00
Bogdan Tara e50924670e Backed out 2 changesets (bug 1567892) for build bustages complaining about PNecko.ipdl CLOSED TREE
Backed out changeset 18a1d7fe61e0 (bug 1567892)
Backed out changeset b1b922fe6c11 (bug 1567892)
2019-07-24 18:59:39 +03:00
Andrea Marchesini 9876c2f82a Bug 1567892 - PeerConnectionMedia should use nsIProtocolProxyService on the parent process - part 2 - PProxyConfigLookup IPC protocol, r=bwc,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D39010

--HG--
extra : moz-landing-system : lando
2019-07-24 15:28:56 +00:00
Ciure Andrei 24c0d0e47d Backed out 2 changesets (bug 1506219) for causing test_presentation_datachannel_sessiontransport.html to perma fail CLOSED TREE
Backed out changeset 7e39db6e12a5 (bug 1506219)
Backed out changeset ab31fbc14a00 (bug 1506219)
2019-07-22 23:54:45 +03:00
Ryan Alderete 14e5b45ecc Bug 1506219 - Use a known remote for applications loaded from file:// URIs r=bwc
Fall back to using Google's DNS server to determine the associated local
addresses for web applications that are not loaded over the network.  This
includes the loopback address, which is frequently used in the unit tests.

Provide a separate function for setting the target for the default local
address lookup.

Differential Revision: https://phabricator.services.mozilla.com/D37331

--HG--
extra : moz-landing-system : lando
2019-07-22 15:42:06 +00:00
Ryan Alderete 35bd2662ca Bug 1506219 - Update default route according to latest IETF draft r=bwc
draft-ietf-rtcweb-ip-handling specifies that the default route is the route
used to reach the origin rather than the one used to reach the internet, so
update the IP routing to reflect this.  This addresses issues in which the
wrong IP address is used on machines with multiple network interfaces.

Differential Revision: https://phabricator.services.mozilla.com/D36831

--HG--
extra : moz-landing-system : lando
2019-07-22 15:43:12 +00:00
Nils Ohlmeier [:drno] bb245ddcf0 Bug 1480088: Added length check for uplfec. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D38786

--HG--
extra : moz-landing-system : lando
2019-07-22 10:31:55 +00:00
Sylvestre Ledru e77bfc655d Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D38057

--HG--
extra : moz-landing-system : lando
2019-07-16 07:33:44 +00:00
Ryan Alderete 790ab483b4 Bug 1520550 - Remove TCP/TLS/RTP/SAVPF from Rust parser r=mjf
This makes the Rust parser's C API consistent with the changes made to sipcc
(i.e., the removal of unregistered transport types).

Differential Revision: https://phabricator.services.mozilla.com/D36203

--HG--
extra : moz-landing-system : lando
2019-07-09 20:55:06 +00:00
Ryan Alderete 4abe2056e8 Bug 1520550 - Remove TCP/TLS/RTP/SAVP and TCP/TLS/RTP/SAVPF from name array r=mjf
The array of transport names is defined in terms of the enum for SDP transport
types, so ensure that the two are consistent.

Differential Revision: https://phabricator.services.mozilla.com/D36043

--HG--
extra : moz-landing-system : lando
2019-07-08 22:19:44 +00:00
Ryan Alderete 8c93dec687 Bug 1520550 - Remove TCP/TLS/RTP/SAVP and TCP/TLS/RTP/SAVPF from SDP parsing r=mjf
TCP/TLS/RTP/SAVP and TCP/TLS/RTP/SAVPF were never registered with IANA and were
not used by Firefox, so remove them.  In the unit tests, replace them with the
registered TCP/DTLS/RTP/SAVPF string.

Differential Revision: https://phabricator.services.mozilla.com/D35836

--HG--
extra : moz-landing-system : lando
2019-07-08 22:19:35 +00:00
Byron Campen [:bwc] 6480f0a928 Bug 1560636: Avoid using main thread with PMediaTransport. r=mjf,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D36818

--HG--
extra : moz-landing-system : lando
2019-07-15 15:49:30 +00:00
Eric Rahm 32038ccad0 Bug 1564647 - Fix sdp `...` range patterns are deprecated errors. r!drno r=drno,ng
Differential Revision: https://phabricator.services.mozilla.com/D37510

--HG--
extra : moz-landing-system : lando
2019-07-10 23:03:31 +00:00