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
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
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
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
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
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
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
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