Commit Graph

3147 Commits

Author SHA1 Message Date
Nico Grunbaum
f7e4ecddf4 Bug 1515716 - refactor the RTC RTP stats types to match spec r=jib,smaug
realigning the RTP stats types to match spec. This involves breaking out the remote dictionary types. This shouldn't create user space visible changes.

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

--HG--
extra : moz-landing-system : lando
2019-03-26 06:06:36 +00:00
Andreas Pehrson
021e97c215 Bug 1423253 - Make future frames in MediaPipeline black when a track is disabled. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22928

--HG--
extra : moz-landing-system : lando
2019-03-22 11:45:15 +00:00
Andreas Pehrson
a35ff7f46e Bug 1423253 - Move VideoFrameConverter to its own file. r=dminor
This lets us unit test it in a future patch.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:45:23 +00:00
Andreas Pehrson
e57962eea8 Bug 1423253 - Remove durations from VideoSegment::AppendFrame. r=padenot
VideoSegments still have durations, and they are still needed by the
MediaStreamGraph as it shuffles MediaSegments around.
They do not have a say in the wall-clock duration of video frames however.
Removing this should prevent any producers starting to add video chunks with
durations in the future.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:40 +00:00
Andreas Pehrson
0bb89b2b34 Bug 1423253 - Remove pulling (and mutex) from MediaPipelineReceiveVideo. r=padenot
Differential Revision: https://phabricator.services.mozilla.com/D22912

--HG--
extra : moz-landing-system : lando
2019-03-22 11:43:32 +00:00
Andreas Pehrson
9ca802f154 Bug 1423253 - Use a timer to make sure we keep sending video over a peer connection when there's no input. r=dminor
The webrtc-pc spec says:
> If track is ended, or if the track's output is disabled, i.e. the track is
> disabled and/or muted, the RTCRtpSender MUST send silence (audio),
> black frames (video) or a zero-information-content equivalent.
> In the case of video, the RTCRtpSender SHOULD send one black frame per second.

This patch covers the case when the output is disabled, and the case when no
frames reach the MediaPipeline, for both direct and non-direct video listeners.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:11 +00:00
Andreas Pehrson
5fa61e274d Bug 1423253 - Remove mMutex from VideoFrameConverter. r=dminor
Differential Revision: https://phabricator.services.mozilla.com/D23708

--HG--
extra : moz-landing-system : lando
2019-03-22 11:42:04 +00:00
Andreas Pehrson
a8f25bd13a Bug 1506093 - Remove MediaStreamVideoSink. r=padenot
The way it's implemented it only adds plumbing and overhead, no value.
This patch moves it to a thin wrapper around DirectMediaStreamTrackListener,
managed by VideoStreamTrack, instead.

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

--HG--
extra : moz-landing-system : lando
2019-03-22 11:41:39 +00:00
Byron Campen [:bwc]
d931e71177 Bug 1531122 - Part 1: Keep generated offers and answers separate. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D24216

--HG--
extra : moz-landing-system : lando
2019-03-20 19:03:32 +00:00
Dan Minor
803d8e1547 Bug 1535584 - Restore UpdateCodecFrameSize to vp9_impl.cc; r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D23713

--HG--
extra : moz-landing-system : lando
2019-03-21 15:48:46 +00:00
Boris Zbarsky
f81be92ae2 Bug 1535384 part 2. Eliminate MOZ_CAN_RUN_SCRIPT_BOUNDARY on some webrtc callbacks. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D23773

--HG--
extra : moz-landing-system : lando
2019-03-19 04:32:43 +00:00
Byron Campen [:bwc]
b6c6f6df02 Bug 1518672: Sync transceivers before firing signalingstatecheanged. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D23906

--HG--
extra : moz-landing-system : lando
2019-03-19 21:07:30 +00:00
Byron Campen [:bwc]
3d252b6e25 Bug 1534673 - Part 4: Stop comparing track ids in jsep_track_unittest. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D23704

