PUtilityMediaService.ipdl (1677B)
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ 2 /* This Source Code Form is subject to the terms of the Mozilla Public 3 * License, v. 2.0. If a copy of the MPL was not distributed with this 4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 5 6 include GraphicsMessages; 7 include protocol PRemoteMediaManager; 8 include protocol PVideoBridge; 9 10 using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; 11 using mozilla::media::MediaCodecsSupported from "MediaCodecsSupport.h"; 12 using mozilla::RemoteMediaIn from "mozilla/RemoteMediaManagerChild.h"; 13 14 #ifdef MOZ_WMF_CDM 15 using mozilla::MFCDMCapabilitiesIPDL from "mozilla/PMFCDM.h"; 16 #endif 17 18 namespace mozilla { 19 20 namespace ipc { 21 22 // This protocol allows to run media related services on top of the Utility 23 // process. 24 [ParentProc=Utility, ChildProc=Parent] 25 protocol PUtilityMediaService 26 { 27 parent: 28 async NewContentRemoteMediaManager( 29 Endpoint<PRemoteMediaManagerParent> endpoint, ContentParentId parentId); 30 31 async UpdateVar(GfxVarUpdate[] var); 32 33 #ifdef MOZ_WMF_MEDIA_ENGINE 34 async InitVideoBridge(Endpoint<PVideoBridgeChild> endpoint, 35 ContentDeviceData contentDeviceData); 36 #endif 37 38 #ifdef MOZ_WMF_CDM 39 async GetKeySystemCapabilities() returns (MFCDMCapabilitiesIPDL[] result); 40 41 async UpdateWidevineL1Path(nsString path); 42 #endif 43 44 child: 45 async UpdateMediaCodecsSupported(RemoteMediaIn aLocation, 46 MediaCodecsSupported aSupported); 47 48 #ifdef MOZ_WMF_MEDIA_ENGINE 49 async CompleteCreatedVideoBridge(); 50 #endif 51 52 #ifdef MOZ_WMF_CDM 53 async DisableHardwareDRM(); 54 #endif 55 }; 56 57 } // namespace ipc 58 59 } // namespace mozilla