diff options
Diffstat (limited to 'ipc/glue/PUtilityAudioDecoder.ipdl')
-rw-r--r-- | ipc/glue/PUtilityAudioDecoder.ipdl | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/ipc/glue/PUtilityAudioDecoder.ipdl b/ipc/glue/PUtilityAudioDecoder.ipdl new file mode 100644 index 0000000000..74dbbd2c54 --- /dev/null +++ b/ipc/glue/PUtilityAudioDecoder.ipdl @@ -0,0 +1,57 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +include GraphicsMessages; +include protocol PRemoteDecoderManager; +include protocol PVideoBridge; + +using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; +using mozilla::media::MediaCodecsSupported from "MediaCodecsSupport.h"; +using mozilla::RemoteDecodeIn from "mozilla/RemoteDecoderManagerChild.h"; + +#ifdef MOZ_WMF_CDM +using mozilla::MFCDMCapabilitiesIPDL from "mozilla/PMFCDM.h"; +#endif + +namespace mozilla { + +namespace ipc { + +// This protocol allows to run media audio decoding infrastructure on top +// of the Utility process +[ParentProc=Utility, ChildProc=Parent] +protocol PUtilityAudioDecoder +{ +parent: + async NewContentRemoteDecoderManager( + Endpoint<PRemoteDecoderManagerParent> endpoint, ContentParentId parentId); + +#ifdef MOZ_WMF_MEDIA_ENGINE + async InitVideoBridge(Endpoint<PVideoBridgeChild> endpoint, + GfxVarUpdate[] updates, + ContentDeviceData contentDeviceData); + + async UpdateVar(GfxVarUpdate var); +#endif + +#ifdef MOZ_WMF_CDM + async GetKeySystemCapabilities() returns (MFCDMCapabilitiesIPDL[] result); + + async UpdateWidevineL1Path(nsString path); +#endif + +child: + async UpdateMediaCodecsSupported(RemoteDecodeIn aLocation, + MediaCodecsSupported aSupported); + +#ifdef MOZ_WMF_MEDIA_ENGINE + async CompleteCreatedVideoBridge(); +#endif + +}; + +} // namespace ipc + +} // namespace mozilla |