Commit graph

124 commits

Author SHA1 Message Date
Noemi Erli
d637b3f05e Backed out 24 changesets (bug 1824465) for causing failures in nsISupportsImpl.cpp CLOSED TREE
Backed out changeset a5c8f22b7170 (bug 1824465)
Backed out changeset b551b655ac72 (bug 1824465)
Backed out changeset 0e6768a6419c (bug 1824465)
Backed out changeset fb115ebb7fe0 (bug 1824465)
Backed out changeset aaa7a2c8aa3b (bug 1824465)
Backed out changeset 7ef94bfa90b3 (bug 1824465)
Backed out changeset a4238fd6b86f (bug 1824465)
Backed out changeset 3a88e4cfbe45 (bug 1824465)
Backed out changeset 40c2467d3162 (bug 1824465)
Backed out changeset 8f900395c72c (bug 1824465)
Backed out changeset 92e4c6e4d73c (bug 1824465)
Backed out changeset 445c5d5d9661 (bug 1824465)
Backed out changeset de51ed5389d9 (bug 1824465)
Backed out changeset 72049d72bcb6 (bug 1824465)
Backed out changeset 126773c2427a (bug 1824465)
Backed out changeset 886e76bc80be (bug 1824465)
Backed out changeset a69a851411f0 (bug 1824465)
Backed out changeset 703599cf6189 (bug 1824465)
Backed out changeset 11ecb78ebc15 (bug 1824465)
Backed out changeset 563255aaa1e1 (bug 1824465)
Backed out changeset d1bf32c2a6c6 (bug 1824465)
Backed out changeset ef28b2777487 (bug 1824465)
Backed out changeset a2015d354bb1 (bug 1824465)
Backed out changeset 31d6b53fdc6a (bug 1824465)
2023-04-06 01:50:55 +03:00
Nika Layzell
60f4c7fb05 Bug 1824465 - Part 7: Make PRemoteDecoderManager refcounted, r=ipc-reviewers,mccr8
Differential Revision: https://phabricator.services.mozilla.com/D173722
2023-04-05 21:33:38 +00:00
Chun-Min Chang
f43a9865d0 Bug 1825603 - Add more logs for RemoteMediaDataDecoder r=media-playback-reviewers,alwu
The `VideoDecoder` interface, associated with a `MediaDataDecoder`, is
going to be introduced in Bug 1749045, which can be run on either the
main thread or the worker thread, in the content process.

While the `VideoDecoder` that `RemoteMediaDataDecoder` is associated
with can run on the worker thread, the thread where
`RemoteMediaDataDecoder` runs on, hosted by `RemoteDecoderManagerChild`,
is created and released on the main thread only. Without extra
carefulness, it's easy to have some racing issues in the code with these
complex thread arrangements. It's even harder to figure out the causes
of the issues without clear logs. Adding more RDD logs can be helpful to
debug, especially when rr-recording couldn't capture some
timing-critical intermittent racing issues.

Differential Revision: https://phabricator.services.mozilla.com/D174147
2023-03-30 20:19:41 +00:00
Nika Layzell
d57c9498f6 Bug 1825360 - Remove the NS_DISPATCH_SYNC flag, r=necko-reviewers,geckoview-reviewers,media-playback-reviewers,karlt,jesup,m_kato,emilio
This flag is not supported by most event targets and can have unexpected
side effects (namely spinning a nested event loop). All consumers have
been replaced with a new function which is more explicit about this side
effect.

