Commit Graph

62 Commits

Author SHA1 Message Date
Byron Campen
984718e6fa Bug 1534687: Implement RTCRtpParameters.codecs and RTCRtpReceiver.getParameters r=jib,webidl,smaug
We do not mark this field as required right now, because we still have users
that synthesize RTCRtpParameters instead of tweaking the return of
getParameters. The compat mode will ignore any attempt to modify .codecs,
otherwise this will result in the error specified in webrtc-pc.

Differential Revision: https://phabricator.services.mozilla.com/D209305
2024-06-03 23:24:51 +00:00
Dan Baker
7e8ac80538 Bug 1898362 - Changed to case-insensitive check of mimeType between codecs in setCodecPreferences;r=jib
Differential Revision: https://phabricator.services.mozilla.com/D211469
2024-05-28 22:53:34 +00:00
Dan Baker
14c72c8f92 Bug 1396922 - Implement |setCodecPreferences| in RTCRtpTransceiver;r=bwc,jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D207472
2024-05-13 20:10:46 +00:00
Mark Banner
a27f34998d Bug 1884623 - Update more jsm references in production code and docs in dom/. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D204183
2024-03-11 15:26:28 +00:00
Peter Van der Beken
9e9199880e Bug 1640839 - Stop generating a sentinel value at the end of WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201344
2024-03-02 07:50:25 +00:00
Natalia Csoregi
10b9ceb789 Backed out 13 changesets (bug 1640839) for causing bustage on Element.cpp CLOSED TREE
Backed out changeset 179ceb82c9e5 (bug 1640839)
Backed out changeset 73f498a821f0 (bug 1640839)
Backed out changeset dc2d3d0e0365 (bug 1640839)
Backed out changeset ddc989ac0509 (bug 1640839)
Backed out changeset e595bb3feea8 (bug 1640839)
Backed out changeset c85aca04e27f (bug 1640839)
Backed out changeset 98e8e3a4047a (bug 1640839)
Backed out changeset 59ef180517db (bug 1640839)
Backed out changeset af2f5e293662 (bug 1640839)
Backed out changeset 89aa6d9dc598 (bug 1640839)
Backed out changeset 67b722a722f9 (bug 1640839)
Backed out changeset 24a9665c6ced (bug 1640839)
Backed out changeset d93f199385e9 (bug 1640839)
2024-03-01 18:23:08 +02:00
Peter Van der Beken
e0fa109cb0 Bug 1640839 - Stop generating a sentinel value at the end of WebIDL enums. r=mccr8,jgilbert,media-playback-reviewers,padenot
Differential Revision: https://phabricator.services.mozilla.com/D201344
2024-03-01 14:31:15 +00:00
Byron Campen
314a4da777 Bug 1811912: Handling for state updates. r=jib
Also, set up the cycle collection for the transport objects held by PCImpl

Differential Revision: https://phabricator.services.mozilla.com/D193128
2024-02-21 17:21:19 +00:00
Sandor Molnar
19a4c4706d Backed out 7 changesets (bug 1811912) for causing mochitest failures @ dom/tests/mochitest/general/test_interfaces.html CLOSED TREE
Backed out changeset 502af1ea1f4c (bug 1811912)
Backed out changeset da08fd49b4ec (bug 1811912)
Backed out changeset e17aa225e500 (bug 1811912)
Backed out changeset 5eb89e1610b7 (bug 1811912)
Backed out changeset 8c0e34780310 (bug 1811912)
Backed out changeset 0692ec0775c8 (bug 1811912)
Backed out changeset 65eb9f0691f0 (bug 1811912)
2024-02-21 03:12:35 +02:00
Byron Campen
f7ce6739ce Bug 1811912: Handling for state updates. r=jib
Also, set up the cycle collection for the transport objects held by PCImpl

Differential Revision: https://phabricator.services.mozilla.com/D193128
2024-02-21 00:16:52 +00:00
Byron Campen
01a2f446dd Bug 1860794: Tell PC to break cycles if the unlink starts in RTCRtpSender/Receiver/Transceiver. r=mjf
Depends on D191804

