diff options
Diffstat (limited to '')
-rw-r--r-- | src/VBox/Devices/Graphics/shaderlib/wine/include/wmsdkidl.idl | 395 |
1 files changed, 395 insertions, 0 deletions
diff --git a/src/VBox/Devices/Graphics/shaderlib/wine/include/wmsdkidl.idl b/src/VBox/Devices/Graphics/shaderlib/wine/include/wmsdkidl.idl new file mode 100644 index 00000000..59abe14b --- /dev/null +++ b/src/VBox/Devices/Graphics/shaderlib/wine/include/wmsdkidl.idl @@ -0,0 +1,395 @@ +/* + * Copyright 2012 André Hentschel + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/* + * Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice + * other than GPL or LGPL is available it will apply instead, Oracle elects to use only + * the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where + * a choice of LGPL license versions is made available with the language indicating + * that LGPLv2 or any later version may be used, or where a choice of which version + * of the LGPL is applied is otherwise unspecified. + */ + +import "oaidl.idl"; +import "wmsbuffer.idl"; +/* import "drmexternals.idl"; */ + +typedef unsigned __int64 QWORD; + +typedef struct _WMMediaType +{ + GUID majortype; + GUID subtype; + BOOL bFixedSizeSamples; + BOOL bTemporalCompression; + ULONG lSampleSize; + GUID formattype; + IUnknown *pUnk; + ULONG cbFormat; + [size_is(cbFormat)] BYTE *pbFormat; +} WM_MEDIA_TYPE; + +typedef enum WMT_ATTR_DATATYPE +{ + WMT_TYPE_DWORD = 0, + WMT_TYPE_STRING = 1, + WMT_TYPE_BINARY = 2, + WMT_TYPE_BOOL = 3, + WMT_TYPE_QWORD = 4, + WMT_TYPE_WORD = 5, + WMT_TYPE_GUID = 6, +} WMT_ATTR_DATATYPE; + +typedef enum WMT_STATUS +{ + WMT_ERROR = 0, + WMT_OPENED = 1, + WMT_BUFFERING_START = 2, + WMT_BUFFERING_STOP = 3, + WMT_EOF = 4, + WMT_END_OF_FILE = 4, + WMT_END_OF_SEGMENT = 5, + WMT_END_OF_STREAMING = 6, + WMT_LOCATING = 7, + WMT_CONNECTING = 8, + WMT_NO_RIGHTS = 9, + WMT_MISSING_CODEC = 10, + WMT_STARTED = 11, + WMT_STOPPED = 12, + WMT_CLOSED = 13, + WMT_STRIDING = 14, + WMT_TIMER = 15, + WMT_INDEX_PROGRESS = 16, + WMT_SAVEAS_START = 17, + WMT_SAVEAS_STOP = 18, + WMT_NEW_SOURCEFLAGS = 19, + WMT_NEW_METADATA = 20, + WMT_BACKUPRESTORE_BEGIN = 21, + WMT_SOURCE_SWITCH = 22, + WMT_ACQUIRE_LICENSE = 23, + WMT_INDIVIDUALIZE = 24, + WMT_NEEDS_INDIVIDUALIZATION = 25, + WMT_NO_RIGHTS_EX = 26, + WMT_BACKUPRESTORE_END = 27, + WMT_BACKUPRESTORE_CONNECTING = 28, + WMT_BACKUPRESTORE_DISCONNECTING = 29, + WMT_ERROR_WITHURL = 30, + WMT_RESTRICTED_LICENSE = 31, + WMT_CLIENT_CONNECT = 32, + WMT_CLIENT_DISCONNECT = 33, + WMT_NATIVE_OUTPUT_PROPS_CHANGED = 34, + WMT_RECONNECT_START = 35, + WMT_RECONNECT_END = 36, + WMT_CLIENT_CONNECT_EX = 37, + WMT_CLIENT_DISCONNECT_EX = 38, + WMT_SET_FEC_SPAN = 39, + WMT_PREROLL_READY = 40, + WMT_PREROLL_COMPLETE = 41, + WMT_CLIENT_PROPERTIES = 42, + WMT_LICENSEURL_SIGNATURE_STATE = 43, + WMT_INIT_PLAYLIST_BURN = 44, + WMT_TRANSCRYPTOR_INIT = 45, + WMT_TRANSCRYPTOR_SEEKED = 46, + WMT_TRANSCRYPTOR_READ = 47, + WMT_TRANSCRYPTOR_CLOSED = 48, + WMT_PROXIMITY_RESULT = 49, + WMT_PROXIMITY_COMPLETED = 50, + WMT_CONTENT_ENABLER = 51 +} WMT_STATUS; + +typedef enum WMT_STREAM_SELECTION +{ + WMT_OFF = 0, + WMT_CLEANPOINT_ONLY = 1, + WMT_ON = 2, +} WMT_STREAM_SELECTION; + + +[ + object, + uuid(6d7cdc70-9888-11d3-8edc-00c04f6109cf), + pointer_default(unique), + local +] +interface IWMStatusCallback : IUnknown +{ + HRESULT OnStatus( + [in] WMT_STATUS Status, + [in] HRESULT hr, + [in] WMT_ATTR_DATATYPE dwType, + [in] BYTE *pValue, + [in] void *pvContext); +}; + +[ + object, + uuid(96406bd8-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMReaderCallback : IWMStatusCallback +{ + HRESULT OnSample( + [in] DWORD dwOutputNum, + [in] QWORD cnsSampleTime, + [in] QWORD cnsSampleDuration, + [in] DWORD dwFlags, + [in] INSSBuffer *pSample, + [in] void *pvContext); +}; + +[ + object, + uuid(96406bce-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMMediaProps : IUnknown +{ + HRESULT GetType( + [out] GUID *pguidType); + + HRESULT GetMediaType( + [out] WM_MEDIA_TYPE *pType, + [in, out] DWORD *pcbType); + + HRESULT SetMediaType( + [in] WM_MEDIA_TYPE *pType); +}; + +[ + object, + uuid(96406bd7-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMOutputMediaProps : IWMMediaProps +{ + HRESULT GetStreamGroupName( + [out, size_is(*pcchName)] WCHAR *pwszName, + [in, out] WORD *pcchName); + + HRESULT GetConnectionName( + [out, size_is(*pcchName)] WCHAR *pwszName, + [in, out] WORD *pcchName); +}; + +[ + object, + uuid(96406bd9-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMMetadataEditor : IUnknown +{ + HRESULT Open( + [in] const WCHAR *pwszFilename); + + HRESULT Close(); + + HRESULT Flush(); +}; + +[ + object, + uuid(96406bd6-2b2b-11d3-b36b-00c04f6108ff), + pointer_default(unique), + local +] +interface IWMReader : IUnknown +{ + HRESULT Open( + [in] const WCHAR *pwszURL, + [in] IWMReaderCallback *pCallback, + [in] void *pvContext); + + HRESULT Close(); + + HRESULT GetOutputCount( + [out] DWORD *pcOutputs); + + HRESULT GetOutputProps( + [in] DWORD dwOutputNum, + [out] IWMOutputMediaProps **ppOutput); + + HRESULT SetOutputProps( + [in] DWORD dwOutputNum, + [in] IWMOutputMediaProps *pOutput); + + HRESULT GetOutputFormatCount( + [in] DWORD dwOutputNumber, + [out] DWORD *pcFormats); + + HRESULT GetOutputFormat( + [in] DWORD dwOutputNumber, + [in] DWORD dwFormatNumber, + [out] IWMOutputMediaProps** ppProps); + + HRESULT Start( + [in] QWORD cnsStart, + [in] QWORD cnsDuration, + [in] float fRate, + [in] void *pvContext); + + HRESULT Stop(); + + HRESULT Pause(); + + HRESULT Resume(); +}; + +[ + object, + uuid(9397f121-7705-4dc9-b049-98b698188414), + pointer_default( unique ), + local +] +interface IWMSyncReader : IUnknown +{ + HRESULT Open( + [in] const WCHAR *pwszFilename); + + HRESULT Close(); + + HRESULT SetRange( + [in] QWORD cnsStartTime, + [in] LONGLONG cnsDuration); + + HRESULT SetRangeByFrame( + [in] WORD wStreamNum, + [in] QWORD qwFrameNumber, + [in] LONGLONG cFramesToRead); + + HRESULT GetNextSample( + [in] WORD wStreamNum, + [out] INSSBuffer **ppSample, + [out] QWORD *pcnsSampleTime, + [out] QWORD *pcnsDuration, + [out] DWORD *pdwFlags, + [out] DWORD *pdwOutputNum, + [out] WORD *pwStreamNum); + + HRESULT SetStreamsSelected( + [in] WORD cStreamCount, + [in] WORD *pwStreamNumbers, + [in] WMT_STREAM_SELECTION *pSelections); + + HRESULT GetStreamSelected( + [in] WORD wStreamNum, + [out] WMT_STREAM_SELECTION *pSelection); + + HRESULT SetReadStreamSamples( + [in] WORD wStreamNum, + [in] BOOL fCompressed); + + HRESULT GetReadStreamSamples( + [in] WORD wStreamNum, + [out] BOOL *pfCompressed); + + HRESULT GetOutputSetting( + [in] DWORD dwOutputNum, + [in] LPCWSTR pszName, + [out] WMT_ATTR_DATATYPE *pType, + [out, size_is(*pcbLength)] BYTE *pValue, + [in, out] WORD *pcbLength); + + HRESULT SetOutputSetting( + [in] DWORD dwOutputNum, + [in] LPCWSTR pszName, + [in] WMT_ATTR_DATATYPE Type, + [in, size_is(cbLength)] const BYTE *pValue, + [in] WORD cbLength); + + HRESULT GetOutputCount( + [out] DWORD *pcOutputs); + + HRESULT GetOutputProps( + [in] DWORD dwOutputNum, + [out] IWMOutputMediaProps **ppOutput); + + HRESULT SetOutputProps( + [in] DWORD dwOutputNum, + [in] IWMOutputMediaProps *pOutput); + + HRESULT GetOutputFormatCount( + [in] DWORD dwOutputNum, + [out] DWORD *pcFormats); + + HRESULT GetOutputFormat( + [in] DWORD dwOutputNum, + [in] DWORD dwFormatNum, + [out] IWMOutputMediaProps **ppProps); + + HRESULT GetOutputNumberForStream( + [in] WORD wStreamNum, + [out] DWORD *pdwOutputNum); + + HRESULT GetStreamNumberForOutput( + [in] DWORD dwOutputNum, + [out] WORD *pwStreamNum); + + HRESULT GetMaxOutputSampleSize( + [in] DWORD dwOutput, + [out] DWORD *pcbMax); + + HRESULT GetMaxStreamSampleSize( + [in] WORD wStream, + [out] DWORD *pcbMax); + + HRESULT OpenStream( + [in] IStream *pStream); +}; + +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_Base, 0x00000000,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIATYPE_Video, 0x73646976,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB1, 0xe436eb78,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB4, 0xe436eb79,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB8, 0xe436eb7a,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB565, 0xe436eb7b,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB555, 0xe436eb7c,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB24, 0xe436eb7d,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_RGB32, 0xe436eb7e,0x524f,0x11ce,0x9f,0x53,0x00,0x20,0xaf,0x0b,0xa7,0x70);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_I420, 0x30323449,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_IYUV, 0x56555949,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YV12, 0x32315659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YUY2, 0x32595559,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_P422, 0x32323450,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_UYVY, 0x59565955,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVYU, 0x55595659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_YVU9, 0x39555659,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_VIDEOIMAGE, 0x1d4a45f2,0xe5f6,0x4b44,0x83,0x88,0xf0,0xae,0x5c,0x0e,0x0c,0x37);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP43, 0x3334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MP4S, 0x5334504d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_M4S2, 0x3253344d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV1, 0x31564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV2, 0x32564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS1, 0x3153534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MPEG2_VIDEO, 0xe06d8026,0xdb46,0x11cf,0xb4,0xd1,0x00,0x80,0x5f,0x6c,0xbb,0xea);") +cpp_quote("EXTERN_GUID(WMMEDIATYPE_Audio, 0x73647561,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_PCM, 0x00000001,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_DRM, 0x00000009,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudioV9, 0x00000162,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMAudio_Lossless, 0x00000163,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_MSS2, 0x3253534d,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP1, 0x0000000a,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMSP2, 0x0000000b,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMV3, 0x33564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVP, 0x50564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVP2, 0x32505657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WMVA, 0x41564d57,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") +cpp_quote("EXTERN_GUID(WMMEDIASUBTYPE_WVC1, 0x31435657,0x0000,0x0010,0x80,0x00,0x00,0xaa,0x00,0x38,0x9b,0x71);") |