--HG--
extra : moz-landing-system : lando
2019-03-19 16:21:13 +00:00
Byron Campen [:bwc]
b550a2d16a Bug 1534673 - Part 3: Some updates to jsep_session_unittest to avoid comparing track-ids, and stop using msid-semantic. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D23208

--HG--
extra : moz-landing-system : lando
2019-03-19 16:21:29 +00:00
Byron Campen [:bwc]
965afb8428 Bug 1534673 - Part 1: Stop paying attention to a=msid-semantic. Simplify some code that was still paying attention to the appdata part of msid. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D23205

--HG--
extra : moz-landing-system : lando
2019-03-19 16:03:23 +00:00
Byron Campen [:bwc]
5c51da3c23 Bug 1318167 - Part 4: Incorporate remote end-of-candidates into SDP. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D23220

--HG--
extra : moz-landing-system : lando
2019-03-19 16:48:38 +00:00
Dan Minor
111aed14cd Bug 1535766 - Handle unaligned buffers in WebrtcGmpVideoCodec::Encoded; r=bwc
This uses the Endian routines to ensure that reads will match the endianess
of the current machine, which is the expected behaviour of the openh264
plugin. The calls to readUint16 and readUint32 memcpy to a properly aligned
buffer avoiding any problems with alignment. The memcpy adds some overhead
but it seems negligible compared to the amount of work done to packetize and
send the encoded data.

These changes were tested by adding code to create an unaligned buffer and
memcopying the received buffer into it.

This also adds a null check for the received buffer as we have seen a small
volume of null pointer crashes.

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

--HG--
extra : moz-landing-system : lando
2019-03-19 17:15:39 +00:00
Byron Campen [:bwc]
9d9532b7d9 Bug 1531505 - Part 1: Ignore source-level msid if media-level msid is present. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D23202

--HG--
extra : moz-landing-system : lando
2019-03-15 18:04:23 +00:00
Sylvestre Ledru
4aa92e3091 Bug 1519636 - Reformat recent changes to the Google coding style r=Ehsan
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D22514
2019-03-13 10:19:06 +01:00
David Major
e5773183d6 Bug 1528074 - Remove MSVC warning flags that clang-cl doesn't understand r=chmanchester
Per the previous patch, clang-cl only understands five MSVC-style warning flags: 7219c7e9af/clang/include/clang/Driver/CLCompatOptions.td (L188-L197)

This patch removes the flags that clang-cl doesn't understand.

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

--HG--
extra : moz-landing-system : lando
2019-03-13 20:19:08 +00:00
Byron Campen [:bwc]
08f7738011 Bug 1531075: Allow offers to be created/set without any transceivers, re-enable some tests, and fix a mochitest. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D23022

--HG--
extra : moz-landing-system : lando
2019-03-13 16:46:40 +00:00
Brindusan Cristian
e0156ff6d2 Backed out changeset add69e4bd9af (bug 1531075) for wpt failures at RTCPeerConnection-setRemoteDescription-offer.html. CLOSED TREE 2019-03-13 18:22:39 +02:00
Byron Campen [:bwc]
24473522b3 Bug 1531075: Allow offers to be created/set without any transceivers, re-enable some tests, and fix a mochitest. r=jib
Differential Revision: https://phabricator.services.mozilla.com/D23022

--HG--
extra : moz-landing-system : lando
2019-03-13 02:23:39 +00:00
Byron Campen [:bwc]
c630882575 Bug 1531156 - Part 2: Some code simplification that part 1 lets us do. r=smaug,jib
Differential Revision: https://phabricator.services.mozilla.com/D22209

--HG--
extra : moz-landing-system : lando
2019-03-11 21:01:21 +00:00
Byron Campen [:bwc]
c33b5e6569 Bug 1490658: Support RTCIceCandidate.usernameFragment. r=mjf,smaug
Differential Revision: https://phabricator.services.mozilla.com/D21803

--HG--
extra : moz-landing-system : lando
2019-03-08 15:24:27 +00:00
Byron Campen [:bwc]
0a982dc0c7 Bug 1533261: Check whether PeerConnectionCtx is active before calling GetInstance. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D22530