Differential Revision: https://phabricator.services.mozilla.com/D191805
2023-10-25 19:44:42 +00:00
Dan Baker
8c3f7cfba6 Bug 1848433 - Enabling RTX when ulpfec/red is used. r=webrtc-reviewers,pehrsons,bwc
Differential Revision: https://phabricator.services.mozilla.com/D186803
2023-09-07 18:52:58 +00:00
Byron Campen
d871a292d1 Bug 1840199: Do not fire a statechange event due to RTCPeerConnection.close(). r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D184746
2023-08-16 18:51:54 +00:00
Byron Campen
29b5d4b118 Bug 1568296: Implement "stopping" state for RTCRtpTransceiver. r=jib,mjf,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D175261
2023-08-08 18:56:38 +00:00
Byron Campen
837490d82a Bug 1631263: Implement RTCRtpScriptTransform. r=pehrsons,jib,asuth,emilio,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D179735
2023-07-20 14:24:27 +00:00
Cristian Tuns
cedc63bf4c Backed out 9 changesets (bug 1631263, bug 1838080) for causing wpt failures in script-transform-generateKeyFrame.https.html CLOSED TREE
Backed out changeset a857a01fb321 (bug 1631263)
Backed out changeset dc46d2be4c25 (bug 1631263)
Backed out changeset 581c7a4d8f5f (bug 1631263)
Backed out changeset 7a2c4be3701d (bug 1631263)
Backed out changeset e091677e39fa (bug 1838080)
Backed out changeset 1eb303981213 (bug 1838080)
Backed out changeset 6c10370ed682 (bug 1838080)
Backed out changeset a614605b47ee (bug 1838080)
Backed out changeset 86fcc8ba6779 (bug 1838080)
2023-07-19 17:03:55 -04:00
Byron Campen
7f4694355b Bug 1631263: Implement RTCRtpScriptTransform. r=pehrsons,jib,asuth,emilio,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D179735
2023-07-19 15:41:06 +00:00
Norisz Fay
ccd30856e8 Backed out 9 changesets (bug 1838080, bug 1631263) for causing VideoConduitTest related failures CLOSED TREE
Backed out changeset 717eac481650 (bug 1631263)
Backed out changeset 2dd5c7b8fe5b (bug 1631263)
Backed out changeset d51f80b53059 (bug 1631263)
Backed out changeset 4cfe27d450e4 (bug 1631263)
Backed out changeset 0fb0b9a4e151 (bug 1838080)
Backed out changeset 3f41779ac63f (bug 1838080)
Backed out changeset f3a099a2173c (bug 1838080)
Backed out changeset c0f042536365 (bug 1838080)
Backed out changeset 6f5162d90ff3 (bug 1838080)
2023-07-09 18:00:05 +03:00
Byron Campen
594a2f4189 Bug 1631263: Implement RTCRtpScriptTransform. r=pehrsons,jib,asuth,emilio,saschanaz
Differential Revision: https://phabricator.services.mozilla.com/D179735
2023-07-09 12:35:32 +00:00
Andreas Pehrson
6129e0bf6d Bug 1837570 - Use canonical-initiated connections for webrtc mirrors. r=bwc
The same main thread task that may expose RTCRtpTransceiver (and its receiver
and sender) connects the conduit mirrors through an async task on the call
thread. If js does something that triggers a regular task to be dispatched to
the call thread, that task cannot make assumptions on the state of the conduit.

With this patch enabling canonical-initialization, conduit and pipeline mirrors
are connected synchronously, and a task like that mentioned above is guaranteed
to arrive after the first canonical statechange task, meaning it *can* make
assumptions on the state of the class owning the mirrors.

Differential Revision: https://phabricator.services.mozilla.com/D180429
2023-06-22 15:00:24 +00:00
Norisz Fay
475734f830 Backed out 9 changesets (bug 1837570) for causing failures on browser_utility_audio_shutdown.js, test_seamless_looping.html, browser_audio_telemetry_content.js CLOSED TREE
Backed out changeset 1c00f9d954b4 (bug 1837570)
Backed out changeset aeeff254fdd7 (bug 1837570)
Backed out changeset a2f55894361a (bug 1837570)
Backed out changeset e9c7a524c784 (bug 1837570)
Backed out changeset 7954e2994d72 (bug 1837570)
Backed out changeset 727f6d7e1b61 (bug 1837570)
Backed out changeset bd367313702f (bug 1837570)
Backed out changeset 462c505677cc (bug 1837570)
Backed out changeset ff50fae470fa (bug 1837570)
2023-06-22 01:14:25 +03:00
Andreas Pehrson
1b5e1d3daa Bug 1837570 - Use canonical-initiated connections for webrtc mirrors. r=bwc
The same main thread task that may expose RTCRtpTransceiver (and its receiver
and sender) connects the conduit mirrors through an async task on the call
thread. If js does something that triggers a regular task to be dispatched to
the call thread, that task cannot make assumptions on the state of the conduit.

