mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-05 06:47:31 +09:00
import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo
This commit is contained in:
commit
dcd9973243
150858 changed files with 23884658 additions and 0 deletions
104
dom/media/platforms/wmf/WMF.h
Normal file
104
dom/media/platforms/wmf/WMF.h
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim:set ts=2 sw=2 sts=2 et cindent: */
|
||||
/* 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/. */
|
||||
|
||||
#ifndef WMF_H_
|
||||
#define WMF_H_
|
||||
|
||||
#if WINVER < _WIN32_WINNT_WIN7
|
||||
#error \
|
||||
You must include WMF.h before including mozilla headers, \
|
||||
otherwise mozconfig.h will be included \
|
||||
and that sets WINVER to WinXP, \
|
||||
which makes Windows Media Foundation unavailable.
|
||||
#endif
|
||||
|
||||
#pragma push_macro("WINVER")
|
||||
#undef WINVER
|
||||
#define WINVER _WIN32_WINNT_WIN7
|
||||
|
||||
#include <windows.h>
|
||||
#include <mfapi.h>
|
||||
#include <mfidl.h>
|
||||
#include <mfreadwrite.h>
|
||||
#include <mfobjects.h>
|
||||
#include <ks.h>
|
||||
#include <stdio.h>
|
||||
#include <mferror.h>
|
||||
#include <propvarutil.h>
|
||||
#include <wmcodecdsp.h>
|
||||
#include <d3d9.h>
|
||||
#include <dxva2api.h>
|
||||
#include <wmcodecdsp.h>
|
||||
#include <codecapi.h>
|
||||
|
||||
// The Windows headers helpfully declare min and max macros, which don't
|
||||
// compile in the prescence of std::min and std::max and unified builds.
|
||||
// So undef them here.
|
||||
#ifdef min
|
||||
#undef min
|
||||
#endif
|
||||
#ifdef max
|
||||
#undef max
|
||||
#endif
|
||||
|
||||
// Some SDK versions don't define the AAC decoder CLSID.
|
||||
#ifndef CLSID_CMSAACDecMFT
|
||||
extern "C" const CLSID CLSID_CMSAACDecMFT;
|
||||
#define WMF_MUST_DEFINE_AAC_MFT_CLSID
|
||||
#endif
|
||||
|
||||
namespace mozilla {
|
||||
namespace wmf {
|
||||
|
||||
// If successful, loads all required WMF DLLs and calls the WMF MFStartup()
|
||||
// function.
|
||||
HRESULT MFStartup();
|
||||
|
||||
// Calls the WMF MFShutdown() function. Call this once for every time
|
||||
// wmf::MFStartup() succeeds. Note: does not unload the WMF DLLs loaded by
|
||||
// MFStartup(); leaves them in memory to save I/O at next MFStartup() call.
|
||||
HRESULT MFShutdown();
|
||||
|
||||
// All functions below are wrappers around the corresponding WMF function,
|
||||
// and automatically locate and call the corresponding function in the WMF DLLs.
|
||||
|
||||
HRESULT MFCreateMediaType(IMFMediaType **aOutMFType);
|
||||
|
||||
HRESULT MFGetStrideForBitmapInfoHeader(DWORD aFormat,
|
||||
DWORD aWidth,
|
||||
LONG *aOutStride);
|
||||
|
||||
HRESULT MFGetService(IUnknown *punkObject,
|
||||
REFGUID guidService,
|
||||
REFIID riid,
|
||||
LPVOID *ppvObject);
|
||||
|
||||
HRESULT DXVA2CreateDirect3DDeviceManager9(UINT *pResetToken,
|
||||
IDirect3DDeviceManager9 **ppDXVAManager);
|
||||
|
||||
|
||||
HRESULT MFCreateDXGIDeviceManager(UINT *pResetToken, IMFDXGIDeviceManager **ppDXVAManager);
|
||||
|
||||
HRESULT MFCreateSample(IMFSample **ppIMFSample);
|
||||
|
||||
HRESULT MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,
|
||||
DWORD fAlignmentFlags,
|
||||
IMFMediaBuffer **ppBuffer);
|
||||
|
||||
HRESULT MFCreateDXGISurfaceBuffer(REFIID riid,
|
||||
IUnknown *punkSurface,
|
||||
UINT uSubresourceIndex,
|
||||
BOOL fButtomUpWhenLinear,
|
||||
IMFMediaBuffer **ppBuffer);
|
||||
|
||||
} // end namespace wmf
|
||||
} // end namespace mozilla
|
||||
|
||||
|
||||
|
||||
#pragma pop_macro("WINVER")
|
||||
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue