tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

PVideoBridge.ipdl (1328B)


      1 /* -*- Mode: C++; tab-width: 20; 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 LayersSurfaces;
      7 include LayersMessages;
      8 include protocol PTexture;
      9 
     10 include "mozilla/GfxMessageUtils.h";
     11 include "mozilla/layers/LayersMessageUtils.h";
     12 
     13 using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h";
     14 using mozilla::layers::TextureFlags from "mozilla/layers/CompositorTypes.h";
     15 using mozilla::void_t from "mozilla/ipc/IPCCore.h";
     16 
     17 namespace mozilla {
     18 namespace layers {
     19 
     20 /**
     21  * The PVideoBridge protocol is used to share textures from the video decoders
     22  * to the compositor.
     23  */
     24 [NeedsOtherPid, ParentProc=compositor, ChildProc=any]
     25 sync protocol PVideoBridge
     26 {
     27   manages PTexture;
     28 
     29 child:
     30   async Ping() returns (void_t ok);
     31 
     32 parent:
     33   /**
     34    * Since PVideoBridge creates textures on behalf of another process, we also
     35    * supply ContentParentId of the owning content process.
     36    */
     37   async PTexture(SurfaceDescriptor aSharedData, ReadLockDescriptor aReadLock, LayersBackend aBackend,
     38                  TextureFlags aTextureFlags, ContentParentId aContentId, uint64_t aSerial);
     39 };
     40 
     41 } // namespace
     42 } // namespace
     43