With this patch enabling canonical-initialization, conduit and pipeline mirrors
are connected synchronously, and a task like that mentioned above is guaranteed
to arrive after the first canonical statechange task, meaning it *can* make
assumptions on the state of the class owning the mirrors.

Differential Revision: https://phabricator.services.mozilla.com/D180429
2023-06-21 20:38:41 +00:00
Andreas Pehrson
4078d458e0 Bug 1828517 (MOZ) - Simplify RTCStatsTimestampMaker conversions with a new RTCStatsTimestamp class. r=webrtc-reviewers,dbaker
This adds a new helper class that has the same conversion state as
RTCStatsTimestampMaker, for conversions on any thread.
It has From* and To* methods for all the time bases we care about, and stores
its time internally in mozilla::TimeStamp.

This avoids having to implement a conversion method for every permutation of
time base pairs in RTCStatsTimestampMaker.

Differential Revision: https://phabricator.services.mozilla.com/D177539
2023-05-10 18:04:39 +00:00
Byron Campen
b0687c1ba3 Bug 1829667: Make JsepTransceiver non-refcounted. r=mjf,webidl,mccr8
Involves substantial refactoring to make most access by-value (or through
functional-style in-place modifications) for safety.

Differential Revision: https://phabricator.services.mozilla.com/D176423
2023-04-28 14:53:57 +00:00
Byron Campen
e8a3acc79b Bug 1510802: Implement RTCRtpSender.setStreams. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168560
2023-03-14 13:27:13 +00:00
Byron Campen
e2e77a78ae Bug 1265827: Implement RTCPeerConnectionState. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168143
2023-03-14 13:27:10 +00:00
Sandor Molnar
91fa42086b Backed out 16 changesets (bug 1813147, bug 1804678, bug 1531087, bug 1265827, bug 1815369, bug 1278299, bug 1531812, bug 1510802, bug 1808989, bug 1815248) for causing multiple wpt failures in /webrtc/RTCPeerConnection CLOSED TREE
Backed out changeset 0859596a5ec3 (bug 1804678)
Backed out changeset bde3813fbfc4 (bug 1804678)
Backed out changeset 8e74483e6bff (bug 1278299)
Backed out changeset cdc633959cb2 (bug 1278299)
Backed out changeset 6f031686043e (bug 1531812)
Backed out changeset 0148fb48a47f (bug 1815369)
Backed out changeset d8ad59528a79 (bug 1808989)
Backed out changeset bb48f428f377 (bug 1808989)
Backed out changeset b8688e4e6d58 (bug 1510802)
Backed out changeset 60a8f3bbd888 (bug 1510802)
Backed out changeset 34e7866083ab (bug 1510802)
Backed out changeset 1404d9226578 (bug 1815248)
Backed out changeset 3bcc93903fe1 (bug 1531087)
Backed out changeset 4f919e1da19a (bug 1813147)
Backed out changeset 3bbf94f50b4e (bug 1265827)
Backed out changeset 20130ff69694 (bug 1265827)
2023-02-16 01:52:51 +02:00
Byron Campen
4033a4c46c Bug 1510802: Implement RTCRtpSender.setStreams. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168560
2023-02-15 20:23:28 +00:00
Byron Campen
3dc9ce7a8c Bug 1265827: Implement RTCPeerConnectionState. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168143
2023-02-15 20:23:26 +00:00
Cristian Tuns
eb75e6fcba Backed out 16 changesets (bug 1815369, bug 1804678, bug 1510802, bug 1265827, bug 1531812, bug 1531087, bug 1813147, bug 1815248, bug 1278299, bug 1808989) for causing build bustages on PeerConnectionImpl.cpp CLOSED TREE
Backed out changeset ed64251d7fc6 (bug 1804678)
Backed out changeset 62130501686f (bug 1804678)
Backed out changeset 7b6a4b55d6f7 (bug 1278299)
Backed out changeset d454deae329b (bug 1278299)
Backed out changeset cc4c2ac428b0 (bug 1531812)
Backed out changeset 56af0158f35f (bug 1815369)
Backed out changeset 6e36d750e4e1 (bug 1808989)
Backed out changeset d69211c46c57 (bug 1808989)
Backed out changeset 67b457f83b21 (bug 1510802)
Backed out changeset 19435dddb76d (bug 1510802)
Backed out changeset b8dca8a4e260 (bug 1510802)
Backed out changeset a9ba1293f158 (bug 1815248)
Backed out changeset 0bf440baea51 (bug 1531087)
Backed out changeset b5567371a9b3 (bug 1813147)
Backed out changeset 56f00875890b (bug 1265827)
Backed out changeset 0dba91984a39 (bug 1265827)
2023-02-14 22:07:31 -05:00
Byron Campen
2fa343dec9 Bug 1510802: Implement RTCRtpSender.setStreams. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168560
2023-02-15 02:10:05 +00:00
Byron Campen
257c48d199 Bug 1265827: Implement RTCPeerConnectionState. r=jib,webidl,smaug
Differential Revision: https://phabricator.services.mozilla.com/D168143
2023-02-15 02:10:02 +00:00
Andreas Pehrson
b68657a041 Bug 1813468 - Signal start and stop to MediaPipeline through state mirroring. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D168727
2023-02-09 15:33:01 +00:00
Andreas Pehrson
05e07c63c1 Bug 1813468 - Trigger setting the private PrincipalHandle in MediaPipeline through RTCRtpReceiver. r=bwc
This removes one dependency in MediaPipeline on RemoteTrackSource.

