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

11 Коммитов

Автор SHA1 Сообщение Дата
alwu 37cbb23832 Bug 1756260 - part9 : only execute engine's methods after it got intialized correctly and not in a shutdown state. r=jolin
If we call them too early, the IPC connection might not be created yet.

Differential Revision: https://phabricator.services.mozilla.com/D144629
2022-05-11 17:46:15 +00:00
alwu ba6f805451 Bug 1756260 - part8 : use a light-weight state object on ExternalEngineStateMachine. r=jolin
These state object help to store variables only be used in a certain state, which avoid the chance to modify them in an incorrect state.

Also now it's able to do the cleaning for the state transition.

Differential Revision: https://phabricator.services.mozilla.com/D143678
2022-05-11 17:46:15 +00:00
alwu 565f1630ee Bug 1756260 - part4 : set the media engine Id to the format reader, which would be used to find correct remote decoders. r=jolin
In this patch, we assign the Media Engine Id to the format reader, and append that Id into CreateDecoderParams when we want to create a decoder.

That Id would be used as a hint in order to find a correct decoder to send the data to the remote media engine in following patches.

Depends on D139204

Differential Revision: https://phabricator.services.mozilla.com/D140153
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
alwu d072277522 Bug 1756260 - part2 : implement a new state machine for the external engine. r=jolin
This patch introduces a new type of state machine that is used when the playback is controlled by an external playback engine which would provide high level operations but hide most low level tasks from its client. Eg. Media Foundation Media Engine.

The extenral engine should use events to communicate this state machine, and state machine should address those events in order to fullfill the need of the external engine.

Differential Revision: https://phabricator.services.mozilla.com/D140014
2022-05-11 17:46:12 +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 7db2f326f9 Bug 1756260 - part9 : only execute engine's methods after it got intialized correctly and not in a shutdown state. r=jolin
If we call them too early, the IPC connection might not be created yet.

Differential Revision: https://phabricator.services.mozilla.com/D144629
2022-05-11 02:57:21 +00:00
alwu f4b75758e5 Bug 1756260 - part8 : use a light-weight state object on ExternalEngineStateMachine. r=jolin
These state object help to store variables only be used in a certain state, which avoid the chance to modify them in an incorrect state.

Also now it's able to do the cleaning for the state transition.

Differential Revision: https://phabricator.services.mozilla.com/D143678
2022-05-11 02:57:20 +00:00
alwu 0d3dd9fe36 Bug 1756260 - part4 : set the media engine Id to the format reader, which would be used to find correct remote decoders. r=jolin
In this patch, we assign the Media Engine Id to the format reader, and append that Id into CreateDecoderParams when we want to create a decoder.

That Id would be used as a hint in order to find a correct decoder to send the data to the remote media engine in following patches.

Depends on D139204

Differential Revision: https://phabricator.services.mozilla.com/D140153
2022-05-11 02:57:18 +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
alwu 71bcbbf669 Bug 1756260 - part2 : implement a new state machine for the external engine. r=jolin
This patch introduces a new type of state machine that is used when the playback is controlled by an external playback engine which would provide high level operations but hide most low level tasks from its client. Eg. Media Foundation Media Engine.

The extenral engine should use events to communicate this state machine, and state machine should address those events in order to fullfill the need of the external engine.

Differential Revision: https://phabricator.services.mozilla.com/D140014
2022-05-11 02:57:18 +00:00