PGMPVideoDecoder.ipdl (1568B)
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 protocol PGMPContent; 7 include GMPTypes; 8 9 using GMPVideoCodec from "gmp-video-codec.h"; 10 using GMPErr from "gmp-errors.h"; 11 12 include "GMPMessageUtils.h"; 13 include "GMPVideoDecoderChild.h"; 14 15 namespace mozilla { 16 namespace gmp { 17 18 [ChildImpl="GMPVideoDecoderChild", ParentImpl=virtual] 19 async protocol PGMPVideoDecoder 20 { 21 manager PGMPContent; 22 child: 23 async InitDecode(GMPVideoCodec aCodecSettings, 24 uint8_t[] aCodecSpecific, 25 int32_t aCoreCount); 26 async GiveShmem(Shmem aOutputShmem); 27 async Decode(GMPVideoEncodedFrameData aInputFrame, 28 Shmem aInputShmem, 29 bool aMissingFrames, 30 uint8_t[] aCodecSpecificInfo, 31 int64_t aRenderTimeMs); 32 async Reset(); 33 async Drain(); 34 async __delete__(); 35 36 parent: 37 async ReturnShmem(Shmem aInputShmem); 38 async DecodedData(GMPVideoi420FrameData aDecodedFrame, uint8_t[] aDecodedData); 39 async DecodedShmem(GMPVideoi420FrameData aDecodedFrame, Shmem aDecodedShmem); 40 async ReceivedDecodedReferenceFrame(uint64_t aPictureId); 41 async ReceivedDecodedFrame(uint64_t aPictureId); 42 async InputDataExhausted(); 43 async DrainComplete(); 44 async ResetComplete(); 45 async Error(GMPErr aErr); 46 async Shutdown(); 47 }; 48 49 } // namespace gmp 50 } // namespace mozilla