Differential Revision: https://phabricator.services.mozilla.com/D168718
2023-02-09 15:32:57 +00:00
Andreas Pehrson
c0a63e76ac Bug 1813468 - Use an enum for principal privacy in PeerConnectionImpl and friends. r=bwc
Differential Revision: https://phabricator.services.mozilla.com/D168717
2023-02-09 15:32:57 +00:00
Byron Campen
de985e6735 Bug 1767820: Only set addTrack magic for transceivers _created_ by addTrack. r=mjf
Differential Revision: https://phabricator.services.mozilla.com/D168570
2023-02-03 16:34:23 +00:00
Nika Layzell
3652956b7b Bug 1809753 - Part 4: Remove unnecessary GetMainThreadEventTarget, r=mccr8
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.

We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.

I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.

Differential Revision: https://phabricator.services.mozilla.com/D166608
2023-01-16 23:14:12 +00:00
Sandor Molnar
f236c54e45 Backed out 6 changesets (bug 1809752, bug 1809753) for causing perma failures in browser/components/firefoxview/tests/browser/browser_feature_callout_position.js
Backed out changeset ea05784d74c4 (bug 1809753)
Backed out changeset 7c9b20eebcc8 (bug 1809753)
Backed out changeset d0267ac2256d (bug 1809753)
Backed out changeset aa9f2971bd6f (bug 1809753)
Backed out changeset f0d9fcfaa6f8 (bug 1809752)
Backed out changeset 6d58c799cffe (bug 1809752)
2023-01-17 03:19:24 +02:00
Nika Layzell
d61ced88a2 Bug 1809753 - Part 4: Remove unnecessary GetMainThreadEventTarget, r=mccr8
This method always returned GetMainThreadSerialEventTarget(). This patch
switches all callers over to use that method instead.

We can't easily switch all calls to be calls to NS_GetMainThread(), as there is
no version of that method returning a bare nsIThread* instance.

I didn't introduce one, as we may want to add a lock around mMainThread in the
future, which would require removing nsThreadManager::GetMainThreadWeak. As
this method only returns nsISerialEventTarget, it method could remain
implemented, however, by returning a statically allocated fake event target
which forwards dispatches (and QIs to nsIThread) to the real main thread.

Differential Revision: https://phabricator.services.mozilla.com/D166608
2023-01-16 23:14:12 +00:00
Byron Campen
016eb374b1 Bug 1401592: Support sendEncodings in addTransceiver, and bring get/setParameters up to spec. r=mjf,webidl,smaug
Also, fix a pre-existing bug in JsepTrack::operator=

Differential Revision: https://phabricator.services.mozilla.com/D156834
2022-12-13 23:22:00 +00:00
Byron Campen
b875c938d5 Bug 1401592: Teach RTCRtpSender to detect encoding config changes. r=mjf,pehrsons
JsepTrack used to be in charge of this, but because JSEP doesn't negotiate
encoding constraints, it did not make sense to delegate this to the JSEP code.