--HG--
extra : moz-landing-system : lando
2019-03-08 15:25:20 +00:00
Dan Minor
0aa8a8ce34 Bug 1519535 - Check that deviceNumber is valid in GetDeviceName; r=jib
Differential Revision: https://phabricator.services.mozilla.com/D21945

--HG--
extra : moz-landing-system : lando
2019-03-06 15:41:35 +00:00
Gurzau Raul
eedd13105c Backed out changeset 621207c8ef88 (bug 1515716) for failing at /src/base/pickle.cc on a CLOSED TREE. 2019-03-06 12:13:46 +02:00
Nico Grunbaum
73eb7b29fb Bug 1515716 - refactor the RTC RTP stats types to match spec r=jib,smaug
realigning the RTP stats types to match spec. This involves breaking out the remote dictionary types. This shouldn't create user space visible changes.

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

--HG--
extra : moz-landing-system : lando
2019-03-06 01:50:20 +00:00
Nico Grunbaum
804dd49ed4 Bug 1530025 - shift video only functions from MediaConduitInterface to VideoSessionConduit r=dminor
Moving video only functions from MediaConduitInterface to VideoSessionInterface

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

--HG--
extra : moz-landing-system : lando
2019-03-05 18:33:01 +00:00
Jeff Walden
3f385ffa33 Bug 1532005 - Implement a new js/public/ArrayBuffer.h header to centralize functionality for creating and interacting with ArrayBuffers. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D21827

--HG--
extra : rebase_source : 833bbfce12d90bcb92f7cd88ec65247e48c024c0
2019-03-04 15:19:16 -08:00
Razvan Maries
65e4948ca0 Backed out 4 changesets (bug 1532005, bug 1531638) for causing perma fails and Spidermonkey fail. CLOSED TREE
Backed out changeset 4913d941de92 (bug 1532005)
Backed out changeset 9635abe5bf24 (bug 1532005)
Backed out changeset 738cf4b1126a (bug 1532005)
Backed out changeset e5d9f2ee7ac7 (bug 1531638)
2019-03-05 01:07:28 +02:00
Jeff Walden
ecb4e10bda Bug 1532005 - Implement a new js/public/ArrayBuffer.h header to centralize functionality for creating and interacting with ArrayBuffers. r=sfink
Differential Revision: https://phabricator.services.mozilla.com/D21827

--HG--
extra : rebase_source : 36c43233ad6d804bd691c8c40d6a6984331c7162
2019-02-28 17:00:56 -08:00
Gurzau Raul
6b94d177d1 Merge mozilla-central to inbound. a=merge CLOSED TREE 2019-03-01 09:28:28 +02:00
Byron Campen [:bwc]
19b3cd0725 Bug 1530815: Call RLogConnector::CreateInstance on main, not STS, because that's where we init the nr_registry stuff normally. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D21376

--HG--
extra : moz-landing-system : lando
2019-02-28 20:20:34 +00:00
Ryan Hunt
d5e3e54658 Bug 1523969 part 15 - Move method definition inline comments to new line in 'media/'. r=jya
Differential Revision: https://phabricator.services.mozilla.com/D21116

--HG--
extra : rebase_source : bf7d4b2a09768420f8da04d82d34afed374d7961
2019-02-25 16:09:55 -06:00
Byron Campen [:bwc]
7cb968d18c Bug 1521879 - Part 6: Disable SetProxyServer for the IPC implementation until bug 1521113 is fixed or worked around. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17560

--HG--
extra : moz-landing-system : lando
2019-02-25 21:52:01 +00:00
Byron Campen [:bwc]
25ad4a9108 Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-25 21:50:58 +00:00
Byron Campen [:bwc]
8b6cc6a51f Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-25 21:50:42 +00:00
Gurzau Raul
e6740c75fc Backed out 10 changesets (bug 1521879) for causing bug 1530107. a=backout
Backed out changeset f597a73a6eac (bug 1521879)
Backed out changeset 0bb76534f207 (bug 1521879)
Backed out changeset abcb8be12adf (bug 1521879)
Backed out changeset ed6c8d3bbfde (bug 1521879)
Backed out changeset 1addf1e15b55 (bug 1521879)
Backed out changeset 6b709cd9a479 (bug 1521879)
Backed out changeset 07747027c59c (bug 1521879)
Backed out changeset a6105ccc188c (bug 1521879)
Backed out changeset 48c9c643e7bb (bug 1521879)
Backed out changeset d4004105a04a (bug 1521879)
2019-02-25 12:12:15 +02:00
Jean-Yves Avenard
964cc95e13 Bug 1524890 - P5. Make MediaData::Type an enum class. r=bryce
Make its use more explicit and less likely to be incorrect.

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

