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

7471 Коммитов

Автор SHA1 Сообщение Дата
Dan Minor 9a042a7df9 Bug 1598761 - Handle ErrorKind::Interrupted in mdns_service; r=ng
This happens very frequently in rr runs, and may explain some
intermittents we've seen in automation.

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

--HG--
extra : moz-landing-system : lando
2019-11-25 17:52:17 +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
Sylvestre Ledru d7bc96df97 Bug 1598019 - Do not compile some files in libekr r=drno
Also removed a duplicate declaration in the gyp file

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

--HG--
extra : moz-landing-system : lando
2019-11-21 18:40:54 +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
Landry Breuil 6cd8db12f6 Bug 1596546: disable sndio lazy loading on OpenBSD, and directly link with it r=kinetik
unveil() work in bug #1580271 broke sound playback

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

--HG--
extra : moz-landing-system : lando
2019-11-15 06:33:19 +00:00
Chun-Min Chang b98337f5cd Bug 1589931 - P2: Update cubeb-audiounit-rs to 0920240. r=padenot
Pick commits:
0920240 - Always return null-terminated strings from current_device (#25)

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

--HG--
extra : moz-landing-system : lando
2019-11-14 21:00:16 +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
Byron Campen [:bwc] 0fc304bf59 Bug 1594109: Don't try to unfreeze pairs for obsolete streams. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D52379

--HG--
extra : moz-landing-system : lando
2019-11-11 16:13:09 +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
Chun-Min Chang bb5b523cb0 Bug 1590151 - Update cubeb-coreaudio-rs to cd954ca. r=padenot
Pick commits:
cd954ca - Update dependencies (#22)
7043a0c - Make audiounit_get_devices_of_type infallible (#21)

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

--HG--
extra : moz-landing-system : lando
2019-11-07 16:41:44 +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
Edwin Takahashi 9a7b0768dc Bug 1592855 - run mach vendor aom with python3 r=dminor
Changes:
- update sections of `generate_sources_mozbuild.py` and `cmakeparser.py` to be python3 compatible
- change import of `urlparse` to be python3 compatible

Depends on D51414

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

--HG--
extra : moz-landing-system : lando
2019-11-04 20:31:43 +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
Matthew Gregan be1d399b68 Bug 1592193 - Update libnestegg to b50521d4. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D51734

--HG--
extra : moz-landing-system : lando
2019-11-05 00:08:16 +00:00
Dzmitry Malyshau 2200211212 Bug 1592398 - Fix SSL name collisions with Apple Security libraries r=drno
Forces the order of includes before `sslproto.h`

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

--HG--
extra : moz-landing-system : lando
2019-11-04 22:23:46 +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
Chun-Min Chang 7f26e8dfa4 Bug 1591249 - Bump coreaudio-sys to 0.2.3. r=glandium
The current coreaudio-sys in gecko is a custom 0.2.2 version that used
to avoid the cross-compiling issue mentioned in bug 1569003. The issue
has been fixed in the coreaudio-sys 0.2.3, so we should follow the
upstream instead of using a custom version. As a result, the
coreaudio-sys would generate API bindings based on the MacOS SDK defined
in the build settings.

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

--HG--
extra : moz-landing-system : lando
2019-10-31 20:14:00 +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
Arthur Iakab acebcd6ca5 Backed out 2 changesets (bug 1590249) for causing a spike in webgl crashes. CLOSED TREE
Backed out changeset fee677cef072 (bug 1590249)
Backed out changeset a132b59ed504 (bug 1590249)
2019-10-29 03:04:11 +02:00
Chun-Min Chang 97ec12425c Bug 1590890 - Disable bindgen when building coreaudio-sys. r=glandium
Revert the coreaudio-sys dependency changed in bug 1589514, which causes
a trouble when compiling with sccache

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

--HG--
extra : moz-landing-system : lando
2019-10-28 22:04:16 +00:00
Matthew Gregan 25d20e8373 Bug 1590249 - Fix media/audioipc/update.sh when run on Windows. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50005

--HG--
extra : moz-landing-system : lando
2019-10-22 13:58:33 +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 8f20970320 Bug 1588123 - Update libdav1d to head; r=TD-Linux
This updates libdav1d to commit 5595102721d3c298d7cee64e64878486a3b8bdad.

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

--HG--
rename : third_party/dav1d/snap/snapcraft.yaml => third_party/dav1d/package/snap/snapcraft.yaml
extra : moz-landing-system : lando
2019-10-24 18:58:15 +00:00
Paul Adenot 12cabe50dd Bug 1590652 - Temporarily revert to using IAudioClient on Windows 10. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D50242

--HG--
extra : moz-landing-system : lando
2019-10-23 21:19:36 +00:00
Chun-Min Chang d7aacc3bc4 Bug 1589514 - P2: Update cubeb-coreaudio-rs to 92e2e11. r=padenot
Depends on D50002

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

--HG--
extra : moz-landing-system : lando
2019-10-22 11:46:55 +00:00
Chun-Min Chang d8668b05bc Bug 1589514 - P1: Update script importing cubeb-coreaudio-rs. r=padenot
Pick commits:
92e2e11 - minor style fix
5163960 - Update authors
fdb0b1d - Make utf8_from_cfstringref work with empty CFStringRef (#20)
a39bf5f - Remove a fixed issue

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

--HG--
extra : moz-landing-system : lando
2019-10-22 11:46:32 +00:00
Bogdan Tara 5109dc7399 Backed out changeset c3295fe9b509 (bug 1588123) for bustages complaining about rules.mk & recurse.mk CLOSED TREE
--HG--
rename : third_party/dav1d/package/snap/snapcraft.yaml => third_party/dav1d/snap/snapcraft.yaml
2019-10-22 18:28:27 +03:00
Dan Minor 1f9f60bf3d Bug 1588123 - Update libdavid to 0.5 + one commit; r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D49897

--HG--
rename : third_party/dav1d/snap/snapcraft.yaml => third_party/dav1d/package/snap/snapcraft.yaml
extra : moz-landing-system : lando
2019-10-21 13:47:25 +00:00
Matthew Gregan 9638ad722c Bug 1590246 - Update audioipc to 8af8083a. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50000

--HG--
extra : moz-landing-system : lando
2019-10-22 01:31:31 +00:00
Mihai Alexandru Michis 922400506b Backed out 2 changesets (bug 1590246) for causing windows bustages on audioipc-client. CLOSED TREE
Backed out changeset 586eef699017 (bug 1590246)
Backed out changeset 37e879bff967 (bug 1590246)
2019-10-22 03:59:01 +03:00
Matthew Gregan dc5bf91654 Bug 1590246 - Update audioipc to 8f2a9e0a. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D50000

--HG--
extra : moz-landing-system : lando
2019-10-22 00:01:07 +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
Jan Beich d354b5e3a2 Bug 1588669 - Allow ALSA/SNDIO lazy bindings after 81926b0c0d8c. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D49258

--HG--
extra : moz-landing-system : lando
2019-10-15 09:33:33 +00:00
Paul Adenot c9cbd16860 Bug 1575883 - Update cubeb-pulse-rs to f9eb50b8. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47281

--HG--
extra : moz-landing-system : lando
2019-10-11 16:00:41 +00:00
Paul Adenot 27ec83b3f0 Bug 1575883 - Update audioipc to b82970f. r=kinetik
This includes https://github.com/djg/audioipc-2/pull/75, is and from by fork, to
test. To be replaced with upstream when landing.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 16:00:41 +00:00
Paul Adenot 1f614d2cd1 Bug 1575883 - Update cubeb-coreaudio-rs to fd242ea. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47278

--HG--
extra : moz-landing-system : lando
2019-10-11 15:44:18 +00:00
Paul Adenot 8088048155 Bug 1575883 - Update cubeb to a1200c34. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D47277

--HG--
extra : moz-landing-system : lando
2019-10-11 16:05:55 +00:00
Paul Adenot 6571cd8b7b Bug 1575883 - Remove cubeb_panner.{cpp,h} from the cubeb update script. r=kinetik
Those files have been removed upstream.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 15:50:18 +00:00
Paul Adenot e489af208a Bug 1575883 - Backed out changeset 86f456156bd0. r=kinetik
Going over the RT budget is now handled by demoting the thread instead of
crashing.

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

--HG--
extra : moz-landing-system : lando
2019-10-11 15:50:18 +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
Sylvestre Ledru ed331805ac Bug 1587905 - Remove useless variable 'r' declaration & assignation r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D48890

--HG--
extra : moz-landing-system : lando
2019-10-11 07:32:47 +00:00
Tom Ritter 6e3753f7eb Bug 1585359 - Remove mingw-gcc configuration stuff from libaom r=jya
mingw-gcc is no longer supported.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 18:30:56 +00:00
Tom Ritter f388fabece Bug 1585358 - Remove mingw-gcc configuration stuf from libvpx r=jya
mingw-gcc is no longer supported.

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

--HG--
extra : moz-landing-system : lando
2019-10-10 18:30:56 +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 440e93cd99 Bug 1567201 - Support multiple queries in a single packet; r=ng
If there are multiple pending queries, this allows up to five of them to be
sent in a single packet. This also adds a check to ensure we don't already have
a pending query for a hostname prior to sending a new query.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:26 +00:00
Dan Minor dd9ed3ddc3 Bug 1567201 - Obfuscate server reflex candidates if necessary; r=ng
According to https://tools.ietf.org/html/draft-ietf-rtcweb-mdns-ice-candidates-03#section-3.1.2.1
we need to hide the rel-addr and rel-port attributes for server reflex
candidates in order to avoid leaking local addresses.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:14 +00:00
Dan Minor 7e51c599cd Bug 1567201 - Join multicast group on all interfaces; r=mjf
We need to join the multicast group on all network interfaces or we may end up
missing packets. There is a limit on the number of groups joinable by a single
socket (20 on my Linux system) but it doesn't seem worth worrying about
hitting that limit at the moment as it seems unlikely that many users would
have more than 20 network interfaces on a system on which they are running
Firefox.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:59:02 +00:00
Dan Minor 1083dfbb67 Bug 1567201 - Add unit tests for mdns_service; r=ng
This adds Rust unit tests for some of the edge cases in handling queries
like limits and retries.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:50 +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 3028caf0cb Bug 1567201 - Validate hostname prior to registration and querying; r=ng
We don't want web content to use mDNS to map out the local network, so
we only support registering and querying hostnames that are valid
UUIDs (followed by .local).

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:30 +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
Dan Minor 340d659b0c Bug 1567201 - Add query support to mdns_service; r=mjf
This adds basic query support to the mdns_service. Support for limiting
the number of pending queries, timeouts and retries is added in
another commit in this series.

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

--HG--
extra : moz-landing-system : lando
2019-10-01 12:58:18 +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
Byron Campen [:bwc] 68c6661fe1 Bug 1583046: Tighten down threading rules. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D47086

--HG--
extra : moz-landing-system : lando
2019-09-26 15:15:33 +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
Michael Froman a32233c9b1 Bug 1582271 - pt4 - add ffvpx mp3 decoding for android32. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46426

--HG--
extra : moz-landing-system : lando
2019-09-25 14:50:02 +00:00
Michael Froman 456979ca99 Bug 1582271 - pt3 - add ffvpx mp3 decoding for aarch64. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46425

--HG--
extra : moz-landing-system : lando
2019-09-24 21:02:26 +00:00
Michael Froman e290922048 Bug 1582271 - pt2 - add ffvpx mp3 decoding for linux/macOS/win. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D46424

--HG--
extra : moz-landing-system : lando
2019-09-24 21:18:24 +00:00
Michael Froman 36adeaea97 Bug 1582271 - pt1 - prep ffvpx files for adding mp3 support. r=jya
- Update README_MOZILLA for adding mp3 support, and add some clarifying text.
 - Clang-format config.h for easier reading since it is our file, not ffmpeg's.
 - Use sort -d -u to produce defaults_disabled.* files so linux and macOS
   produce same files.
 - Change MOZ_FFVPX_FLACONLY to MOZ_FFVPX_AUDIOONLY since it indicates flac
   and mp3 decoders.
 - Rename config_flac.h to config_audio.h

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

--HG--
rename : media/ffvpx/config_flac.h => media/ffvpx/config_audio.h
extra : moz-landing-system : lando
2019-09-24 21:02:07 +00:00
Paul Adenot 91571117b5 Bug 1582222 - Disable rt threads for Linux for now. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D46570

--HG--
extra : moz-landing-system : lando
2019-09-24 11:23:25 +00:00
Alex Chronopoulos ac0da8b368 Bug 1582743 - Update dav1d from upstream to commit c0865f3. r=TD-Linux
Differential Revision: https://phabricator.services.mozilla.com/D46762

--HG--
extra : moz-landing-system : lando
2019-09-23 18:02:33 +00:00
Byron Campen [:bwc] e429b89b10 Bug 1582646: Cancel proxy lookup when socket closes. r=mjf
Also, since OnProxyAvailable always happens on main regardless of the target we
set, don't bother setting the target.

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

--HG--
extra : moz-landing-system : lando
2019-09-20 15:13:44 +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] 8184381274 Bug 1581950: Prevent nr_ice_component_insert_pair from leaking. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46231

--HG--
extra : moz-landing-system : lando
2019-09-18 22:00:13 +00:00
Byron Campen [:bwc] 72bcc87880 Bug 1569183: Simplify how NrSockets specify whether they're proxied or not. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D46032

--HG--
extra : moz-landing-system : lando
2019-09-17 18:19:19 +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] 2fe90843a0 Bug 1569183: Update OnConnected callbacks to specify what type of proxying (if any) is being used, and implement IsProxied based on this information. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45186

--HG--
extra : moz-landing-system : lando
2019-09-17 18:18:33 +00:00
Byron Campen [:bwc] 6c7a8c9a4e Bug 1569183: Remove NrTcpSocketIpc. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45111

--HG--
extra : moz-landing-system : lando
2019-09-17 18:18:08 +00:00
Byron Campen [:bwc] 047fe556a4 Bug 1569183: Make the proxy_only pref disable UDP. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45105

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:51 +00:00
Byron Campen [:bwc] fbfb9f6754 Bug 1569183: Make proxy config parameters optional in WebrtcTCPSocket to get the NAT simulator working again. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45104

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:37 +00:00
Byron Campen [:bwc] 493161e6a3 Bug 1569183: Teach WebrtcTCPSocket to use TLS when configured to. r=mjf,mayhemer
Differential Revision: https://phabricator.services.mozilla.com/D45103

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:24 +00:00
Byron Campen [:bwc] 9e6bcf1480 Bug 1569183: Teach WebrtcTCPSocket to bind to a specific host/port. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45102

--HG--
extra : moz-landing-system : lando
2019-09-17 18:17:18 +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
Byron Campen [:bwc] c368262621 Bug 1569183: Rename NrSocketProxy to NrTcpSocket, and use NrTcpSocket for TCP on content/socket process. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45099

--HG--
rename : media/mtransport/nr_socket_proxy.cpp => media/mtransport/nr_socket_tcp.cpp
rename : media/mtransport/nr_socket_proxy.h => media/mtransport/nr_socket_tcp.h
extra : moz-landing-system : lando
2019-09-17 18:17:11 +00:00
Byron Campen [:bwc] ffa09cee72 Bug 1569183: Rename PWebrtcProxyChannel to PWebrtcTCPSocket. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45098

--HG--
rename : media/mtransport/WebrtcProxyChannelWrapper.cpp => media/mtransport/WebrtcTCPSocketWrapper.cpp
rename : media/mtransport/WebrtcProxyChannelWrapper.h => media/mtransport/WebrtcTCPSocketWrapper.h
rename : media/mtransport/ipc/PWebrtcProxyChannel.ipdl => media/mtransport/ipc/PWebrtcTCPSocket.ipdl
rename : media/mtransport/ipc/WebrtcProxyChannel.cpp => media/mtransport/ipc/WebrtcTCPSocket.cpp
rename : media/mtransport/ipc/WebrtcProxyChannel.h => media/mtransport/ipc/WebrtcTCPSocket.h
rename : media/mtransport/ipc/WebrtcProxyChannelCallback.h => media/mtransport/ipc/WebrtcTCPSocketCallback.h
rename : media/mtransport/ipc/WebrtcProxyChannelChild.cpp => media/mtransport/ipc/WebrtcTCPSocketChild.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelChild.h => media/mtransport/ipc/WebrtcTCPSocketChild.h
rename : media/mtransport/ipc/WebrtcProxyLog.cpp => media/mtransport/ipc/WebrtcTCPSocketLog.cpp
rename : media/mtransport/ipc/WebrtcProxyLog.h => media/mtransport/ipc/WebrtcTCPSocketLog.h
rename : media/mtransport/ipc/WebrtcProxyChannelParent.cpp => media/mtransport/ipc/WebrtcTCPSocketParent.cpp
rename : media/mtransport/ipc/WebrtcProxyChannelParent.h => media/mtransport/ipc/WebrtcTCPSocketParent.h
extra : moz-landing-system : lando
2019-09-17 18:15:41 +00:00
Byron Campen [:bwc] 5aea6ddbff Bug 1569183: Teach WebrtcProxyChannel to handle non-proxied TCP connections, and SOCKS proxying because that was easy to do also. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45097

--HG--
extra : moz-landing-system : lando
2019-09-17 18:15:23 +00:00
Byron Campen [:bwc] 663351b2eb Bug 1569183: Add some much-needed logging to this function. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D45096

--HG--
extra : moz-landing-system : lando
2019-09-17 18:15:06 +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
Matthew Gregan 25b3f4cfbc Bug 1575131 - Update libcubeb for IAudioClient3 support on Win10. r=padenot
This picks up the work contributed by @ligfx in https://github.com/kinetiknz/cubeb/pull/530.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 07:52:25 +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
Ryan Alderete 862aa4197f Bug 1579506 - Remove OpenAES source code and references r=bryce,mhoye
With NSS now being used to do the decryption in the Clearkey CDM, remove the
source and licensing information related to OpenAES.

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

--HG--
extra : moz-landing-system : lando
2019-09-12 23:27:08 +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
Mike Shal f8f5fce637 Bug 1496746 - Remove VPATH; r=glandium
Having a full VPATH for the srcdir sometimes causes make to grab the
wrong prerequisite for a rule, in particular if we have a file in the
srcdir and also generate a file of the same name in the objdir. We don't
really need VPATH anymore though, since most of the information comes
from mozbuild, where we can explicitly list the path to the srcdir or
objdir as necessary.

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

--HG--
extra : moz-landing-system : lando
2019-09-09 17:44:47 +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
Ryan Alderete 2e2b52b880 Bug 1572846 - Update Clearkey to use NSS for decryption instead of OpenAES r=bryce,jld
Clearkey previously relied on OpenAES to do its encryption.  In order to
facilitate future changes and the need for CBC support, switch to NSS, which
should be more flexible and actively maintained.

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

--HG--
extra : moz-landing-system : lando
2019-09-05 19:19:06 +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
Ryan VanderMeulen 15c1a17047 Bug 1508198 - Update libjpeg-turbo to 2.0.3. r=aosmond
Differential Revision: https://phabricator.services.mozilla.com/D44851

--HG--
extra : moz-landing-system : lando
2019-09-05 16:49:12 +00:00
Christian Holler d5d628a5fb Bug 1577571 - Add OnUpgradeFailed to nsIHttpUpgradeListener. r=michal
Differential Revision: https://phabricator.services.mozilla.com/D44680

--HG--
extra : moz-landing-system : lando
2019-09-05 12:10:27 +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
Eric Rahm 2f5a215771 Bug 1577885 - Remove using namespace std from GMP ClearKey r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D44269

--HG--
extra : moz-landing-system : lando
2019-09-03 19:10:42 +00:00
Cameron Kaiser 47b9886e70 Bug 1576433 - Enable SIMD in libjpeg for PowerPC. r=glandium
Differential Revision: https://phabricator.services.mozilla.com/D43352

--HG--
extra : moz-landing-system : lando
2019-09-03 00:15:52 +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 eae489fda9 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 19:51:18 +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 2511d2ab0c Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:51 +00:00
Dan Minor 51353ec9f7 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 19:50:44 +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
Dan Minor 6c39c9271f Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:24 +00:00
Dan Minor 6285d788cc Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 19:49:12 +00:00
Dan Minor 04580ed952 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 19:48:50 +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 a81f8d6f24 Bug 1554976 - Use StunAddrs to set interface for mdns_service; r=mjf
The Rust get_if_addrs library previously used does not build on Android with
our build system. Since we're already using nICEr to determine the local
interface addresses, rather than fix the Rust library, we can use those
addresses to set the interface on which mdns_service listens.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:26 +00: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 c3d8942d0f Bug 1554976 - Make mDNS service a singleton; r=mjf
The current code causes one mDNS service to be created for each PeerConnection.
Due to Bug 1569311, the services persist until shutdown, which can lead to a
lot of mDNS threads running on sites which use WebRTC for fingerprinting. This
change makes it so we start at most one mDNS service.

I've filed Bug 1569955 to look at shutting down the mDNS service after the
last hostname is unregistered. As an alternative, if we fix Bug 1569311, we
could also use refcounting and stop the mDNS service after the last
StunAddrsRequestParent is freed.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 13:12:01 +00:00
Dan Minor d54770d4a5 Bug 1554976 - Use mdns_service to generate UUIDs; r=mjf
With the move to the socket process, the UUID service is no longer available
in nricectx. This adds a pair of helper functions to mdns_service to generate
UUIDs and uses them to generate hostnames inside nricectx.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:49 +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
Dan Minor 9fa62a0a55 Bug 1554976 - Generate mDNS addresses in nricectx; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38493

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:14 +00:00
Dan Minor 6803a86c10 Bug 1554976 - Add methods to register/unregister mDNS hostnames to StunAddrsRequestParent; r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D38492

--HG--
extra : moz-landing-system : lando
2019-08-28 13:11:11 +00:00
Dan Minor a17af56ba5 Bug 1554976 - Add rust mdns library to mtransport; r=ng,dragana
This adds a mdns_service to mtransport to handle responding to mDNS queries.
All hostnames will be generated from UUIDs, so the responder assumes that it
is the only responder for a hostname which is registered with it. Because of
this, the responder does not first make a DNS query itself to see if any other
responder is handling a hostname, and does not wait a random amount of time
before replying, both of which are required by the specification to avoid
collisions with other responders.

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

--HG--
extra : moz-landing-system : lando
2019-08-28 13:09:59 +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
Sylvestre Ledru d264b841c9 Bug 1576502 - Fix some wording issues r=mhoye
Differential Revision: https://phabricator.services.mozilla.com/D43363

--HG--
extra : moz-landing-system : lando
2019-08-27 15:38:58 +00:00
Paul Adenot c23f8dcae9 Bug 1576168 - Update audio_thread_priority to 0.19.1. r=pehrsons
This changes the hard-limit of `RLIMIT_RTTIME` to be the maximum available
(200ms on my system), and keep the soft limit to the same number.

Having different numbers allow catching SIGXCPU before getting SIGKILL.

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

--HG--
extra : moz-landing-system : lando
2019-08-27 08:00:36 +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
Coroiu Cristina 38d7f20baa Backed out 2 changesets (bug 1576168) for build bustages on a CLOSED TREE
Backed out changeset 3ea6795200b1 (bug 1576168)
Backed out changeset 4e8fc76cd529 (bug 1576168)
2019-08-26 19:46:38 +03:00
Paul Adenot 1029a3ce04 Bug 1576168 - Update audio_thread_priority to 0.19.0. r=pehrsons
This changes the hard-limit of `RLIMIT_RTTIME` to be the maximum available
(200ms on my system), and keep the soft limit to the same number.

Having different numbers allow catching SIGXCPU before getting SIGKILL.

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

--HG--
extra : moz-landing-system : lando
2019-08-26 14:20:22 +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
Tijl Coosemans 9c3421dfef Bug 1575876 - Drop header unused on FreeBSD that breaks with new libc++. r=bwc
--HG--
extra : histedit_source : ef16b712dcd62120d01b902a5f734a8163c907a3
2019-08-24 01:38:05 +03:00
Matthew Gregan 36165906fe Bug 1575679 - Update libnestegg to pick up PR 65. r=bryce
Differential Revision: https://phabricator.services.mozilla.com/D42966

--HG--
extra : moz-landing-system : lando
2019-08-21 21:50:42 +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
Ryan Alderete dccf61abe4 Bug 1574512 - Fix error handling in nr_ice_set_target_for_default_local_address_lookup() r=bwc
If the remote IP address and port number are unable to be converted to a
transport address, the context was incorrectly left with a pointer to zeroed
out memory, which causes nr_ice_get_default_local_address() to abort.  Freeing
the address and setting the pointer to null on failure should allow the
fallback to be used to retrieve the default local address.

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

--HG--
extra : moz-landing-system : lando
2019-08-20 15:46:59 +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
Paul Adenot 5366291789 Bug 1574914 - Bump audio_thread_priority to 0.18. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D42504

--HG--
extra : moz-landing-system : lando
2019-08-19 13:50:08 +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
Chun-Min Chang 4c2709e357 Bug 1574644 - Update cubeb-coreaudio-rs to version 71faddb. r=kinetik
Differential Revision: https://phabricator.services.mozilla.com/D42382

--HG--
extra : moz-landing-system : lando
2019-08-16 22:20:30 +00:00
Mike Hommey c53b03de07 Bug 1572986 - Link libmozavutil against libatomic when needed. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D41483

--HG--
extra : moz-landing-system : lando
2019-08-12 16:47:40 +00:00
Sylvestre Ledru 645f2d5773 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

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

--HG--
extra : moz-landing-system : lando
2019-08-13 07:15:25 +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
Chun-Min Chang 817f6f88f6 Bug 1570446 - P2: Update cubeb-coreaudio-rs to version ee0f981. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D39979

--HG--
extra : moz-landing-system : lando
2019-08-02 18:29:37 +00:00
Chun-Min Chang f29bfc124d Bug 1570446 - P1: Update script importing cubeb-coreaudio-rs to gecko. r=padenot
- Don't import the build settings since the settings in gecko is more
complicated.
- Print out the picked commits when running the scripts

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

--HG--
extra : moz-landing-system : lando
2019-08-02 18:29:25 +00:00
Paul Adenot 6e399961ed Bug 1570948 - Bump audio_thread_priority to 0.17. r=pehrsons
Differential Revision: https://phabricator.services.mozilla.com/D40410

--HG--
extra : moz-landing-system : lando
2019-08-02 12:44:33 +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
Matthew Gregan 536af4fbf3 Bug 1569460 - Update AudioIPC to f6f56c43. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39802

--HG--
extra : moz-landing-system : lando
2019-07-29 23:17:56 +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
Mike Hommey 7acef03e16 Bug 1569331 - Use the more traditional way to override dependencies for coreaudio-sys. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D39579

--HG--
extra : moz-landing-system : lando
2019-07-27 00:35:09 +00:00
Matthew Gregan e0fdf04539 Bug 1569090 - Update audioipc to 177ebd96. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39453

--HG--
rename : media/audioipc/audioipc/src/async.rs => media/audioipc/audioipc/src/async_msg.rs
extra : moz-landing-system : lando
2019-07-27 13:14:23 +00:00
Daniel Varga eadf32a8eb Backed out 2 changesets (bug 1569090) for causing debug SM build fail with error: failed to load source for a dependency on `mio-named-pipes`. On a CLOSED TREE
Backed out changeset 6aa27e77e38f (bug 1569090)
Backed out changeset 5251efcd4ac1 (bug 1569090)

--HG--
rename : media/audioipc/audioipc/src/async_msg.rs => media/audioipc/audioipc/src/async.rs
rename : third_party/rust/tokio-named-pipes/LICENSE-APACHE => third_party/rust/fs2/LICENSE-APACHE
rename : third_party/rust/memmap-0.6.2/LICENSE-APACHE => third_party/rust/memmap-0.5.2/LICENSE-APACHE
rename : third_party/rust/tokio-named-pipes/LICENSE-MIT => third_party/rust/memmap-0.5.2/LICENSE-MIT
rename : third_party/rust/memmap-0.6.2/ci/install.sh => third_party/rust/memmap-0.5.2/ci/install.sh
2019-07-27 12:58:34 +03:00
Matthew Gregan ae4794f5de Bug 1569090 - Update audioipc to 177ebd96. r=chunmin
Differential Revision: https://phabricator.services.mozilla.com/D39453

--HG--
rename : media/audioipc/audioipc/src/async.rs => media/audioipc/audioipc/src/async_msg.rs
extra : moz-landing-system : lando
2019-07-26 16:51:29 +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