Commit Graph

3448 Commits

Author SHA1 Message Date
Nico Grunbaum
0abad4cc61 Bug 1570549 - P1 - refactor into common SDP parser interface - r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D52323

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Tested with external cameras as well.

Bug: webrtc:8958

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

--HG--
extra : moz-landing-system : lando
2019-10-15 15:26:01 +00:00