--HG--
extra : moz-landing-system : lando
2019-02-22 09:18:18 +00:00
Byron Campen [:bwc]
0cc4a5cf36 Bug 1521879 - Part 6: Disable SetProxyServer for the IPC implementation until bug 1521113 is fixed or worked around. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17560

--HG--
extra : moz-landing-system : lando
2019-02-21 20:26:31 +00:00
Byron Campen [:bwc]
5ca6cf53af Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-21 20:25:07 +00:00
Byron Campen [:bwc]
7ab14bdf2c Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 20:24:54 +00:00
Brindusan Cristian
136394135f Backed out 9 changesets (bug 1521879) for flake failures at /transforms/tests.py. CLOSED TREE
Backed out changeset baac167868b3 (bug 1521879)
Backed out changeset 54ac1b47b736 (bug 1521879)
Backed out changeset 94b62c6f22e2 (bug 1521879)
Backed out changeset d44f15fd4529 (bug 1521879)
Backed out changeset 761fca0514fb (bug 1521879)
Backed out changeset 0b85b1a7c1ce (bug 1521879)
Backed out changeset 5dc76e863a02 (bug 1521879)
Backed out changeset 604b9a007fe5 (bug 1521879)
Backed out changeset c414d82a5325 (bug 1521879)
2019-02-21 19:32:31 +02:00
Byron Campen [:bwc]
a5dd4a73be Bug 1521879 - Part 6: Disable SetProxyServer for the IPC implementation until bug 1521113 is fixed or worked around. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17560

--HG--
extra : moz-landing-system : lando
2019-02-21 15:32:47 +00:00
Byron Campen [:bwc]
bc939b7978 Bug 1521879 - Part 1.1: Compensate for changes to how IPC headers are generated in the last rebase. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D19975

--HG--
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.h => dom/media/webrtc/MediaTransportParent.h
rename : media/webrtc/signaling/src/peerconnection/MediaTransportHandlerParent.cpp => media/webrtc/signaling/src/peerconnection/MediaTransportParent.cpp
extra : moz-landing-system : lando
2019-02-21 15:33:57 +00:00
Byron Campen [:bwc]
4604113749 Bug 1521879 - Part 1: IPC-based MediaTransport implementation r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D17273

--HG--
extra : moz-landing-system : lando
2019-02-21 16:42:12 +00:00
Dan Minor
56c52a041c Bug 1522238 - Set frame timestamp in MediaPipeline::ProcessVideoFrame; r=pehrsons
In the past we relied upon ViEEncoder::OnFrame to set the render time for
frames. With the branch 64 update, this code moved to
VideoStreamEncoder::OnFrame, and only sets the timestamp if it is greater than
the current time. This results in broken rtp timestamp estimates in the rtcp
sender report, which causes problems for Meet and possibly other services
that rewrite rtp timestamps based upon the sender report.

This patch explicitly sets the timestamp in MediaPipeline. This should give us
the same behaviour that we had before the branch update without requiring local
modifications to upstream code. This leaves the rtp timestamp as zero as that
was not being set before.

This also removes an unused overload of the VideoFrameConverted method.

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

--HG--
extra : moz-landing-system : lando
2019-02-21 15:21:33 +00:00
Nico Grunbaum
a73b34cad7 Bug 1525341 - RTP audio jitter stat is not updating r=dminor
RTP audio jitter stat is not updating because the playout frequency isn't being set

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

--HG--
extra : moz-landing-system : lando
2019-02-20 19:32:42 +00:00