Differential Revision: https://phabricator.services.mozilla.com/D173985
2023-03-30 16:53:51 +00:00
Andi-Bogdan Postelnicu
4efa1bd0ba Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-27 07:20:25 +00:00
Sandor Molnar
9db345d4c1 Backed out 2 changesets (bug 1276351) for causing build bustage in image/ClippedImage.cp CLOSED TREE
Backed out changeset e84598eb82c1 (bug 1276351)
Backed out changeset e940b0554484 (bug 1276351)
2023-03-25 14:16:43 +02:00
Andi-Bogdan Postelnicu
447f1e3358 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-25 06:58:52 +00:00
Iulian Moraru
6d40eee997 Backed out 2 changesets (bug 1276351) for causing multiple failures.
Backed out changeset eeaf4f1e06af (bug 1276351)
Backed out changeset d44cb5704342 (bug 1276351)
2023-03-25 00:08:24 +02:00
Andi-Bogdan Postelnicu
a1b827b503 Bug 1276351 - Move away from mozilla::tuple to std::tuple. r=necko-reviewers,sergesanspaille
Differential Revision: https://phabricator.services.mozilla.com/D173256
2023-03-24 18:55:39 +00:00
John Lin
38b0fef2bc Bug 1815553 - follow the naming convention of existing code (mf -> wmf). r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D169401
2023-02-11 01:48:59 +00:00
Sandor Molnar
c03b470303 Backed out 2 changesets (bug 1815553) for causing mbu failures. CLOSED TREE
Backed out changeset 789d292e1b47 (bug 1815553)
Backed out changeset b2cfe3ce1eb1 (bug 1815553)
2023-02-10 23:43:01 +02:00
John Lin
aa32c6167e Bug 1815553 - follow the naming convention of existing code (mf -> wmf). r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D169401
2023-02-10 21:20:44 +00:00
John Lin
66644f0063 Bug 1810817 - p3: initial MFCDM protocol. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D167057
2023-02-07 03:43:49 +00:00
Csoregi Natalia
7468edeb58 Backed out 7 changesets (bug 1810817) for causing assertion failures on MFCDMParent.cpp. CLOSED TREE
Backed out changeset cfbe0be01c67 (bug 1810817)
Backed out changeset eedaee18c125 (bug 1810817)
Backed out changeset 07bcec895e6b (bug 1810817)
Backed out changeset 4be39a7ba24f (bug 1810817)
Backed out changeset e16e293637cf (bug 1810817)
Backed out changeset 0c66474f6010 (bug 1810817)
Backed out changeset 3c7aa682681f (bug 1810817)
2023-02-05 17:56:58 +02:00
John Lin
3509b55c8c Bug 1810817 - p3: initial MFCDM protocol. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D167057
2023-02-05 03:40:01 +00:00
Cosmin Sabou
61cd968772 Backed out 7 changesets (bug 1810817) for causing build bustages on KeySystemConfig.cpp. CLOSED TREE
Backed out changeset a2e5f26278a2 (bug 1810817)
Backed out changeset 5cb2ad9409db (bug 1810817)
Backed out changeset 66f1559b58e3 (bug 1810817)
Backed out changeset 7090c7757040 (bug 1810817)
Backed out changeset cad21cfbc4e5 (bug 1810817)
Backed out changeset cacab6822f87 (bug 1810817)
Backed out changeset 5018bb13f45a (bug 1810817)
2023-02-03 09:51:17 +02:00
John Lin
82f71addac Bug 1810817 - p3: initial MFCDM protocol. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D167057
2023-02-03 07:21:21 +00:00
alwu
470b9ff545 Bug 1808804 - part1 : return a new error when the MF CDM process crashes. r=jolin
Differential Revision: https://phabricator.services.mozilla.com/D166409
2023-01-17 20:00:46 +00:00
Andreas Pehrson
b5e0b242db Bug 1796069 - Apply tracking id to DecodeStages. r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D160773
2022-12-01 09:52:52 +00:00
Alexandre Lissy
10b33e5796 Bug 1794988 - Use manager thread for remote process launch cleanup phase r=alwu
Scheduling a runnable on a thread from a threadpool is not something one
should ever do, it is bound to fail because the runnable won't run until
the thread is being shut down.

