/* -*- Mode: C++; tab-width: 20; 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 LayersSurfaces; include LayersMessages; include protocol PTexture; include "mozilla/GfxMessageUtils.h"; include "mozilla/layers/LayersMessageUtils.h"; using mozilla::dom::ContentParentId from "mozilla/dom/ipc/IdType.h"; using mozilla::layers::TextureFlags from "mozilla/layers/CompositorTypes.h"; namespace mozilla { namespace layers { /** * The PVideoBridge protocol is used to share textures from the video decoders * to the compositor. */ [NeedsOtherPid] sync protocol PVideoBridge { manages PTexture; parent: /** * Since PVideoBridge creates textures on behalf of another process, we also * supply ContentParentId of the owning content process. */ async PTexture(SurfaceDescriptor aSharedData, ReadLockDescriptor aReadLock, LayersBackend aBackend, TextureFlags aTextureFlags, ContentParentId aContentId, uint64_t aSerial); }; } // namespace } // namespace