| /** |
| * This file has no copyright assigned and is placed in the Public Domain. |
| * This file is part of the mingw-w64 runtime package. |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. |
| */ |
| |
| import "mfobjects.idl"; |
| |
| cpp_quote("#include <mftransform.h>") // FIXME: import "mftransform.idl"; |
| |
| cpp_quote("#include <windef.h>") |
| |
| typedef enum MFSESSION_SETTOPOLOGY_FLAGS { |
| MFSESSION_SETTOPOLOGY_IMMEDIATE = 0x1, |
| MFSESSION_SETTOPOLOGY_NORESOLUTION = 0x2, |
| MFSESSION_SETTOPOLOGY_CLEAR_CURRENT = 0x4 |
| } MFSESSION_SETTOPOLOGY_FLAGS; |
| |
| typedef enum MFSESSION_GETFULLTOPOLOGY_FLAGS { |
| MFSESSION_GETFULLTOPOLOGY_CURRENT |
| } MFSESSION_GETFULLTOPOLOGY_FLAGS; |
| |
| typedef enum MFPMPSESSION_CREATION_FLAGS { |
| MFPMPSESSION_UNPROTECTED_PROCESS = 0x1 |
| } MFPMPSESSION_CREATION_FLAGS; |
| |
| typedef unsigned __int64 TOPOID; |
| |
| typedef enum MF_TOPOLOGY_TYPE { |
| MF_TOPOLOGY_OUTPUT_NODE, |
| MF_TOPOLOGY_SOURCESTREAM_NODE, |
| MF_TOPOLOGY_TRANSFORM_NODE, |
| MF_TOPOLOGY_TEE_NODE, |
| MF_TOPOLOGY_MAX = 0xffffffff |
| } MF_TOPOLOGY_TYPE; |
| |
| [ |
| object, |
| uuid(83cf873a-f6da-4bc8-823f-bacfd55dc430), |
| ] |
| interface IMFTopologyNode : IMFAttributes |
| { |
| HRESULT SetObject([in] IUnknown *pObject); |
| HRESULT GetObject([out] IUnknown **ppObject); |
| HRESULT GetNodeType([out] MF_TOPOLOGY_TYPE *pType); |
| HRESULT GetTopoNodeID([out] TOPOID *pID); |
| HRESULT SetTopoNodeID([in] TOPOID ullTopoID); |
| HRESULT GetInputCount([out] DWORD *pcInputs); |
| HRESULT GetOutputCount([out] DWORD *pcOutputs); |
| |
| [local] |
| HRESULT ConnectOutput([in] DWORD dwOutputIndex, [in] IMFTopologyNode* pDownstreamNode, |
| [in] DWORD dwInputIndexOnDownstreamNode); |
| [local] HRESULT DisconnectOutput([in] DWORD dwOutputIndex); |
| HRESULT GetInput([in] DWORD dwInputIndex, [out] IMFTopologyNode** ppUpstreamNode, |
| [out] DWORD *pdwOutputIndexOnUpstreamNode); |
| HRESULT GetOutput([in] DWORD dwOutputIndex, [out] IMFTopologyNode** ppDownstreamNode, |
| [out] DWORD* pdwInputIndexOnDownstreamNode); |
| [local] HRESULT SetOutputPrefType([in] DWORD dwOutputIndex, [in] IMFMediaType *pType); |
| |
| [local] HRESULT GetOutputPrefType([in] DWORD dwOutputIndex, [out] IMFMediaType **ppType); |
| [call_as(GetOutputPrefType)] HRESULT RemoteGetOutputPrefType([in] DWORD dwOutputIndex, |
| [out] DWORD *pcbData, [out, size_is(,*pcbData)] BYTE **ppbData); |
| |
| [local] HRESULT SetInputPrefType([in] DWORD dwInputIndex, [in] IMFMediaType *pType); |
| |
| [local] HRESULT GetInputPrefType([in] DWORD dwInputIndex, [out] IMFMediaType **ppType); |
| [call_as(GetInputPrefType)] HRESULT RemoteGetInputPrefType( [in] DWORD dwInputIndex, |
| [out] DWORD *pcbData, [out, size_is(,*pcbData)] BYTE **ppbData); |
| |
| HRESULT CloneFrom([in] IMFTopologyNode *pNode); |
| } |
| |
| [ |
| object, |
| uuid(83cf873a-f6da-4bc8-823f-bacfd55dc433), |
| ] |
| interface IMFTopology : IMFAttributes |
| { |
| HRESULT GetTopologyID([out] TOPOID *pID); |
| [local] HRESULT AddNode([in] IMFTopologyNode *pNode); |
| [local] HRESULT RemoveNode([in] IMFTopologyNode *pNode); |
| HRESULT GetNodeCount([out] WORD *pwNodes); |
| HRESULT GetNode([in] WORD wIndex, [out] IMFTopologyNode **ppNode); |
| [local] HRESULT Clear(); |
| HRESULT CloneFrom([in] IMFTopology *pTopology); |
| HRESULT GetNodeByID([in] TOPOID qwTopoNodeID, [out] IMFTopologyNode **ppNode); |
| HRESULT GetSourceNodeCollection([out] IMFCollection **ppCollection); |
| HRESULT GetOutputNodeCollection([out] IMFCollection **ppCollection); |
| } |
| |
| typedef LONGLONG MFTIME; |
| |
| typedef enum _MF_CLOCK_STATE { |
| MFCLOCK_STATE_INVALID, |
| MFCLOCK_STATE_RUNNING, |
| MFCLOCK_STATE_STOPPED, |
| MFCLOCK_STATE_PAUSED |
| } MF_CLOCK_STATE, MFCLOCK_STATE; |
| |
| typedef struct _MFCLOCK_PROPERTIES { |
| unsigned __int64 qwCorrelationRate; |
| GUID guidClockId; |
| DWORD dwClockFlags; |
| unsigned __int64 qwClockFrequency; |
| DWORD dwClockTolerance; |
| DWORD dwClockJitter; |
| } MFCLOCK_PROPERTIES; |
| |
| [ |
| object, |
| uuid(2eb1e945-18b8-4139-9b1a-d5d584818530), |
| ] |
| interface IMFClock : IUnknown |
| { |
| HRESULT GetClockCharacteristics([out] DWORD *pdwCharacteristics); |
| HRESULT GetCorrelatedTime([in] DWORD dwReserved, [out] LONGLONG *pllClockTime, [out] MFTIME *phnsSystemTime); |
| HRESULT GetContinuityKey([out] DWORD *pdwContinuityKey); |
| HRESULT GetState([in] DWORD dwReserved, [out] MFCLOCK_STATE *peClockState); |
| HRESULT GetProperties([out] MFCLOCK_PROPERTIES *pClockProperties); |
| } |
| |
| cpp_quote("#define SHA_HASH_LEN 20") |
| cpp_quote("#define STR_HASH_LEN (SHA_HASH_LEN*2+3)") |
| |
| cpp_quote("typedef struct _MFRR_COMPONENT_HASH_INFO {") |
| cpp_quote(" DWORD ulReason;") |
| cpp_quote(" WCHAR rgHeaderHash[STR_HASH_LEN];") |
| cpp_quote(" WCHAR rgPublicKeyHash[STR_HASH_LEN];") |
| cpp_quote(" WCHAR wszName[MAX_PATH];") |
| cpp_quote("} MFRR_COMPONENT_HASH_INFO, *PMFRR_COMPONENT_HASH_INFO;") |
| |
| cpp_quote("EXTERN_GUID(MF_PD_DURATION, 0x6c990d33,0xbb8e,0x477a,0x85,0x98,0xd,0x5d,0x96,0xfc,0xd8,0x8a);") |
| |
| typedef enum _MF_CONNECT_METHOD { |
| MF_CONNECT_DIRECT = 0x00000000, |
| MF_CONNECT_ALLOW_CONVERTER = 0x00000001, |
| MF_CONNECT_ALLOW_DECODER = 0x00000003, |
| MF_CONNECT_RESOLVE_INDEPENDENT_OUTPUTTYPES = 0x00000004, |
| MF_CONNECT_AS_OPTIONAL = 0x00010000, |
| MF_CONNECT_AS_OPTIONAL_BRANCH = 0x00020000 |
| } MF_CONNECT_METHOD; |
| |
| [ |
| object, |
| uuid(90377834-21d0-4dee-8214-ba2e3e6c1127), |
| ] |
| interface IMFMediaSession : IMFMediaEventGenerator |
| { |
| HRESULT SetTopology([in] DWORD dwSetTopologyFlags, [in] IMFTopology *pTopology); |
| HRESULT ClearTopologies(); |
| HRESULT Start([in, unique] const GUID *pguidTimeFormat, [in, unique] const PROPVARIANT *pvarStartPosition); |
| HRESULT Pause(); |
| HRESULT Stop(); |
| HRESULT Close(); |
| HRESULT Shutdown(); |
| HRESULT GetClock([out] IMFClock **ppClock); |
| HRESULT GetSessionCapabilities([out] DWORD *pdwCaps); |
| HRESULT GetFullTopology([in] DWORD dwGetFullTopologyFlags, [in] TOPOID TopoId, [out] IMFTopology **ppFullTopology); |
| } |
| |
| [ |
| object, |
| uuid(e93dcf6c-4b07-4e1e-8123-aa16ed6eadf5), |
| ] |
| interface IMFMediaTypeHandler : IUnknown |
| { |
| [local] HRESULT IsMediaTypeSupported([in] IMFMediaType *pMediaType, [out] IMFMediaType **ppMediaType); |
| [local] HRESULT GetMediaTypeCount([out] DWORD *pdwTypeCount); |
| [local] HRESULT GetMediaTypeByIndex([in] DWORD dwIndex, [out] IMFMediaType **ppType); |
| [local] HRESULT SetCurrentMediaType([in] IMFMediaType *pMediaType); |
| |
| [local] |
| HRESULT GetCurrentMediaType([out] IMFMediaType **ppMediaType); |
| [call_as(GetCurrentMediaType)] |
| HRESULT RemoteGetCurrentMediaType([out, size_is(,*pcbData)] BYTE **ppbData, [out] DWORD *pcbData); |
| |
| HRESULT GetMajorType([out] GUID *pguidMajorType); |
| } |
| |
| [ |
| object, |
| uuid(56c03d9c-9dbb-45f5-ab4b-d80f47c05938), |
| ] |
| interface IMFStreamDescriptor : IMFAttributes |
| { |
| HRESULT GetStreamIdentifier([out] DWORD *pdwStreamIdentifier); |
| HRESULT GetMediaTypeHandler([out] IMFMediaTypeHandler **ppMediaTypeHandler); |
| } |
| |
| [ |
| object, |
| uuid(03cb2711-24d7-4db6-a17f-f3a7a479a536), |
| ] |
| interface IMFPresentationDescriptor : IMFAttributes |
| { |
| HRESULT GetStreamDescriptorCount([out] DWORD *pdwDescriptorCount); |
| HRESULT GetStreamDescriptorByIndex([in] DWORD dwIndex, [out] BOOL *pfSelected, [out] IMFStreamDescriptor **ppDescriptor); |
| HRESULT SelectStream([in] DWORD dwDescriptorIndex); |
| HRESULT DeselectStream([in] DWORD dwDescriptorIndex); |
| HRESULT Clone([out] IMFPresentationDescriptor **ppPresentationDescriptor); |
| } |
| |
| [ |
| object, |
| uuid(279a808d-aec7-40c8-9c6b-a6b492c78a66), |
| ] |
| interface IMFMediaSource : IMFMediaEventGenerator |
| { |
| HRESULT GetCharacteristics([out] DWORD *pdwCharacteristics); |
| |
| [local] |
| HRESULT CreatePresentationDescriptor([out] IMFPresentationDescriptor **ppPresentationDescriptor); |
| [call_as(CreatePresentationDescriptor)] |
| HRESULT RemoteCreatePresentationDescriptor( |
| [out] DWORD *pcbPD, |
| [out, size_is(,*pcbPD)] BYTE **pbPD, |
| [out] IMFPresentationDescriptor **ppRemotePD); |
| |
| HRESULT Start( |
| [in] IMFPresentationDescriptor *pPresentationDescriptor, |
| [in, unique] const GUID *pguidTimeFormat, |
| [in, unique] const PROPVARIANT *pvarStartPosition); |
| |
| HRESULT Stop(); |
| HRESULT Pause(); |
| HRESULT Shutdown(); |
| } |
| |
| typedef [public] struct _MF_LEAKY_BUCKET_PAIR { |
| DWORD dwBitrate; |
| DWORD msBufferWindow; |
| } MF_LEAKY_BUCKET_PAIR; |
| |
| typedef [public] struct _MFBYTESTREAM_BUFFERING_PARAMS { |
| QWORD cbTotalFileSize; |
| QWORD cbPlayableDataSize; |
| MF_LEAKY_BUCKET_PAIR *prgBuckets; |
| DWORD cBuckets; |
| QWORD qwNetBufferingTime; |
| QWORD qwExtraBufferingTimeDuringSeek; |
| QWORD qwPlayDuration; |
| float dRate; |
| } MFBYTESTREAM_BUFFERING_PARAMS; |
| |
| [ |
| object, |
| uuid(6d66d782-1d4f-4db7-8c63-cb8c77f1ef5e), |
| local |
| ] |
| interface IMFByteStreamBuffering : IUnknown |
| { |
| HRESULT SetBufferingParams([in] MFBYTESTREAM_BUFFERING_PARAMS *pParams); |
| HRESULT EnableBuffering([in] BOOL fEnable); |
| HRESULT StopBuffering(); |
| } |
| |
| cpp_quote("HRESULT WINAPI MFRequireProtectedEnvironment(IMFPresentationDescriptor *pPresentationDescriptor);") |
| cpp_quote("HRESULT WINAPI MFSerializePresentationDescriptor(IMFPresentationDescriptor *pPD,DWORD *pcbData,BYTE **ppbData);") |
| |
| cpp_quote("typedef DWORD MFSequencerElementId; /*Unknown type*/") |
| cpp_quote("") |
| cpp_quote("typedef enum MFCLOCK_CHARACTERISTICS_FLAGS {") |
| cpp_quote(" MFCLOCK_CHARACTERISTICS_FLAG_FREQUENCY_10MHZ = 0x2,") |
| cpp_quote(" MFCLOCK_CHARACTERISTICS_FLAG_ALWAYS_RUNNING = 0x4,") |
| cpp_quote(" MFCLOCK_CHARACTERISTICS_FLAG_IS_SYSTEM_CLOCK = 0x8") |
| cpp_quote("} MFCLOCK_CHARACTERISTICS_FLAGS;") |
| cpp_quote("") |
| cpp_quote("#if (WINVER >= 0x0601)") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_QUALITY_ADVISE_FLAGS {") |
| cpp_quote(" MF_QUALITY_CANNOT_KEEP_UP = 0x1") |
| cpp_quote("} MF_QUALITY_ADVISE_FLAGS;") |
| cpp_quote("") |
| cpp_quote("#endif /*(WINVER >= 0x0601)*/") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_QUALITY_DROP_MODE {") |
| cpp_quote(" MF_DROP_MODE_NONE = 0x0,") |
| cpp_quote(" MF_DROP_MODE_1 = 0x1,") |
| cpp_quote(" MF_DROP_MODE_2 = 0x2,") |
| cpp_quote(" MF_DROP_MODE_3 = 0x3,") |
| cpp_quote(" MF_DROP_MODE_4 = 0x4,") |
| cpp_quote(" MF_DROP_MODE_5 = 0x5,") |
| cpp_quote(" MF_NUM_DROP_MODES = 0x6") |
| cpp_quote("} MF_QUALITY_DROP_MODE;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_QUALITY_LEVEL {") |
| cpp_quote(" MF_QUALITY_NORMAL = 0x0,") |
| cpp_quote(" MF_QUALITY_NORMAL_MINUS_1 = 0x1,") |
| cpp_quote(" MF_QUALITY_NORMAL_MINUS_2 = 0x2,") |
| cpp_quote(" MF_QUALITY_NORMAL_MINUS_3 = 0x3,") |
| cpp_quote(" MF_QUALITY_NORMAL_MINUS_4 = 0x4,") |
| cpp_quote(" MF_QUALITY_NORMAL_MINUS_5 = 0x5,") |
| cpp_quote(" MF_NUM_QUALITY_LEVELS = 0x6") |
| cpp_quote("} MF_QUALITY_LEVEL;") |
| cpp_quote("") |
| cpp_quote("typedef enum MF_SOURCE_READER_CONTROL_FLAG {") |
| cpp_quote(" MF_SOURCE_READER_CONTROLF_DRAIN = 0x00000001") |
| cpp_quote("} MF_SOURCE_READER_CONTROL_FLAG;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS {") |
| cpp_quote(" MF_TOPOLOGY_RESOLUTION_SUCCEEDED = 0x00000000,") |
| cpp_quote(" MF_OPTIONAL_NODE_REJECTED_MEDIA_TYPE = 0x00000001,") |
| cpp_quote(" MF_OPTIONAL_NODE_REJECTED_PROTECTED_PROCESS = 0x00000002") |
| cpp_quote("} MF_TOPOLOGY_RESOLUTION_STATUS_FLAGS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_TOPONODE_DRAIN_MODE {") |
| cpp_quote(" MF_TOPONODE_DRAIN_DEFAULT,") |
| cpp_quote(" MF_TOPONODE_DRAIN_ALWAYS,") |
| cpp_quote(" MF_TOPONODE_DRAIN_NEVER") |
| cpp_quote("} MF_TOPONODE_DRAIN_MODE;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_TOPONODE_FLUSH_MODE {") |
| cpp_quote(" MF_TOPONODE_FLUSH_ALWAYS,") |
| cpp_quote(" MF_TOPONODE_FLUSH_SEEK,") |
| cpp_quote(" MF_TOPONODE_FLUSH_NEVER") |
| cpp_quote("} MF_TOPONODE_FLUSH_MODE;") |
| cpp_quote("") |
| cpp_quote("#if (WINVER >= 0x0601)") |
| cpp_quote("") |
| cpp_quote("typedef enum _MF_TRANSCODE_TOPOLOGY_MODE_FLAGS {") |
| cpp_quote(" MF_TRANSCODE_TOPOLOGYMODE_SOFTWARE_ONLY = 0,") |
| cpp_quote(" MF_TRANSCODE_TOPOLOGYMODE_HARDWARE_ALLOWED = 1") |
| cpp_quote("} MF_TRANSCODE_TOPOLOGYMODE_FLAGS;") |
| cpp_quote("") |
| cpp_quote("#endif") |
| cpp_quote("") |
| cpp_quote("typedef enum {") |
| cpp_quote(" MF_LICENSE_URL_UNTRUSTED,") |
| cpp_quote(" MF_LICENSE_URL_TRUSTED,") |
| cpp_quote(" MF_LICENSE_URL_TAMPERED") |
| cpp_quote("} MF_URL_TRUST_STATUS;") |
| cpp_quote("") |
| cpp_quote("typedef enum MFASF_INDEXERFLAGS {") |
| cpp_quote(" MFASF_INDEXER_WRITE_NEW_INDEX = 0x00000001,") |
| cpp_quote(" MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK = 0x00000004,") |
| cpp_quote(" MFASF_INDEXER_WRITE_FOR_LIVEREAD = 0x00000008") |
| cpp_quote("} MFASF_INDEXERFLAGS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFCLOCK_RELATIONAL_FLAGS {") |
| cpp_quote(" MFCLOCK_RELATIONAL_FLAG_JITTER_NEVER_AHEAD = 0x1") |
| cpp_quote("} MFCLOCK_RELATIONAL_FLAGS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFMEDIASOURCE_CHARACTERISTICS {") |
| cpp_quote(" MFMEDIASOURCE_IS_LIVE = 0x1,") |
| cpp_quote(" MFMEDIASOURCE_CAN_SEEK = 0x2,") |
| cpp_quote(" MFMEDIASOURCE_CAN_PAUSE = 0x4,") |
| cpp_quote(" MFMEDIASOURCE_HAS_SLOW_SEEK = 0x8,") |
| cpp_quote(" MFMEDIASOURCE_HAS_MULTIPLE_PRESENTATIONS = 0x10,") |
| cpp_quote(" MFMEDIASOURCE_CAN_SKIPFORWARD = 0x20,") |
| cpp_quote(" MFMEDIASOURCE_CAN_SKIPBACKWARD = 0x40") |
| cpp_quote("} MFMEDIASOURCE_CHARACTERISTICS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNET_PROXYSETTINGS {") |
| cpp_quote(" MFNET_PROXYSETTING_NONE = 0,") |
| cpp_quote(" MFNET_PROXYSETTING_MANUAL = 1,") |
| cpp_quote(" MFNET_PROXYSETTING_AUTO = 2,") |
| cpp_quote(" MFNET_PROXYSETTING_BROWSER = 3") |
| cpp_quote("} MFNET_PROXYSETTINGS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNetAuthenticationFlags {") |
| cpp_quote(" MFNET_AUTHENTICATION_PROXY = 0x00000001,") |
| cpp_quote(" MFNET_AUTHENTICATION_CLEAR_TEXT = 0x00000002,") |
| cpp_quote(" MFNET_AUTHENTICATION_LOGGED_ON_USER") |
| cpp_quote("} MFNetAuthenticationFlags;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNetCredentialOptions {") |
| cpp_quote(" MFNET_CREDENTIAL_SAVE = 0x00000001,") |
| cpp_quote(" MFNET_CREDENTIAL_DONT_CACHE = 0x00000002,") |
| cpp_quote(" MFNET_CREDENTIAL_ALLOW_CLEAR_TEXT = 0x00000004") |
| cpp_quote("} MFNetCredentialOptions;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNetCredentialRequirements {") |
| cpp_quote(" REQUIRE_PROMPT = 0x00000001,") |
| cpp_quote(" REQUIRE_SAVE_SELECTED = 0x00000002") |
| cpp_quote("} MFNetCredentialRequirements;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNETSOURCE_CACHE_STATE {") |
| cpp_quote(" MFNETSOURCE_CACHE_UNAVAILABLE,") |
| cpp_quote(" MFNETSOURCE_CACHE_ACTIVE_WRITING,") |
| cpp_quote(" MFNETSOURCE_CACHE_ACTIVE_COMPLETE") |
| cpp_quote("} MFNETSOURCE_CACHE_STATE;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNETSOURCE_PROTOCOL_TYPE {") |
| cpp_quote(" MFNETSOURCE_UNDEFINED = 0x0,") |
| cpp_quote(" MFNETSOURCE_HTTP = 0x1,") |
| cpp_quote(" MFNETSOURCE_RTSP = 0x2,") |
| cpp_quote(" MFNETSOURCE_FILE = 0x3,") |
| cpp_quote(" MFNETSOURCE_MULTICAST = 0x4") |
| cpp_quote("} MFNETSOURCE_PROTOCOL_TYPE;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNETSOURCE_STATISTICS_IDS {") |
| cpp_quote(" MFNETSOURCE_RECVPACKETS_ID = 0,") |
| cpp_quote(" MFNETSOURCE_LOSTPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_RESENDSREQUESTED_ID,") |
| cpp_quote(" MFNETSOURCE_RESENDSRECEIVED_ID,") |
| cpp_quote(" MFNETSOURCE_RECOVEREDBYECCPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_RECOVEREDBYRTXPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_OUTPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_RECVRATE_ID,") |
| cpp_quote(" MFNETSOURCE_AVGBANDWIDTHBPS_ID,") |
| cpp_quote(" MFNETSOURCE_BYTESRECEIVED_ID,") |
| cpp_quote(" MFNETSOURCE_PROTOCOL_ID,") |
| cpp_quote(" MFNETSOURCE_TRANSPORT_ID,") |
| cpp_quote(" MFNETSOURCE_CACHE_STATE_ID,") |
| cpp_quote(" MFNETSOURCE_LINKBANDWIDTH_ID,") |
| cpp_quote(" MFNETSOURCE_CONTENTBITRATE_ID,") |
| cpp_quote(" MFNETSOURCE_SPEEDFACTOR_ID,") |
| cpp_quote(" MFNETSOURCE_BUFFERSIZE_ID,") |
| cpp_quote(" MFNETSOURCE_BUFFERPROGRESS_ID,") |
| cpp_quote(" MFNETSOURCE_LASTBWSWITCHTS_ID,") |
| cpp_quote(" MFNETSOURCE_SEEKRANGESTART_ID,") |
| cpp_quote(" MFNETSOURCE_SEEKRANGEEND_ID,") |
| cpp_quote(" MFNETSOURCE_BUFFERINGCOUNT_ID,") |
| cpp_quote(" MFNETSOURCE_INCORRECTLYSIGNEDPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_SIGNEDSESSION_ID,") |
| cpp_quote(" MFNETSOURCE_MAXBITRATE_ID,") |
| cpp_quote(" MFNETSOURCE_RECEPTION_QUALITY_ID,") |
| cpp_quote(" MFNETSOURCE_RECOVEREDPACKETS_ID,") |
| cpp_quote(" MFNETSOURCE_VBR_ID,") |
| cpp_quote(" MFNETSOURCE_DOWNLOADPROGRESS_ID") |
| cpp_quote("} MFNETSOURCE_STATISTICS_IDS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFNETSOURCE_TRANSPORT_TYPE {") |
| cpp_quote(" MFNETSOURCE_UDP,") |
| cpp_quote(" MFNETSOURCE_TCP") |
| cpp_quote("} MFNETSOURCE_TRANSPORT_TYPE;") |
| cpp_quote("") |
| cpp_quote("typedef enum MF_OBJECT_TYPE {") |
| cpp_quote(" MF_OBJECT_MEDIASOURCE,") |
| cpp_quote(" MF_OBJECT_BYTESTREAM,") |
| cpp_quote(" MF_OBJECT_INVALID") |
| cpp_quote("} MF_OBJECT_TYPE;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFPOLICYMANAGER_ACTION {") |
| cpp_quote(" PEACTION_NO = 0,") |
| cpp_quote(" PEACTION_PLAY = 1,") |
| cpp_quote(" PEACTION_COPY = 2,") |
| cpp_quote(" PEACTION_EXPORT = 3,") |
| cpp_quote(" PEACTION_EXTRACT = 4,") |
| cpp_quote(" PEACTION_RESERVED1 = 5,") |
| cpp_quote(" PEACTION_RESERVED2 = 6,") |
| cpp_quote(" PEACTION_RESERVED3 = 7,") |
| cpp_quote(" PEACTION_LAST = 7") |
| cpp_quote("} MFPOLICYMANAGER_ACTION;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFRATE_DIRECTION {") |
| cpp_quote(" MFRATE_FORWARD,") |
| cpp_quote(" MFRATE_REVERSE") |
| cpp_quote("} MFRATE_DIRECTION;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFSequencerTopologyFlags {") |
| cpp_quote(" SequencerTopologyFlags_Last = 0x00000001") |
| cpp_quote("} MFSequencerTopologyFlags;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFSHUTDOWN_STATUS {") |
| cpp_quote(" MFSHUTDOWN_INITIATED,") |
| cpp_quote(" MFSHUTDOWN_COMPLETED") |
| cpp_quote("} MFSHUTDOWN_STATUS;") |
| cpp_quote("") |
| cpp_quote("typedef enum _MFSINK_WMDRMACTION {") |
| cpp_quote(" MFSINK_WMDRMACTION_UNDEFINED = 0,") |
| cpp_quote(" MFSINK_WMDRMACTION_ENCODE = 1,") |
| cpp_quote(" MFSINK_WMDRMACTION_TRANSCODE = 2,") |
| cpp_quote(" MFSINK_WMDRMACTION_TRANSCRYPT = 3,") |
| cpp_quote(" MFSINK_WMDRMACTION_LAST = 3") |
| cpp_quote("} MFSINK_WMDRMACTION;") |
| cpp_quote("") |
| cpp_quote("typedef enum MFSTREAMSINK_MARKER_TYPE {") |
| cpp_quote(" MFSTREAMSINK_MARKER_DEFAULT,") |
| cpp_quote(" MFSTREAMSINK_MARKER_ENDOFSEGMENT,") |
| cpp_quote(" MFSTREAMSINK_MARKER_TICK,") |
| cpp_quote(" MFSTREAMSINK_MARKER_EVENT") |
| cpp_quote("} MFSTREAMSINK_MARKER_TYPE;") |
| cpp_quote("") |
| cpp_quote("typedef enum MFTIMER_FLAGS {") |
| cpp_quote(" MFTIMER_RELATIVE = 0x00000001") |
| cpp_quote("} MFTIMER_FLAGS;") |
| cpp_quote("") |
| cpp_quote("#if (WINVER >= 0x0601)") |
| cpp_quote("") |
| cpp_quote("typedef enum MFTOPLOGY_DXVA_MODE {") |
| cpp_quote(" MFTOPOLOGY_DXVA_DEFAULT = 0,") |
| cpp_quote(" MFTOPOLOGY_DXVA_NONE = 1,") |
| cpp_quote(" MFTOPOLOGY_DXVA_FULL = 2") |
| cpp_quote("} MFTOPOLOGY_DXVA_MODE;") |
| cpp_quote("") |
| cpp_quote("typedef enum MFTOPOLOGY_HARDWARE_MODE {") |
| cpp_quote(" MFTOPOLOGY_HWMODE_SOFTWARE_ONLY = 0,") |
| cpp_quote(" MFTOPOLOGY_HWMODE_USE_HARDWARE = 1") |
| cpp_quote("} MFTOPOLOGY_HARDWARE_MODE;") |
| cpp_quote("") |
| cpp_quote("typedef struct _MFT_REGISTRATION_INFO {") |
| cpp_quote(" CLSID clsid;") |
| cpp_quote(" GUID guidCategory;") |
| cpp_quote(" UINT32 uiFlags;") |
| cpp_quote(" LPCWSTR pszName;") |
| cpp_quote(" DWORD cInTypes;") |
| cpp_quote(" MFT_REGISTER_TYPE_INFO *pInTypes;") |
| cpp_quote(" DWORD cOutTypes;") |
| cpp_quote(" MFT_REGISTER_TYPE_INFO *pOutTypes;") |
| cpp_quote("} MFT_REGISTRATION_INFO;") |
| cpp_quote("") |
| cpp_quote("#endif /*(WINVER >= 0x0601)*/") |
| cpp_quote("") |
| cpp_quote("typedef struct _ASFFlatPicture {") |
| cpp_quote(" BYTE bPictureType;") |
| cpp_quote(" DWORD dwDataLen;") |
| cpp_quote("} ASF_FLAT_PICTURE;") |
| cpp_quote("") |
| cpp_quote("typedef struct _ASFFlatSynchronisedLyrics {") |
| cpp_quote(" BYTE bTimeStampFormat;") |
| cpp_quote(" BYTE bContentType;") |
| cpp_quote(" DWORD dwLyricsLen;") |
| cpp_quote("} ASF_FLAT_SYNCHRONISED_LYRICS;") |
| cpp_quote("") |
| cpp_quote("typedef enum SAMPLE_PROTECTION_VERSION {") |
| cpp_quote(" SAMPLE_PROTECTION_VERSION_NO = 0,") |
| cpp_quote(" SAMPLE_PROTECTION_VERSION_BASIC_LOKI = 1,") |
| cpp_quote(" SAMPLE_PROTECTION_VERSION_SCATTER = 2,") |
| cpp_quote(" SAMPLE_PROTECTION_VERSION_RC4 = 3") |
| cpp_quote("} SAMPLE_PROTECTION_VERSION;") |
| cpp_quote("") |
| cpp_quote("typedef struct _MFINPUTTRUSTAUTHORITY_ACTION {") |
| cpp_quote(" MFPOLICYMANAGER_ACTION Action;") |
| cpp_quote(" BYTE *pbTicket;") |
| cpp_quote(" DWORD cbTicket;") |
| cpp_quote("} MFINPUTTRUSTAUTHORITY_ACCESS_ACTION;") |
| cpp_quote("") |
| cpp_quote("typedef struct _MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS {") |
| cpp_quote(" DWORD dwSize;") |
| cpp_quote(" DWORD dwVer;") |
| cpp_quote(" DWORD cbSignatureOffset;") |
| cpp_quote(" DWORD cbSignatureSize;") |
| cpp_quote(" DWORD cbExtensionOffset;") |
| cpp_quote(" DWORD cbExtensionSize;") |
| cpp_quote(" DWORD cActions;") |
| cpp_quote(" MFINPUTTRUSTAUTHORITY_ACCESS_ACTION rgOutputActions[1];") |
| cpp_quote("} MFINPUTTRUSTAUTHORITY_ACCESS_PARAMS;") |
| cpp_quote("") |
| cpp_quote("typedef struct _MFNetCredentialManagerGetParam {") |
| cpp_quote(" HRESULT hrOp;") |
| cpp_quote(" WINBOOL fAllowLoggedOnUser;") |
| cpp_quote(" WINBOOL fClearTextPackage;") |
| cpp_quote(" LPCWSTR pszUrl;") |
| cpp_quote(" LPCWSTR pszSite;") |
| cpp_quote(" LPCWSTR pszRealm;") |
| cpp_quote(" LPCWSTR pszPackage;") |
| cpp_quote(" LONG nRetries;") |
| cpp_quote("} MFNetCredentialManagerGetParam;") |
| cpp_quote("") |
| cpp_quote("#define MF_1_BYTE_ALIGNMENT 0x00000000") |
| cpp_quote("#define MF_2_BYTE_ALIGNMENT 0x00000001") |
| cpp_quote("#define MF_4_BYTE_ALIGNMENT 0x00000003") |
| cpp_quote("#define MF_8_BYTE_ALIGNMENT 0x00000007") |
| cpp_quote("#define MF_16_BYTE_ALIGNMENT 0x0000000F") |
| cpp_quote("#define MF_32_BYTE_ALIGNMENT 0x0000001F") |
| cpp_quote("#define MF_64_BYTE_ALIGNMENT 0x0000003F") |
| cpp_quote("#define MF_128_BYTE_ALIGNMENT 0x0000007F") |
| cpp_quote("#define MF_256_BYTE_ALIGNMENT 0x000000FF") |
| cpp_quote("#define MF_512_BYTE_ALIGNMENT 0x000001FF") |
| cpp_quote("") |
| cpp_quote("#define MEDIASINK_FIXED_STREAMS 0x00000001") |
| cpp_quote("#define MEDIASINK_CANNOT_MATCH_CLOCK 0x00000002") |
| cpp_quote("#define MEDIASINK_RATELESS 0x00000004") |
| cpp_quote("#define MEDIASINK_CLOCK_REQUIRED 0x00000008") |
| cpp_quote("#define MEDIASINK_CAN_PREROLL 0x00000010") |
| cpp_quote("#define MEDIASINK_REQUIRE_REFERENCE_MEDIATYPE 0x00000020") |
| cpp_quote("") |
| cpp_quote("#define MF_RESOLUTION_MEDIASOURCE 0x00000001") |
| cpp_quote("#define MF_RESOLUTION_BYTESTREAM 0x00000002") |
| cpp_quote("#define MF_RESOLUTION_CONTENT_DOES_NOT_HAVE_TO_MATCH_EXTENSION_OR_MIME_TYPE 0x00000010") |
| cpp_quote("#define MF_RESOLUTION_KEEP_BYTE_STREAM_ALIVE_ON_FAIL 0x00000020") |
| cpp_quote("#define MF_RESOLUTION_READ 0x00010000") |
| cpp_quote("#define MF_RESOLUTION_WRITE 0x00020000") |
| |
| /* FIXME: Properly declare followinf interfaces: */ |
| interface IMFMediaSink; |
| interface IMFASFContentInfo; |
| interface IMFASFIndexer; |
| interface IMFASFMultiplexer; |
| interface IMFASFProfile; |
| interface IMFASFSplitter; |
| interface IMFPMPServer; |
| interface IMFPresentationClock; |
| interface IMFNetProxyLocator; |
| interface IMFRemoteDesktopPlugin; |
| interface IMFTransform; |
| interface IMFSampleGrabberSinkCallback; |
| interface IMFSequencerSource; |
| interface IMFQualityManager; |
| interface IMFSourceResolver; |
| interface IMFPresentationTimeSource; |
| interface IMFTopoLoader; |
| interface IMFTranscodeProfile; |
| |
| cpp_quote("HRESULT MFCreate3GPMediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);") |
| cpp_quote("HRESULT MFCreateAggregateSource(IMFCollection *pSourceCollection,IMFMediaSource **ppAggSource);") |
| cpp_quote("") |
| cpp_quote("HRESULT WINAPI MFCreateAlignedMemoryBuffer(DWORD cbMaxLength,DWORD fAlignmentFlags,IMFMediaBuffer **ppBuffer);") |
| cpp_quote("HRESULT WINAPI MFCreateASFContentInfo(IMFASFContentInfo **ppIContentInfo);") |
| cpp_quote("HRESULT WINAPI MFCreateASFIndexer(IMFASFIndexer **ppIIndexer);") |
| cpp_quote("HRESULT WINAPI MFCreateASFIndexerByteStream(IMFByteStream *pIContentByteStream,QWORD cbIndexStartOffset,IMFByteStream **pIIndexByteStream);") |
| cpp_quote("HRESULT WINAPI MFCreateASFMediaSink(IMFByteStream *pIByteStream,IMFMediaSink **ppIMediaSink);") |
| cpp_quote("HRESULT WINAPI MFCreateASFMediaSinkActivate(LPCWSTR pwszFileName,IMFASFContentInfo *pContentInfo,IMFActivate **ppIActivate);") |
| cpp_quote("HRESULT WINAPI MFCreateASFMultiplexer(IMFASFMultiplexer **ppIMultiplexer);") |
| cpp_quote("HRESULT WINAPI MFCreateASFProfile(IMFASFProfile **ppIProfile);") |
| cpp_quote("HRESULT WINAPI MFCreateASFProfileFromPresentationDescriptor(IMFPresentationDescriptor *pIPD,IMFASFProfile **ppIProfile);") |
| cpp_quote("HRESULT WINAPI MFCreateASFSplitter(IMFASFSplitter **ppISplitter);") |
| cpp_quote("HRESULT WINAPI MFCreateMediaSession(IMFAttributes *pConfiguration,IMFMediaSession **ppMS);") |
| cpp_quote("HRESULT WINAPI MFCreateMP3MediaSink(IMFByteStream *pTargetByteStream,IMFMediaSink **ppMediaSink);") |
| cpp_quote("HRESULT WINAPI MFCreateMPEG4MediaSink(IMFByteStream *pIByteStream,IMFMediaType *pVideoMediaType,IMFMediaType *pAudioMediaType,IMFMediaSink **ppIMediaSink);") |
| cpp_quote("HRESULT WINAPI MFCreateNetSchemePlugin(REFIID riid,LPVOID *ppvHandler);") |
| cpp_quote("HRESULT WINAPI MFCreatePMPServer(DWORD dwCreationFlags,IMFPMPServer **ppPMPServer);") |
| cpp_quote("HRESULT WINAPI MFCreatePMPMediaSession(DWORD dwCreationFlags,IMFAttributes *pConfiguration,IMFMediaSession **ppMediaSession,IMFActivate **ppEnablerActivate);") |
| cpp_quote("HRESULT WINAPI MFCreatePathFromURL(LPCWSTR pwszFileURL,LPWSTR *ppwszFilePath);") |
| cpp_quote("HRESULT WINAPI MFCreatePresentationClock(IMFPresentationClock **ppPresentationClock);") |
| cpp_quote("HRESULT WINAPI MFCreatePresentationDescriptor(DWORD cStreamDescriptors,IMFStreamDescriptor **apStreamDescriptors,IMFPresentationDescriptor **ppPresentationDescriptor);") |
| cpp_quote("HRESULT WINAPI MFCreatePresentationDescriptorFromASFProfile(IMFASFProfile *pIProfile,IMFPresentationDescriptor **ppIPD);") |
| cpp_quote("HRESULT WINAPI MFCreateProxyLocator(LPCWSTR pszProtocol,IPropertyStore *pProxyConfig,IMFNetProxyLocator **ppProxyLocator);") |
| cpp_quote("HRESULT WINAPI MFCreateRemoteDesktopPlugin(IMFRemoteDesktopPlugin **ppPlugin);") |
| cpp_quote("HRESULT WINAPI MFCreateSample(IMFSample **ppIMFSample);") |
| cpp_quote("HRESULT WINAPI MFCreateSampleCopierMFT(IMFTransform **ppCopierMFT);") |
| cpp_quote("HRESULT WINAPI MFCreateSampleGrabberSinkActivate(IMFMediaType *pIMFMediaType,IMFSampleGrabberSinkCallback *pIMFSampleGrabberSinkCallback,IMFActivate **ppIActivate);") |
| cpp_quote("HRESULT WINAPI MFCreateSequencerSource(IUnknown *pReserved,IMFSequencerSource **ppSequencerSource);") |
| cpp_quote("HRESULT WINAPI MFCreateSimpleTypeHandler(IMFMediaTypeHandler **ppHandler);") |
| cpp_quote("HRESULT WINAPI MFCreateStandardQualityManager(IMFQualityManager **ppQualityManager);") |
| cpp_quote("HRESULT WINAPI MFCreateStreamDescriptor(DWORD dwStreamIdentifier,DWORD cMediaTypes,IMFMediaType **apMediaTypes,IMFStreamDescriptor **ppDescriptor);") |
| cpp_quote("HRESULT WINAPI MFCreateSourceResolver(IMFSourceResolver **ppISourceResolver);") |
| cpp_quote("HRESULT WINAPI MFCreateSystemTimeSource(IMFPresentationTimeSource **ppSystemTimeSource);") |
| cpp_quote("HRESULT WINAPI MFCreateTopoLoader(IMFTopoLoader **ppObj);") |
| cpp_quote("HRESULT WINAPI MFCreateTopology(IMFTopology **ppTopo);") |
| cpp_quote("HRESULT WINAPI MFCreateTopologyNode(MF_TOPOLOGY_TYPE NodeType,IMFTopologyNode **ppNode);") |
| cpp_quote("HRESULT WINAPI MFCreateVideoRenderer(REFIID riidRenderer,void **ppVideoRenderer);") |
| cpp_quote("HRESULT WINAPI MFCreateVideoRendererActivate(HWND hwndVideo,IMFActivate **ppActivate);") |
| cpp_quote("HRESULT WINAPI MFGetService(IUnknown *punkObject,REFGUID guidService,REFIID riid,LPVOID *ppvObject);") |
| cpp_quote("HRESULT WINAPI MFGetSupportedMimeTypes(PROPVARIANT *pPropVarMimeTypeArray);") |
| cpp_quote("HRESULT WINAPI MFGetSupportedSchemes(PROPVARIANT *pPropVarSchemeArray);") |
| cpp_quote("MFTIME WINAPI MFGetSystemTime(void);") |
| cpp_quote("HRESULT WINAPI MFShutdownObject(IUnknown *pUnk);") |
| cpp_quote("HRESULT WINAPI CreateNamedPropertyStore(INamedPropertyStore **ppStore);") |
| cpp_quote("HRESULT WINAPI CreatePropertyStore(IPropertyStore **ppStore);") |
| cpp_quote("#if (WINVER >= 0x0601)") |
| cpp_quote("") |
| cpp_quote("HRESULT WINAPI MFCreateTranscodeProfile(IMFTranscodeProfile **ppTranscodeProfile);") |
| cpp_quote("HRESULT WINAPI MFCreateTranscodeSinkActivate(IMFActivate **ppActivate);") |
| cpp_quote("HRESULT WINAPI MFCreateTranscodeTopology(IMFMediaSource *pSrc,LPCWSTR pwszOutputFilePath,IMFTranscodeProfile *pProfile,IMFTopology **ppTranscodeTopo);") |
| cpp_quote("HRESULT WINAPI MFEnumDeviceSources(IMFAttributes *pAttributes,IMFActivate ***pppSourceActivate,UINT32 *pcSourceActivate);") |
| cpp_quote("HRESULT WINAPI MFGetTopoNodeCurrentType(IMFTopologyNode *pNode,DWORD dwStreamIndex,WINBOOL fOutput,IMFMediaType **ppType);") |
| cpp_quote("HRESULT WINAPI MFTranscodeGetAudioOutputAvailableTypes(REFGUID guidSubType,DWORD dwMFTFlags,IMFAttributes *pCodecConfig,IMFCollection **ppAvailableTypes);") |
| cpp_quote("#endif") |