Differential Revision: https://phabricator.services.mozilla.com/D159575
2022-10-18 22:44:15 +00:00
alwu
425d6a5de8 Bug 1785738 - part8 : remove unused function. r=azebrowski
Differential Revision: https://phabricator.services.mozilla.com/D156002
2022-09-03 00:54:01 +00:00
alwu
01c15a77f0 Bug 1785738 - part6 : no need to check the support information from other decoder modules when the media engine id is provided. r=azebrowski
When the media engine id is provided, that means we want to play media
via the media engine, so we don't need to check other remote decoder
modules which don't contain the media engine.

In addition, in D154707, we already check the media engine Id for other
decoder modules, now we no longer need to hack the track support
informtaion for the GPU process due to those checkings and the new
checking we add in this patch.

Differential Revision: https://phabricator.services.mozilla.com/D155031
2022-09-03 00:54:00 +00:00
alwu
3d1bc29d56 Bug 1785738 - part4 : run media engine in the new utility process. r=gerard-majax,azebrowski
This patch moves the media engine from the RDD process to the new
utility process, and create video bridge between the new utility process
and the GPU process in order to share the texture.

Differential Revision: https://phabricator.services.mozilla.com/D155901
2022-09-03 00:53:59 +00:00
alwu
23e497fd62 Bug 1785738 - part2 : add new RemoteDecodeIn for the new utility process, and let it report correct support information. r=azebrowski
Differential Revision: https://phabricator.services.mozilla.com/D155899
2022-09-03 00:53:58 +00:00
Alexandre Lissy
b135ca0732 Bug 1780796 - Use one process per platform decoder module sandbox requirements r=alwu,nika,fluent-reviewers,flod
Differential Revision: https://phabricator.services.mozilla.com/D152545
2022-09-01 12:59:32 +00:00
alwu
82d4cde649 Bug 1787402 - explicitly reject the type if the process doesn't support that specific track before receving the support information from remote processes. r=azebrowski
We determine if a type is supported by checking the support information sent from remote processes.

If we haven't received that infermation, what we did before is, simply guess the remote process supports that type, and then try to create a real decoder in the remote process if possible.

However, as now we restrict certain processes can only support certain tracks. We can do that check earlier to eliminate an impossible case. Eg. requesting a video decoder to a process which only supports audio decoding.

Differential Revision: https://phabricator.services.mozilla.com/D155747
2022-08-29 23:57:21 +00:00
alwu
811f386ab2 Bug 1771011 - part9 : fix the issue of not being able to create media engine audio decoder correctly when enabling the utility audio decoder.r=jolin
When we use the media engine, we have to use the media engine decoder
for both audio and video in order to let media engine manage a/v sync.

This patch fixes the issue of assigning the wrong location for
RemoteAudioChild which causes using wrong audio decoder in the utility
process, instead of the media engine audio decoder.

Depends on D152251

Differential Revision: https://phabricator.services.mozilla.com/D152838
2022-08-13 23:48:10 +00:00
alwu
cb54f6a423 Bug 1782914 - use EnumeratedArray to store different static objects for processes. r=media-playback-reviewers,chunmin
This helps increase the flexibility of extending more remote types
because we will extend the amount of remote processes which we use for
decoding.

