gecko-dev/dom/media/ipc/PRemoteDecoderManager.ipdl
alwu 9f4133b91f Bug 1758789 - part18 : disable the media engine feature on MinGW. r=media-playback-reviewers,firefox-build-system-reviewers,jolin,ahochheiden
On MinGW, it lacks of the headers for RunTimeClass and we have trouble to make it work. This patch adds a new config for Media Engine in order not to build related files on MinGW environment.

In addition, MinGW build version of Firefox is only used for Tor browser and it's ok to disable this feature for them for now. If they want to port this feature in the future as well, then we can see if we can fix the build problems at that time.

Differential Revision: https://phabricator.services.mozilla.com/D150660
2022-06-30 22:34:22 +00:00

59 lines
1.6 KiB
Plaintext

/* -*- Mode: C++; tab-width: 8; 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/. */
#ifdef MOZ_WMF_MEDIA_ENGINE
include protocol PMFMediaEngine;
#endif
include protocol PTexture;
include protocol PRemoteDecoder;
include LayersSurfaces;
include PMediaDecoderParams;
include "mozilla/dom/MediaIPCUtils.h";
include "mozilla/layers/LayersMessageUtils.h";
using mozilla::VideoInfo from "MediaInfo.h";
using mozilla::AudioInfo from "MediaInfo.h";
using struct mozilla::layers::TextureFactoryIdentifier from "mozilla/layers/CompositorTypes.h";
using mozilla::CreateDecoderParams::OptionSet from "PlatformDecoderModule.h";
using mozilla::DecoderDoctorDiagnostics from "DecoderDoctorDiagnostics.h";
namespace mozilla {
struct VideoDecoderInfoIPDL
{
VideoInfo videoInfo;
float framerate;
};
union RemoteDecoderInfoIPDL
{
AudioInfo;
VideoDecoderInfoIPDL;
};
[ManualDealloc, NeedsOtherPid]
sync protocol PRemoteDecoderManager
{
manages PRemoteDecoder;
#ifdef MOZ_WMF_MEDIA_ENGINE
manages PMFMediaEngine;
#endif
parent:
#ifdef MOZ_WMF_MEDIA_ENGINE
async PMFMediaEngine();
#endif
async PRemoteDecoder(RemoteDecoderInfoIPDL info,
OptionSet options,
TextureFactoryIdentifier? identifier,
uint64_t? mediaEngineId);
sync Readback(SurfaceDescriptorGPUVideo sd) returns (SurfaceDescriptor aResult);
async DeallocateSurfaceDescriptorGPUVideo(SurfaceDescriptorGPUVideo sd);
};
} // namespace mozilla