Differential Revision: https://phabricator.services.mozilla.com/D156831
2022-12-13 23:21:59 +00:00
Byron Campen
aaccec8a38 Bug 1401592: Remove encoding constraints from JSEP. r=mjf
The spec has settled on not allowing these constraints to be negotiated, so all
that is left is the negotiation of the set of rids.

Also, add an include to eliminate some bot spam.

Differential Revision: https://phabricator.services.mozilla.com/D156830
2022-12-13 23:21:59 +00:00
Butkovits Atila
d01e8d9f99 Backed out 18 changesets (bug 1401592, bug 1676855) for causing failures at test_peerConnection_scaleResolution_oldSetParameters.html. CLOSED TREE
Backed out changeset 47c810ec8060 (bug 1676855)
Backed out changeset aba56121e546 (bug 1401592)
Backed out changeset ba525fa85b99 (bug 1401592)
Backed out changeset 00409e6f4685 (bug 1401592)
Backed out changeset bf98bb55e45f (bug 1401592)
Backed out changeset f16c0eb92363 (bug 1401592)
Backed out changeset 3cb1dde9bbbc (bug 1401592)
Backed out changeset a9bfef738d49 (bug 1401592)
Backed out changeset aa6aa10cfd97 (bug 1401592)
Backed out changeset b4752eaae108 (bug 1401592)
Backed out changeset e868d7b3abd8 (bug 1401592)
Backed out changeset ce11d420246c (bug 1401592)
Backed out changeset 01434a8cb2b6 (bug 1401592)
Backed out changeset 154d08dd3bca (bug 1401592)
Backed out changeset fffc015a5dd5 (bug 1401592)
Backed out changeset 9e11ddaf8b3e (bug 1401592)
Backed out changeset 26a812435ddd (bug 1401592)
Backed out changeset 3b064fbc9a61 (bug 1401592)
2022-12-13 22:53:05 +02:00
Byron Campen
32fc126e20 Bug 1401592: Support sendEncodings in addTransceiver, and bring get/setParameters up to spec. r=mjf,webidl,smaug
Also, fix a pre-existing bug in JsepTrack::operator=

Differential Revision: https://phabricator.services.mozilla.com/D156834
2022-12-13 16:32:21 +00:00
Byron Campen
7d8066d37b Bug 1401592: Teach RTCRtpSender to detect encoding config changes. r=mjf,pehrsons
JsepTrack used to be in charge of this, but because JSEP doesn't negotiate
encoding constraints, it did not make sense to delegate this to the JSEP code.

Differential Revision: https://phabricator.services.mozilla.com/D156831
2022-12-13 16:32:20 +00:00
Byron Campen
3462c9e04c Bug 1401592: Remove encoding constraints from JSEP. r=mjf
The spec has settled on not allowing these constraints to be negotiated, so all
that is left is the negotiation of the set of rids.

Also, add an include to eliminate some bot spam.

Differential Revision: https://phabricator.services.mozilla.com/D156830
2022-12-13 16:32:19 +00:00
Andreas Pehrson
ec4fa4139b Bug 1796069 - Annotate MediaStreamTrackSources with a tracking id and apply it to CopyVideoStages. r=padenot
This will allow time consuming tasks (copies, capture, etc.) along the pipe to
be grouped per-track-source when visualizing profiler markers.

Differential Revision: https://phabricator.services.mozilla.com/D160754
2022-12-01 09:52:46 +00:00
Byron Campen [:bwc]
bd0629399b Bug 1793776: Add media.peerconnection.sdp.disable_stereo_fmtp r=jib
Setting this pref to true will result in stereo=0 in the fmtp for opus.

Differential Revision: https://phabricator.services.mozilla.com/D158697
2022-10-07 13:07:18 +00:00
Csoregi Natalia
3e609addae Backed out 2 changesets (bug 1793776) for causing gtest failures. CLOSED TREE
Backed out changeset 550d731db269 (bug 1793776)
Backed out changeset 6bde87499ce2 (bug 1793776)
2022-10-06 05:54:56 +03:00
Byron Campen [:bwc]
cc6c2fbc46 Bug 1793776: Add media.peerconnection.sdp.disable_stereo_fmtp r=jib
Setting this pref to true will result in stereo=0 in the fmtp for opus.

Differential Revision: https://phabricator.services.mozilla.com/D158697
2022-10-06 00:50:47 +00:00