Differential Revision: https://phabricator.services.mozilla.com/D153563
2022-08-09 20:08:52 +00:00
Fabrice Desré
c50cb528fc Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 16:39:41 +00:00
Andreea Pavel
3ccd75af8d Backed out changeset b9d2965591b9 (bug 1761040) for landing with wrong author CLOSED TREE DONTBUILD 2022-08-03 18:55:00 +03:00
Andreea Pavel
fdb7cb2ecd Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-03 15:27:43 +00:00
Andreea Pavel
89d63c91e6 Backed out changeset a907159a482f (bug 1761040) for causing build bustages on a CLOSED TREE 2022-08-02 04:59:08 +03:00
Fabrice Desré
0f4ac7ad97 Bug 1761040 - Prefix thread safety macros with MOZ_ r=geckoview-reviewers,media-playback-reviewers,alwu,jesup,m_kato
Differential Revision: https://phabricator.services.mozilla.com/D152575
2022-08-02 00:49:41 +00:00
az
534707da03 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-22 23:08:08 +00:00
Cristian Tuns
296431b106 Backed out 8 changesets (bug 1754239, bug 1766307, bug 1766308, bug 1766310) for causing build bustages on Logging.h CLOSED TREE
Backed out changeset 50918938a839 (bug 1766307)
Backed out changeset 19800bb8974e (bug 1766307)
Backed out changeset 40ec82794497 (bug 1766310)
Backed out changeset 4f860e20098c (bug 1754239)
Backed out changeset f54eac410bfd (bug 1754239)
Backed out changeset c8cc5e0c89dd (bug 1766307)
Backed out changeset d7aab4098f12 (bug 1766308)
Backed out changeset a7ffa6f44fe8 (bug 1766307)
2022-07-19 21:20:07 -04:00
az
5d97400d50 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-19 23:27:38 +00:00
Norisz Fay
82c8f892b0 Backed out 8 changesets (bug 1754239, bug 1766308, bug 1766307, bug 1766310) for causing build bustages on UtilityAudioDecoderParent.cpp CLOSED TREE
Backed out changeset e383703e28cf (bug 1766307)
Backed out changeset 5fb04c68ae7a (bug 1766307)
Backed out changeset ee76505a46ff (bug 1766310)
Backed out changeset d76eae67ae79 (bug 1754239)
Backed out changeset fed974dcf641 (bug 1754239)
Backed out changeset 67c5fbd546a1 (bug 1766307)
Backed out changeset da49735366d2 (bug 1766308)
Backed out changeset 81ccd31d0f07 (bug 1766307)
2022-07-14 04:03:19 +03:00
az
9eeb816180 Bug 1766307 - Enable PDMFactory::Supports/SupportsMimeType to process+return HW/SW decode info r=media-playback-reviewers,alwu
Differential Revision: https://phabricator.services.mozilla.com/D147385
2022-07-14 00:32:37 +00:00
alwu
9f4133b91f Bug 1758789 - part18 : disable the media engine feature on MinGW. r=media-playback-reviewers,firefox-build-system-reviewers,jolin,ahochheiden
On MinGW, it lacks of the headers for RunTimeClass and we have trouble to make it work. This patch adds a new config for Media Engine in order not to build related files on MinGW environment.

In addition, MinGW build version of Firefox is only used for Tor browser and it's ok to disable this feature for them for now. If they want to port this feature in the future as well, then we can see if we can fix the build problems at that time.

Differential Revision: https://phabricator.services.mozilla.com/D150660
2022-06-30 22:34:22 +00:00
smolnar
50d8d18c90 Backed out 18 changesets (bug 1758789) for causing win AArch64 build bustages. CLOSED TREE
Backed out changeset e3f1d216b7b0 (bug 1758789)
Backed out changeset 737731f1056d (bug 1758789)
Backed out changeset 76a2ae95718a (bug 1758789)
Backed out changeset c134ab07a603 (bug 1758789)
Backed out changeset 84f574f95348 (bug 1758789)
Backed out changeset 7dae17111210 (bug 1758789)
Backed out changeset cdec8c010960 (bug 1758789)
Backed out changeset a1976aeac84e (bug 1758789)
Backed out changeset 6aac8720ffa5 (bug 1758789)
Backed out changeset 48b798f102e5 (bug 1758789)
Backed out changeset 310e551d433b (bug 1758789)
Backed out changeset b3d6df1153c1 (bug 1758789)
Backed out changeset 61775207f73b (bug 1758789)
Backed out changeset f0c28aea2f4b (bug 1758789)
Backed out changeset 0a65ff00244a (bug 1758789)
Backed out changeset 0b747e748709 (bug 1758789)
Backed out changeset cdf4acea8c87 (bug 1758789)
Backed out changeset 0c4009da7d1e (bug 1758789)
2022-06-30 23:54:23 +03:00
alwu
1368dec887 Bug 1758789 - part18 : disable the media engine feature on MinGW. r=media-playback-reviewers,firefox-build-system-reviewers,jolin,ahochheiden
On MinGW, it lacks of the headers for RunTimeClass and we have trouble to make it work. This patch adds a new config for Media Engine in order not to build related files on MinGW environment.

