At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
At some point, UtilityAudioDecoderChild lost the ability to work
*without* a GPU process. This patch remedies that by creating an
alternate connection for the endpoint, modeled after the code in
RDDProcessManager.
Differential Revision: https://phabricator.services.mozilla.com/D223015
This requires quite a bit of piping to get the ChildID passed everywhere where
we currently pass the pid in IPC. This is done by adding a new struct type
(EndpointProcInfo), which is passed around instead of OtherPid in these places,
and contains the full pid.
In most cases, it was a fairly painless change to move over, however in some
cases, more complex changes were required, as the pid was being stored
previously in something like an Atomic<...>, and needed to be switched to using
a mutex-protected value.
In the future, it may be possible to remove OtherPid from IPDL actors once
everything is migrated to ChildID, but we're still a long way off from that, so
for now we unfortunately need to pass both around.
Differential Revision: https://phabricator.services.mozilla.com/D217118
As we've added encryption scheme per content type in previous patches,
there is no need to keep this old encryption scheme.
Differential Revision: https://phabricator.services.mozilla.com/D211793
Currently our implementation is the scheme support per key system,
not per content type. As each content type can have different supported
scheme, eg. type A only supports cenc, but type B only supports cbcs,
only having scheme per key system can't return a precise result.
Differential Revision: https://phabricator.services.mozilla.com/D211642
As we've added encryption scheme per content type in previous patches,
there is no need to keep this old encryption scheme.
Differential Revision: https://phabricator.services.mozilla.com/D211793
Currently our implementation is the scheme support per key system,
not per content type. As each content type can have different supported
scheme, eg. type A only supports cenc, but type B only supports cbcs,
only having scheme per key system can't return a precise result.
Differential Revision: https://phabricator.services.mozilla.com/D211642
Move initializing gfxVar from creating a video bridge to the moment we
create UtilityAudioDecoderParent in order to ensure that we can always
get correct value from gfxVar.
Differential Revision: https://phabricator.services.mozilla.com/D204292
There is a timing issue where we would re-initialize the video bridge
causing an assertion, which is discovered by
`browser_utility_multipleAudio.js`.
Differential Revision: https://phabricator.services.mozilla.com/D203518
There is a timing issue where we would re-initialize the video bridge
causing an assertion, which is discovered by
`browser_utility_multipleAudio.js`.
Depends on D203307
Differential Revision: https://phabricator.services.mozilla.com/D203518
HDCP 2.2 is the version which the video provide usually want to have
in order to stream 4K video securely, so we choose to display whether
the CDM supports HDCP 2.2.
Differential Revision: https://phabricator.services.mozilla.com/D201010
HDCP 2.2 is the version which the video provide usually want to have
in order to stream 4K video securely, so we choose to display whether
the CDM supports HDCP 2.2.
Differential Revision: https://phabricator.services.mozilla.com/D201010
This patch implements retrieving the capabilities from MFCDMs. I will
add non-MFCDM support in following patches, eg. Widevine L3, and
ClearKey.
Differential Revision: https://phabricator.services.mozilla.com/D194837
This patch implements retrieving the capabilities from MFCDMs. I will
add non-MFCDM support in following patches, eg. Widevine L3, and
ClearKey.
Differential Revision: https://phabricator.services.mozilla.com/D194837