In addition, MinGW build version of Firefox is only used for Tor browser and it's ok to disable this feature for them for now. If they want to port this feature in the future as well, then we can see if we can fix the build problems at that time.

Differential Revision: https://phabricator.services.mozilla.com/D150660
2022-06-30 18:14:50 +00:00
Alexandre Lissy
43ff7d79dd Bug 1770558 - Ensure proper handling of returned promise r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D147158
2022-05-26 01:03:50 +00:00
Alexandre Lissy
edeb9a2237 Bug 1770086 - Cleanup static on shutdown r=alwu
Depends on D146567

Differential Revision: https://phabricator.services.mozilla.com/D146848
2022-05-19 23:50:59 +00:00
alwu
ba773486a6 Bug 1756260 - part5 : pass the engine Id via IPC. r=jolin
We need to padd the media engine Id to the remote process in order to create correct remote decoders.

Differential Revision: https://phabricator.services.mozilla.com/D143807
2022-05-11 17:46:13 +00:00
alwu
8f62b3b6f3 Bug 1756260 - part3 : implement a mechanism to communicate with the MediaEngine in the remote process. r=jolin
This patch implements a new IPDL which is used for communicating with the remote media engine. It will be used between the content process and the RDD process.

For each media engine pair, they would share an unique ID, which is used to indentify different engine pairs (if any) and for querying a specific engine via Id, which is implemented in the next patch.

Depends on D140014

Differential Revision: https://phabricator.services.mozilla.com/D139204
2022-05-11 17:46:13 +00:00
Cristian Tuns
df3db4d641 Backed out 10 changesets (bug 1756260) for causing build bustages on ExternalEngineStateMachine.obj CLOSED TREE
Backed out changeset d2339ec8194e (bug 1756260)
Backed out changeset 391201cf338b (bug 1756260)
Backed out changeset 1a9aa3f175d0 (bug 1756260)
Backed out changeset d624c80ba67f (bug 1756260)
Backed out changeset 46e8a8457044 (bug 1756260)
Backed out changeset 93245b0e2118 (bug 1756260)
Backed out changeset b69ee552b64e (bug 1756260)
Backed out changeset 9fc71b8478d5 (bug 1756260)
Backed out changeset 34b10d427f0f (bug 1756260)
Backed out changeset ed9640359f3a (bug 1756260)
2022-05-10 23:32:51 -04:00
alwu
f1a2bf741a Bug 1756260 - part5 : pass the engine Id via IPC. r=jolin
We need to padd the media engine Id to the remote process in order to create correct remote decoders.

Differential Revision: https://phabricator.services.mozilla.com/D143807
2022-05-11 02:57:19 +00:00
alwu
76281d27f2 Bug 1756260 - part3 : implement a mechanism to communicate with the MediaEngine in the remote process. r=jolin
This patch implements a new IPDL which is used for communicating with the remote media engine. It will be used between the content process and the RDD process.

For each media engine pair, they would share an unique ID, which is used to indentify different engine pairs (if any) and for querying a specific engine via Id, which is implemented in the next patch.

Depends on D140014

Differential Revision: https://phabricator.services.mozilla.com/D139204
2022-05-11 02:57:18 +00:00
Alexandre Lissy
c9368d48f0 Bug 1762067 - Distinguish crash in RDD vs Utility r=alwu
Differential Revision: https://phabricator.services.mozilla.com/D145345
2022-05-05 18:02:13 +00:00
Alexandre Lissy
57f891080f Bug 1755316 - Perform audio decoding on PUtilityAudioDecoder r=alwu,nika,jld,bobowen,haik
Differential Revision: https://phabricator.services.mozilla.com/D139593
2022-04-07 10:04:51 +00:00