blob: 8d3eb16a995370a3102872df04a93e89c2e54d22 [file] [log] [blame]
/*** Autogenerated by WIDL 6.4 from include/wmcontainer.idl - Do not edit ***/
#ifdef _WIN32
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif
#include <rpc.h>
#include <rpcndr.h>
#endif
#ifndef COM_NO_WINDOWS_H
#include <windows.h>
#include <ole2.h>
#endif
#ifndef __wmcontainer_h__
#define __wmcontainer_h__
/* Forward declarations */
#ifndef __IMFASFContentInfo_FWD_DEFINED__
#define __IMFASFContentInfo_FWD_DEFINED__
typedef interface IMFASFContentInfo IMFASFContentInfo;
#ifdef __cplusplus
interface IMFASFContentInfo;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFMutualExclusion_FWD_DEFINED__
#define __IMFASFMutualExclusion_FWD_DEFINED__
typedef interface IMFASFMutualExclusion IMFASFMutualExclusion;
#ifdef __cplusplus
interface IMFASFMutualExclusion;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFStreamPrioritization_FWD_DEFINED__
#define __IMFASFStreamPrioritization_FWD_DEFINED__
typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization;
#ifdef __cplusplus
interface IMFASFStreamPrioritization;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFSplitter_FWD_DEFINED__
#define __IMFASFSplitter_FWD_DEFINED__
typedef interface IMFASFSplitter IMFASFSplitter;
#ifdef __cplusplus
interface IMFASFSplitter;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFMultiplexer_FWD_DEFINED__
#define __IMFASFMultiplexer_FWD_DEFINED__
typedef interface IMFASFMultiplexer IMFASFMultiplexer;
#ifdef __cplusplus
interface IMFASFMultiplexer;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFIndexer_FWD_DEFINED__
#define __IMFASFIndexer_FWD_DEFINED__
typedef interface IMFASFIndexer IMFASFIndexer;
#ifdef __cplusplus
interface IMFASFIndexer;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFStreamSelector_FWD_DEFINED__
#define __IMFASFStreamSelector_FWD_DEFINED__
typedef interface IMFASFStreamSelector IMFASFStreamSelector;
#ifdef __cplusplus
interface IMFASFStreamSelector;
#endif /* __cplusplus */
#endif
#ifndef __IMFDRMNetHelper_FWD_DEFINED__
#define __IMFDRMNetHelper_FWD_DEFINED__
typedef interface IMFDRMNetHelper IMFDRMNetHelper;
#ifdef __cplusplus
interface IMFDRMNetHelper;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFProfile_FWD_DEFINED__
#define __IMFASFProfile_FWD_DEFINED__
typedef interface IMFASFProfile IMFASFProfile;
#ifdef __cplusplus
interface IMFASFProfile;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFStreamConfig_FWD_DEFINED__
#define __IMFASFStreamConfig_FWD_DEFINED__
typedef interface IMFASFStreamConfig IMFASFStreamConfig;
#ifdef __cplusplus
interface IMFASFStreamConfig;
#endif /* __cplusplus */
#endif
/* Headers for imported files */
#include <mfidl.h>
#ifdef __cplusplus
extern "C" {
#endif
#include <winapifamily.h>
#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FILE_ID, 0x3de649b4, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_CREATION_TIME, 0x3de649b6, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_FLAGS, 0x3de649bb, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_PACKET_SIZE, 0x3de649bd, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MAX_BITRATE, 0x3de649be, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_MIN_PACKET_SIZE, 0x3de649bc, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PACKETS, 0x3de649b7, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PLAY_DURATION, 0x3de649b8, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_PREROLL, 0x3de649ba, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(MF_PD_ASF_FILEPROPERTIES_SEND_DURATION, 0x3de649b9, 0xd76d, 0x4e66, 0x9e, 0xc9, 0x78, 0x12, 0xf, 0xb4, 0xc7, 0xe3);
EXTERN_GUID(CLSID_WMDRMSystemID, 0x8948BB22, 0x11BD, 0x4796, 0x93, 0xE3, 0x97, 0x4D, 0x1B, 0x57, 0x56, 0x78);
EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_KEYID, 0x8520fe3e, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe);
EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_LICENSE_URL, 0x8520fe40, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe);
EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_SECRET_DATA, 0x8520fe3f, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe);
EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTION_TYPE, 0x8520fe3d, 0x277e, 0x46ea, 0x99, 0xe4, 0xe3, 0xa, 0x86, 0xdb, 0x12, 0xbe);
EXTERN_GUID(MF_PD_ASF_CONTENTENCRYPTIONEX_ENCRYPTION_DATA, 0x62508be5, 0xecdf, 0x4924, 0xa3, 0x59, 0x72, 0xba, 0xb3, 0x39, 0x7b, 0x9d);
EXTERN_GUID(MF_PD_ASF_LANGLIST, 0xf23de43c, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d);
EXTERN_GUID(MF_PD_ASF_MARKER, 0x5134330e, 0x83a6, 0x475e, 0xa9, 0xd5, 0x4f, 0xb8, 0x75, 0xfb, 0x2e, 0x31);
EXTERN_GUID(MF_PD_ASF_SCRIPT, 0xe29cd0d7, 0xd602, 0x4923, 0xa7, 0xfe, 0x73, 0xfd, 0x97, 0xec, 0xc6, 0x50);
EXTERN_GUID(MF_PD_ASF_CODECLIST, 0xe4bb3509, 0xc18d, 0x4df1, 0xbb, 0x99, 0x7a, 0x36, 0xb3, 0xcc, 0x41, 0x19);
EXTERN_GUID(MF_PD_ASF_METADATA_IS_VBR, 0x5fc6947a, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1);
EXTERN_GUID(MF_PD_ASF_METADATA_V8_VBRPEAK, 0x5fc6947b, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1);
EXTERN_GUID(MF_PD_ASF_METADATA_V8_BUFFERAVERAGE, 0x5fc6947c, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1);
EXTERN_GUID(MF_PD_ASF_METADATA_LEAKY_BUCKET_PAIRS, 0x5fc6947d, 0xef60, 0x445d, 0xb4, 0x49, 0x44, 0x2e, 0xcc, 0x78, 0xb4, 0xc1);
EXTERN_GUID(MF_PD_ASF_DATA_START_OFFSET, 0xe7d5b3e7, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed);
EXTERN_GUID(MF_PD_ASF_DATA_LENGTH, 0xe7d5b3e8, 0x1f29, 0x45d3, 0x88, 0x22, 0x3e, 0x78, 0xfa, 0xe2, 0x72, 0xed);
EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_LANGUAGE_ID_INDEX, 0x48f8a522, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80);
EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_DATA_BITRATE, 0x48f8a523, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80);
EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_AVG_BUFFERSIZE, 0x48f8a524, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80);
EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_DATA_BITRATE, 0x48f8a525, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80);
EXTERN_GUID(MF_SD_ASF_EXTSTRMPROP_MAX_BUFFERSIZE, 0x48f8a526, 0x305d, 0x422d, 0x85, 0x24, 0x25, 0x2, 0xdd, 0xa3, 0x36, 0x80);
EXTERN_GUID(MF_SD_ASF_STREAMBITRATES_BITRATE, 0xa8e182ed, 0xafc8, 0x43d0, 0xb0, 0xd1, 0xf6, 0x5b, 0xad, 0x9d, 0xa5, 0x58);
EXTERN_GUID(MF_SD_ASF_METADATA_DEVICE_CONFORMANCE_TEMPLATE, 0x245e929d, 0xc44e, 0x4f7e, 0xbb, 0x3c, 0x77, 0xd4, 0xdf, 0xd2, 0x7f, 0x8a);
EXTERN_GUID(MF_PD_ASF_INFO_HAS_AUDIO, 0x80e62295, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c);
EXTERN_GUID(MF_PD_ASF_INFO_HAS_VIDEO, 0x80e62296, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c);
EXTERN_GUID(MF_PD_ASF_INFO_HAS_NON_AUDIO_VIDEO, 0x80e62297, 0x2296, 0x4a44, 0xb3, 0x1c, 0xd1, 0x3, 0xc6, 0xfe, 0xd2, 0x3c);
#if WINVER >= 0x0601
EXTERN_GUID(MFASFINDEXER_TYPE_TIMECODE, 0x49815231, 0x6bad, 0x44fd, 0x81, 0xa, 0x3f, 0x60, 0x98, 0x4e, 0xc7, 0xfd);
EXTERN_GUID(MF_PD_ASF_LANGLIST_LEGACYORDER, 0xf23de43d, 0x9977, 0x460d, 0xa6, 0xec, 0x32, 0x93, 0x7f, 0x16, 0xf, 0x7d);
#endif
EXTERN_GUID(MFASFMutexType_Bitrate, 0x72178C2C, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
EXTERN_GUID(MFASFMutexType_Language, 0x72178C2B, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
EXTERN_GUID(MFASFMutexType_Presentation, 0x72178C2D, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
EXTERN_GUID(MFASFMutexType_Unknown, 0x72178C2E, 0xE45B, 0x11D5, 0xBC, 0x2A, 0x00, 0xB0, 0xD0, 0xF3, 0xF4, 0xAB);
EXTERN_GUID(MFASFSampleExtension_ContentType, 0xd590dc20, 0x07bc, 0x436c, 0x9c, 0xf7, 0xf3, 0xbb, 0xfb, 0xf1, 0xa4, 0xdc);
EXTERN_GUID(MFASFSampleExtension_Encryption_SampleID, 0x6698B84E, 0x0AFA, 0x4330, 0xAE, 0xB2, 0x1C, 0x0A, 0x98, 0xD7, 0xA4, 0x4D);
EXTERN_GUID(MFASFSampleExtension_Encryption_KeyID, 0x76376591, 0x795f, 0x4da1, 0x86, 0xed, 0x9d, 0x46, 0xec, 0xa1, 0x09, 0xa9);
EXTERN_GUID(MFASFSampleExtension_FileName, 0xe165ec0e, 0x19ed, 0x45d7, 0xb4, 0xa7, 0x25, 0xcb, 0xd1, 0xe2, 0x8e, 0x9b);
EXTERN_GUID(MFASFSampleExtension_OutputCleanPoint, 0xf72a3c6f, 0x6eb4, 0x4ebc, 0xb1, 0x92, 0x9, 0xad, 0x97, 0x59, 0xe8, 0x28);
EXTERN_GUID(MFASFSampleExtension_PixelAspectRatio, 0x1b1ee554, 0xf9ea, 0x4bc8, 0x82, 0x1a, 0x37, 0x6b, 0x74, 0xe4, 0xc4, 0xb8);
EXTERN_GUID(MFASFSampleExtension_SampleDuration, 0xc6bd9450, 0x867f, 0x4907, 0x83, 0xa3, 0xc7, 0x79, 0x21, 0xb7, 0x33, 0xad);
EXTERN_GUID(MFASFSampleExtension_SMPTE, 0x399595ec, 0x8667, 0x4e2d, 0x8f, 0xdb, 0x98, 0x81, 0x4c, 0xe7, 0x6c, 0x1e);
EXTERN_GUID(MFASFSPLITTER_PACKET_BOUNDARY, 0xfe584a05, 0xe8d6, 0x42e3, 0xb1, 0x76, 0xf1, 0x21, 0x17, 0x5, 0xfb, 0x6f);
EXTERN_GUID(MF_ASFPROFILE_MINPACKETSIZE, 0x22587626, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0);
EXTERN_GUID(MF_ASFPROFILE_MAXPACKETSIZE, 0x22587627, 0x47de, 0x4168, 0x87, 0xf5, 0xb5, 0xaa, 0x9b, 0x12, 0xa8, 0xf0);
EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET1, 0xc69b5901, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd);
EXTERN_GUID(MF_ASFSTREAMCONFIG_LEAKYBUCKET2, 0xc69b5902, 0xea1a, 0x4c9b, 0xb6, 0x92, 0xe2, 0xa0, 0xd2, 0x9a, 0x8a, 0xdd);
#ifndef __IMFASFProfile_FWD_DEFINED__
#define __IMFASFProfile_FWD_DEFINED__
typedef interface IMFASFProfile IMFASFProfile;
#ifdef __cplusplus
interface IMFASFProfile;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFStreamConfig_FWD_DEFINED__
#define __IMFASFStreamConfig_FWD_DEFINED__
typedef interface IMFASFStreamConfig IMFASFStreamConfig;
#ifdef __cplusplus
interface IMFASFStreamConfig;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFMutualExclusion_FWD_DEFINED__
#define __IMFASFMutualExclusion_FWD_DEFINED__
typedef interface IMFASFMutualExclusion IMFASFMutualExclusion;
#ifdef __cplusplus
interface IMFASFMutualExclusion;
#endif /* __cplusplus */
#endif
#ifndef __IMFASFStreamPrioritization_FWD_DEFINED__
#define __IMFASFStreamPrioritization_FWD_DEFINED__
typedef interface IMFASFStreamPrioritization IMFASFStreamPrioritization;
#ifdef __cplusplus
interface IMFASFStreamPrioritization;
#endif /* __cplusplus */
#endif
#define MFASFINDEXER_PER_ENTRY_BYTES_DYNAMIC 0xffff
#define MFASFINDEXER_NO_FIXED_INTERVAL 0xffffffff
#define MFASFINDEXER_READ_FOR_REVERSEPLAYBACK_OUTOFDATASEGMENT 0xffffffffffffffffll
#define MFASFINDEXER_APPROX_SEEK_TIME_UNKNOWN 0xffffffffffffffffll
#define MFASF_MIN_HEADER_BYTES (sizeof (GUID) + sizeof (QWORD))
#define MFASF_MAX_STREAM_NUMBER 127
#define MFASF_INVALID_STREAM_NUMBER (MFASF_MAX_STREAM_NUMBER + 1)
#define MFASF_PAYLOADEXTENSION_MAX_SIZE 0xff
#define MFASF_PAYLOADEXTENSION_VARIABLE_SIZE 0xffff
#define MFASF_DEFAULT_BUFFER_WINDOW_MS 3000
typedef enum MFASF_SPLITTERFLAGS {
MFASF_SPLITTER_REVERSE = 0x1,
MFASF_SPLITTER_WMDRM = 0x2
} MFASF_SPLITTERFLAGS;
typedef enum ASF_STATUSFLAGS {
ASF_STATUSFLAGS_INCOMPLETE = 0x1
} ASF_STATUSFLAGS;
typedef enum MFASF_MULTIPLEXERFLAGS {
MFASF_MULTIPLEXER_AUTOADJUST_BITRATE = 0x1
} MFASF_MULTIPLEXERFLAGS;
typedef enum MFASF_INDEXERFLAGS {
MFASF_INDEXER_WRITE_NEW_INDEX = 0x1,
MFASF_INDEXER_READ_FOR_REVERSEPLAYBACK = 0x2,
MFASF_INDEXER_WRITE_FOR_LIVEREAD = 0x4
} MFASF_INDEXER_FLAGS;
typedef enum MFASF_STREAMSELECTORFLAGS {
MFASF_STREAMSELECTOR_DISABLE_THINNING = 0x1,
MFASF_STREAMSELECTOR_USE_AVERAGE_BITRATE = 0x2
} MFASF_STREAMSELECTOR_FLAGS;
typedef enum ASF_SELECTION_STATUS {
ASF_STATUS_NOTSELECTED = 0,
ASF_STATUS_CLEANPOINTSONLY = 1,
ASF_STATUS_ALLDATAUNITS = 2
} ASF_SELECTION_STATUS;
typedef enum _MFSINK_WMDRMACTION {
MFSINK_WMDRMACTION_UNDEFINED = 0,
MFSINK_WMDRMACTION_ENCODE = 1,
MFSINK_WMDRMACTION_TRANSCODE = 2,
MFSINK_WMDRMACTION_TRANSCRYPT = 3,
MFSINK_WMDRMACTION_LAST = 3
} MFSINK_WMDRMACTION;
typedef struct ASF_MUX_STATISTICS {
DWORD cFramesWritten;
DWORD cFramesDropped;
} ASF_MUX_STATISTICS;
typedef struct _ASF_INDEX_IDENTIFIER {
GUID guidIndexType;
WORD wStreamNumber;
} ASF_INDEX_IDENTIFIER;
typedef struct _ASF_INDEX_DESCRIPTOR {
ASF_INDEX_IDENTIFIER Identifier;
WORD cPerEntryBytes;
WCHAR szDescription[32];
DWORD dwInterval;
} ASF_INDEX_DESCRIPTOR;
/*****************************************************************************
* IMFASFContentInfo interface
*/
#ifndef __IMFASFContentInfo_INTERFACE_DEFINED__
#define __IMFASFContentInfo_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("b1dca5cd-d5da-4451-8e9e-db5c59914ead")
IMFASFContentInfo : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetHeaderSize(
IMFMediaBuffer *pIStartOfContent,
QWORD *cbHeaderSize) = 0;
virtual HRESULT STDMETHODCALLTYPE ParseHeader(
IMFMediaBuffer *pIHeaderBuffer,
QWORD cbOffsetWithinHeader) = 0;
virtual HRESULT STDMETHODCALLTYPE GenerateHeader(
IMFMediaBuffer *pIHeader,
DWORD *pcbHeader) = 0;
virtual HRESULT STDMETHODCALLTYPE GetProfile(
IMFASFProfile **ppIProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE SetProfile(
IMFASFProfile *pIProfile) = 0;
virtual HRESULT STDMETHODCALLTYPE GeneratePresentationDescriptor(
IMFPresentationDescriptor **ppIPresentationDescriptor) = 0;
virtual HRESULT STDMETHODCALLTYPE GetEncodingConfigurationPropertyStore(
WORD wStreamNumber,
IPropertyStore **ppIStore) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFContentInfo, 0xb1dca5cd, 0xd5da, 0x4451, 0x8e,0x9e, 0xdb,0x5c,0x59,0x91,0x4e,0xad)
#endif
#else
typedef struct IMFASFContentInfoVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFContentInfo *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFContentInfo *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFContentInfo *This);
/*** IMFASFContentInfo methods ***/
HRESULT (STDMETHODCALLTYPE *GetHeaderSize)(
IMFASFContentInfo *This,
IMFMediaBuffer *pIStartOfContent,
QWORD *cbHeaderSize);
HRESULT (STDMETHODCALLTYPE *ParseHeader)(
IMFASFContentInfo *This,
IMFMediaBuffer *pIHeaderBuffer,
QWORD cbOffsetWithinHeader);
HRESULT (STDMETHODCALLTYPE *GenerateHeader)(
IMFASFContentInfo *This,
IMFMediaBuffer *pIHeader,
DWORD *pcbHeader);
HRESULT (STDMETHODCALLTYPE *GetProfile)(
IMFASFContentInfo *This,
IMFASFProfile **ppIProfile);
HRESULT (STDMETHODCALLTYPE *SetProfile)(
IMFASFContentInfo *This,
IMFASFProfile *pIProfile);
HRESULT (STDMETHODCALLTYPE *GeneratePresentationDescriptor)(
IMFASFContentInfo *This,
IMFPresentationDescriptor **ppIPresentationDescriptor);
HRESULT (STDMETHODCALLTYPE *GetEncodingConfigurationPropertyStore)(
IMFASFContentInfo *This,
WORD wStreamNumber,
IPropertyStore **ppIStore);
END_INTERFACE
} IMFASFContentInfoVtbl;
interface IMFASFContentInfo {
CONST_VTBL IMFASFContentInfoVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFContentInfo_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFContentInfo_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFContentInfo_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFContentInfo methods ***/
#define IMFASFContentInfo_GetHeaderSize(This,pIStartOfContent,cbHeaderSize) (This)->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize)
#define IMFASFContentInfo_ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader) (This)->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader)
#define IMFASFContentInfo_GenerateHeader(This,pIHeader,pcbHeader) (This)->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader)
#define IMFASFContentInfo_GetProfile(This,ppIProfile) (This)->lpVtbl->GetProfile(This,ppIProfile)
#define IMFASFContentInfo_SetProfile(This,pIProfile) (This)->lpVtbl->SetProfile(This,pIProfile)
#define IMFASFContentInfo_GeneratePresentationDescriptor(This,ppIPresentationDescriptor) (This)->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor)
#define IMFASFContentInfo_GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore) (This)->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFContentInfo_QueryInterface(IMFASFContentInfo* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFContentInfo_AddRef(IMFASFContentInfo* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFContentInfo_Release(IMFASFContentInfo* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFContentInfo methods ***/
static FORCEINLINE HRESULT IMFASFContentInfo_GetHeaderSize(IMFASFContentInfo* This,IMFMediaBuffer *pIStartOfContent,QWORD *cbHeaderSize) {
return This->lpVtbl->GetHeaderSize(This,pIStartOfContent,cbHeaderSize);
}
static FORCEINLINE HRESULT IMFASFContentInfo_ParseHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeaderBuffer,QWORD cbOffsetWithinHeader) {
return This->lpVtbl->ParseHeader(This,pIHeaderBuffer,cbOffsetWithinHeader);
}
static FORCEINLINE HRESULT IMFASFContentInfo_GenerateHeader(IMFASFContentInfo* This,IMFMediaBuffer *pIHeader,DWORD *pcbHeader) {
return This->lpVtbl->GenerateHeader(This,pIHeader,pcbHeader);
}
static FORCEINLINE HRESULT IMFASFContentInfo_GetProfile(IMFASFContentInfo* This,IMFASFProfile **ppIProfile) {
return This->lpVtbl->GetProfile(This,ppIProfile);
}
static FORCEINLINE HRESULT IMFASFContentInfo_SetProfile(IMFASFContentInfo* This,IMFASFProfile *pIProfile) {
return This->lpVtbl->SetProfile(This,pIProfile);
}
static FORCEINLINE HRESULT IMFASFContentInfo_GeneratePresentationDescriptor(IMFASFContentInfo* This,IMFPresentationDescriptor **ppIPresentationDescriptor) {
return This->lpVtbl->GeneratePresentationDescriptor(This,ppIPresentationDescriptor);
}
static FORCEINLINE HRESULT IMFASFContentInfo_GetEncodingConfigurationPropertyStore(IMFASFContentInfo* This,WORD wStreamNumber,IPropertyStore **ppIStore) {
return This->lpVtbl->GetEncodingConfigurationPropertyStore(This,wStreamNumber,ppIStore);
}
#endif
#endif
#endif
#endif /* __IMFASFContentInfo_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFMutualExclusion interface
*/
#ifndef __IMFASFMutualExclusion_INTERFACE_DEFINED__
#define __IMFASFMutualExclusion_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("12558291-e399-11d5-bc2a-00b0d0f3f4ab")
IMFASFMutualExclusion : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetType(
GUID *pguidType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetType(
REFGUID guidType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetRecordCount(
DWORD *pdwRecordCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamsForRecord(
DWORD dwRecordNumber,
WORD *pwStreamNumArray,
DWORD *pcStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE AddStreamForRecord(
DWORD dwRecordNumber,
WORD wStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStreamFromRecord(
DWORD dwRecordNumber,
WORD wStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveRecord(
DWORD dwRecordNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE AddRecord(
DWORD *pdwRecordNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IMFASFMutualExclusion **ppIMutex) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFMutualExclusion, 0x12558291, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab)
#endif
#else
typedef struct IMFASFMutualExclusionVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFMutualExclusion *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFMutualExclusion *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFMutualExclusion *This);
/*** IMFASFMutualExclusion methods ***/
HRESULT (STDMETHODCALLTYPE *GetType)(
IMFASFMutualExclusion *This,
GUID *pguidType);
HRESULT (STDMETHODCALLTYPE *SetType)(
IMFASFMutualExclusion *This,
REFGUID guidType);
HRESULT (STDMETHODCALLTYPE *GetRecordCount)(
IMFASFMutualExclusion *This,
DWORD *pdwRecordCount);
HRESULT (STDMETHODCALLTYPE *GetStreamsForRecord)(
IMFASFMutualExclusion *This,
DWORD dwRecordNumber,
WORD *pwStreamNumArray,
DWORD *pcStreams);
HRESULT (STDMETHODCALLTYPE *AddStreamForRecord)(
IMFASFMutualExclusion *This,
DWORD dwRecordNumber,
WORD wStreamNumber);
HRESULT (STDMETHODCALLTYPE *RemoveStreamFromRecord)(
IMFASFMutualExclusion *This,
DWORD dwRecordNumber,
WORD wStreamNumber);
HRESULT (STDMETHODCALLTYPE *RemoveRecord)(
IMFASFMutualExclusion *This,
DWORD dwRecordNumber);
HRESULT (STDMETHODCALLTYPE *AddRecord)(
IMFASFMutualExclusion *This,
DWORD *pdwRecordNumber);
HRESULT (STDMETHODCALLTYPE *Clone)(
IMFASFMutualExclusion *This,
IMFASFMutualExclusion **ppIMutex);
END_INTERFACE
} IMFASFMutualExclusionVtbl;
interface IMFASFMutualExclusion {
CONST_VTBL IMFASFMutualExclusionVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFMutualExclusion_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFMutualExclusion_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFMutualExclusion_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFMutualExclusion methods ***/
#define IMFASFMutualExclusion_GetType(This,pguidType) (This)->lpVtbl->GetType(This,pguidType)
#define IMFASFMutualExclusion_SetType(This,guidType) (This)->lpVtbl->SetType(This,guidType)
#define IMFASFMutualExclusion_GetRecordCount(This,pdwRecordCount) (This)->lpVtbl->GetRecordCount(This,pdwRecordCount)
#define IMFASFMutualExclusion_GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams) (This)->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams)
#define IMFASFMutualExclusion_AddStreamForRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber)
#define IMFASFMutualExclusion_RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber) (This)->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber)
#define IMFASFMutualExclusion_RemoveRecord(This,dwRecordNumber) (This)->lpVtbl->RemoveRecord(This,dwRecordNumber)
#define IMFASFMutualExclusion_AddRecord(This,pdwRecordNumber) (This)->lpVtbl->AddRecord(This,pdwRecordNumber)
#define IMFASFMutualExclusion_Clone(This,ppIMutex) (This)->lpVtbl->Clone(This,ppIMutex)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFMutualExclusion_QueryInterface(IMFASFMutualExclusion* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFMutualExclusion_AddRef(IMFASFMutualExclusion* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFMutualExclusion_Release(IMFASFMutualExclusion* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFMutualExclusion methods ***/
static FORCEINLINE HRESULT IMFASFMutualExclusion_GetType(IMFASFMutualExclusion* This,GUID *pguidType) {
return This->lpVtbl->GetType(This,pguidType);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_SetType(IMFASFMutualExclusion* This,REFGUID guidType) {
return This->lpVtbl->SetType(This,guidType);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_GetRecordCount(IMFASFMutualExclusion* This,DWORD *pdwRecordCount) {
return This->lpVtbl->GetRecordCount(This,pdwRecordCount);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_GetStreamsForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD *pwStreamNumArray,DWORD *pcStreams) {
return This->lpVtbl->GetStreamsForRecord(This,dwRecordNumber,pwStreamNumArray,pcStreams);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_AddStreamForRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) {
return This->lpVtbl->AddStreamForRecord(This,dwRecordNumber,wStreamNumber);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_RemoveStreamFromRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber,WORD wStreamNumber) {
return This->lpVtbl->RemoveStreamFromRecord(This,dwRecordNumber,wStreamNumber);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_RemoveRecord(IMFASFMutualExclusion* This,DWORD dwRecordNumber) {
return This->lpVtbl->RemoveRecord(This,dwRecordNumber);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_AddRecord(IMFASFMutualExclusion* This,DWORD *pdwRecordNumber) {
return This->lpVtbl->AddRecord(This,pdwRecordNumber);
}
static FORCEINLINE HRESULT IMFASFMutualExclusion_Clone(IMFASFMutualExclusion* This,IMFASFMutualExclusion **ppIMutex) {
return This->lpVtbl->Clone(This,ppIMutex);
}
#endif
#endif
#endif
#endif /* __IMFASFMutualExclusion_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFStreamPrioritization interface
*/
#ifndef __IMFASFStreamPrioritization_INTERFACE_DEFINED__
#define __IMFASFStreamPrioritization_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("699bdc27-bbaf-49ff-8e38-9c39c9b5e088")
IMFASFStreamPrioritization : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
DWORD *pdwStreamCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStream(
DWORD dwStreamIndex,
WORD *pwStreamNumber,
WORD *pwStreamFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE AddStream(
WORD wStreamNumber,
WORD wStreamFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStream(
DWORD dwStreamIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IMFASFStreamPrioritization **ppIStreamPrioritization) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFStreamPrioritization, 0x699bdc27, 0xbbaf, 0x49ff, 0x8e,0x38, 0x9c,0x39,0xc9,0xb5,0xe0,0x88)
#endif
#else
typedef struct IMFASFStreamPrioritizationVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFStreamPrioritization *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFStreamPrioritization *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFStreamPrioritization *This);
/*** IMFASFStreamPrioritization methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
IMFASFStreamPrioritization *This,
DWORD *pdwStreamCount);
HRESULT (STDMETHODCALLTYPE *GetStream)(
IMFASFStreamPrioritization *This,
DWORD dwStreamIndex,
WORD *pwStreamNumber,
WORD *pwStreamFlags);
HRESULT (STDMETHODCALLTYPE *AddStream)(
IMFASFStreamPrioritization *This,
WORD wStreamNumber,
WORD wStreamFlags);
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
IMFASFStreamPrioritization *This,
DWORD dwStreamIndex);
HRESULT (STDMETHODCALLTYPE *Clone)(
IMFASFStreamPrioritization *This,
IMFASFStreamPrioritization **ppIStreamPrioritization);
END_INTERFACE
} IMFASFStreamPrioritizationVtbl;
interface IMFASFStreamPrioritization {
CONST_VTBL IMFASFStreamPrioritizationVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFStreamPrioritization_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFStreamPrioritization_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFStreamPrioritization_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFStreamPrioritization methods ***/
#define IMFASFStreamPrioritization_GetStreamCount(This,pdwStreamCount) (This)->lpVtbl->GetStreamCount(This,pdwStreamCount)
#define IMFASFStreamPrioritization_GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags)
#define IMFASFStreamPrioritization_AddStream(This,wStreamNumber,wStreamFlags) (This)->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags)
#define IMFASFStreamPrioritization_RemoveStream(This,dwStreamIndex) (This)->lpVtbl->RemoveStream(This,dwStreamIndex)
#define IMFASFStreamPrioritization_Clone(This,ppIStreamPrioritization) (This)->lpVtbl->Clone(This,ppIStreamPrioritization)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFStreamPrioritization_QueryInterface(IMFASFStreamPrioritization* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFStreamPrioritization_AddRef(IMFASFStreamPrioritization* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFStreamPrioritization_Release(IMFASFStreamPrioritization* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFStreamPrioritization methods ***/
static FORCEINLINE HRESULT IMFASFStreamPrioritization_GetStreamCount(IMFASFStreamPrioritization* This,DWORD *pdwStreamCount) {
return This->lpVtbl->GetStreamCount(This,pdwStreamCount);
}
static FORCEINLINE HRESULT IMFASFStreamPrioritization_GetStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex,WORD *pwStreamNumber,WORD *pwStreamFlags) {
return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,pwStreamFlags);
}
static FORCEINLINE HRESULT IMFASFStreamPrioritization_AddStream(IMFASFStreamPrioritization* This,WORD wStreamNumber,WORD wStreamFlags) {
return This->lpVtbl->AddStream(This,wStreamNumber,wStreamFlags);
}
static FORCEINLINE HRESULT IMFASFStreamPrioritization_RemoveStream(IMFASFStreamPrioritization* This,DWORD dwStreamIndex) {
return This->lpVtbl->RemoveStream(This,dwStreamIndex);
}
static FORCEINLINE HRESULT IMFASFStreamPrioritization_Clone(IMFASFStreamPrioritization* This,IMFASFStreamPrioritization **ppIStreamPrioritization) {
return This->lpVtbl->Clone(This,ppIStreamPrioritization);
}
#endif
#endif
#endif
#endif /* __IMFASFStreamPrioritization_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFSplitter interface
*/
#ifndef __IMFASFSplitter_INTERFACE_DEFINED__
#define __IMFASFSplitter_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("12558295-e399-11d5-bc2a-00b0d0f3f4ab")
IMFASFSplitter : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IMFASFContentInfo *pIContentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFlags(
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE SelectStreams(
WORD *pwStreamNumbers,
WORD wNumStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSelectedStreams(
WORD *pwStreamNumbers,
WORD *pwNumStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE ParseData(
IMFMediaBuffer *pIBuffer,
DWORD cbBufferOffset,
DWORD cbLength) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextSample(
DWORD *pdwStatusFlags,
WORD *pwStreamNumber,
IMFSample **ppISample) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush(
) = 0;
virtual HRESULT STDMETHODCALLTYPE GetLastSendTime(
DWORD *pdwLastSendTime) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFSplitter, 0x12558295, 0xe399, 0x11d5, 0xbc,0x2a, 0x00,0xb0,0xd0,0xf3,0xf4,0xab)
#endif
#else
typedef struct IMFASFSplitterVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFSplitter *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFSplitter *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFSplitter *This);
/*** IMFASFSplitter methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IMFASFSplitter *This,
IMFASFContentInfo *pIContentInfo);
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IMFASFSplitter *This,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IMFASFSplitter *This,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *SelectStreams)(
IMFASFSplitter *This,
WORD *pwStreamNumbers,
WORD wNumStreams);
HRESULT (STDMETHODCALLTYPE *GetSelectedStreams)(
IMFASFSplitter *This,
WORD *pwStreamNumbers,
WORD *pwNumStreams);
HRESULT (STDMETHODCALLTYPE *ParseData)(
IMFASFSplitter *This,
IMFMediaBuffer *pIBuffer,
DWORD cbBufferOffset,
DWORD cbLength);
HRESULT (STDMETHODCALLTYPE *GetNextSample)(
IMFASFSplitter *This,
DWORD *pdwStatusFlags,
WORD *pwStreamNumber,
IMFSample **ppISample);
HRESULT (STDMETHODCALLTYPE *Flush)(
IMFASFSplitter *This);
HRESULT (STDMETHODCALLTYPE *GetLastSendTime)(
IMFASFSplitter *This,
DWORD *pdwLastSendTime);
END_INTERFACE
} IMFASFSplitterVtbl;
interface IMFASFSplitter {
CONST_VTBL IMFASFSplitterVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFSplitter_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFSplitter_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFSplitter_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFSplitter methods ***/
#define IMFASFSplitter_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo)
#define IMFASFSplitter_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
#define IMFASFSplitter_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IMFASFSplitter_SelectStreams(This,pwStreamNumbers,wNumStreams) (This)->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams)
#define IMFASFSplitter_GetSelectedStreams(This,pwStreamNumbers,pwNumStreams) (This)->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams)
#define IMFASFSplitter_ParseData(This,pIBuffer,cbBufferOffset,cbLength) (This)->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength)
#define IMFASFSplitter_GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample) (This)->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample)
#define IMFASFSplitter_Flush(This) (This)->lpVtbl->Flush(This)
#define IMFASFSplitter_GetLastSendTime(This,pdwLastSendTime) (This)->lpVtbl->GetLastSendTime(This,pdwLastSendTime)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFSplitter_QueryInterface(IMFASFSplitter* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFSplitter_AddRef(IMFASFSplitter* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFSplitter_Release(IMFASFSplitter* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFSplitter methods ***/
static FORCEINLINE HRESULT IMFASFSplitter_Initialize(IMFASFSplitter* This,IMFASFContentInfo *pIContentInfo) {
return This->lpVtbl->Initialize(This,pIContentInfo);
}
static FORCEINLINE HRESULT IMFASFSplitter_SetFlags(IMFASFSplitter* This,DWORD dwFlags) {
return This->lpVtbl->SetFlags(This,dwFlags);
}
static FORCEINLINE HRESULT IMFASFSplitter_GetFlags(IMFASFSplitter* This,DWORD *pdwFlags) {
return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IMFASFSplitter_SelectStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD wNumStreams) {
return This->lpVtbl->SelectStreams(This,pwStreamNumbers,wNumStreams);
}
static FORCEINLINE HRESULT IMFASFSplitter_GetSelectedStreams(IMFASFSplitter* This,WORD *pwStreamNumbers,WORD *pwNumStreams) {
return This->lpVtbl->GetSelectedStreams(This,pwStreamNumbers,pwNumStreams);
}
static FORCEINLINE HRESULT IMFASFSplitter_ParseData(IMFASFSplitter* This,IMFMediaBuffer *pIBuffer,DWORD cbBufferOffset,DWORD cbLength) {
return This->lpVtbl->ParseData(This,pIBuffer,cbBufferOffset,cbLength);
}
static FORCEINLINE HRESULT IMFASFSplitter_GetNextSample(IMFASFSplitter* This,DWORD *pdwStatusFlags,WORD *pwStreamNumber,IMFSample **ppISample) {
return This->lpVtbl->GetNextSample(This,pdwStatusFlags,pwStreamNumber,ppISample);
}
static FORCEINLINE HRESULT IMFASFSplitter_Flush(IMFASFSplitter* This) {
return This->lpVtbl->Flush(This);
}
static FORCEINLINE HRESULT IMFASFSplitter_GetLastSendTime(IMFASFSplitter* This,DWORD *pdwLastSendTime) {
return This->lpVtbl->GetLastSendTime(This,pdwLastSendTime);
}
#endif
#endif
#endif
#endif /* __IMFASFSplitter_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFMultiplexer interface
*/
#ifndef __IMFASFMultiplexer_INTERFACE_DEFINED__
#define __IMFASFMultiplexer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("57bdd80a-9b38-4838-b737-c58f670d7d4f")
IMFASFMultiplexer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE Initialize(
IMFASFContentInfo *pIContentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE SetFlags(
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE ProcessSample(
WORD wStreamNumber,
IMFSample *pISample,
LONGLONG hnsTimestampAdjust) = 0;
virtual HRESULT STDMETHODCALLTYPE GetNextPacket(
DWORD *pdwStatusFlags,
IMFSample **ppIPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE Flush(
) = 0;
virtual HRESULT STDMETHODCALLTYPE End(
IMFASFContentInfo *pIContentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStatistics(
WORD wStreamNumber,
ASF_MUX_STATISTICS *pMuxStats) = 0;
virtual HRESULT STDMETHODCALLTYPE SetSyncTolerance(
DWORD msSyncTolerance) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFMultiplexer, 0x57bdd80a, 0x9b38, 0x4838, 0xb7,0x37, 0xc5,0x8f,0x67,0x0d,0x7d,0x4f)
#endif
#else
typedef struct IMFASFMultiplexerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFMultiplexer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFMultiplexer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFMultiplexer *This);
/*** IMFASFMultiplexer methods ***/
HRESULT (STDMETHODCALLTYPE *Initialize)(
IMFASFMultiplexer *This,
IMFASFContentInfo *pIContentInfo);
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IMFASFMultiplexer *This,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IMFASFMultiplexer *This,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *ProcessSample)(
IMFASFMultiplexer *This,
WORD wStreamNumber,
IMFSample *pISample,
LONGLONG hnsTimestampAdjust);
HRESULT (STDMETHODCALLTYPE *GetNextPacket)(
IMFASFMultiplexer *This,
DWORD *pdwStatusFlags,
IMFSample **ppIPacket);
HRESULT (STDMETHODCALLTYPE *Flush)(
IMFASFMultiplexer *This);
HRESULT (STDMETHODCALLTYPE *End)(
IMFASFMultiplexer *This,
IMFASFContentInfo *pIContentInfo);
HRESULT (STDMETHODCALLTYPE *GetStatistics)(
IMFASFMultiplexer *This,
WORD wStreamNumber,
ASF_MUX_STATISTICS *pMuxStats);
HRESULT (STDMETHODCALLTYPE *SetSyncTolerance)(
IMFASFMultiplexer *This,
DWORD msSyncTolerance);
END_INTERFACE
} IMFASFMultiplexerVtbl;
interface IMFASFMultiplexer {
CONST_VTBL IMFASFMultiplexerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFMultiplexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFMultiplexer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFMultiplexer_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFMultiplexer methods ***/
#define IMFASFMultiplexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo)
#define IMFASFMultiplexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
#define IMFASFMultiplexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IMFASFMultiplexer_ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust) (This)->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust)
#define IMFASFMultiplexer_GetNextPacket(This,pdwStatusFlags,ppIPacket) (This)->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket)
#define IMFASFMultiplexer_Flush(This) (This)->lpVtbl->Flush(This)
#define IMFASFMultiplexer_End(This,pIContentInfo) (This)->lpVtbl->End(This,pIContentInfo)
#define IMFASFMultiplexer_GetStatistics(This,wStreamNumber,pMuxStats) (This)->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats)
#define IMFASFMultiplexer_SetSyncTolerance(This,msSyncTolerance) (This)->lpVtbl->SetSyncTolerance(This,msSyncTolerance)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFMultiplexer_QueryInterface(IMFASFMultiplexer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFMultiplexer_AddRef(IMFASFMultiplexer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFMultiplexer_Release(IMFASFMultiplexer* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFMultiplexer methods ***/
static FORCEINLINE HRESULT IMFASFMultiplexer_Initialize(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) {
return This->lpVtbl->Initialize(This,pIContentInfo);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_SetFlags(IMFASFMultiplexer* This,DWORD dwFlags) {
return This->lpVtbl->SetFlags(This,dwFlags);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_GetFlags(IMFASFMultiplexer* This,DWORD *pdwFlags) {
return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_ProcessSample(IMFASFMultiplexer* This,WORD wStreamNumber,IMFSample *pISample,LONGLONG hnsTimestampAdjust) {
return This->lpVtbl->ProcessSample(This,wStreamNumber,pISample,hnsTimestampAdjust);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_GetNextPacket(IMFASFMultiplexer* This,DWORD *pdwStatusFlags,IMFSample **ppIPacket) {
return This->lpVtbl->GetNextPacket(This,pdwStatusFlags,ppIPacket);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_Flush(IMFASFMultiplexer* This) {
return This->lpVtbl->Flush(This);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_End(IMFASFMultiplexer* This,IMFASFContentInfo *pIContentInfo) {
return This->lpVtbl->End(This,pIContentInfo);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_GetStatistics(IMFASFMultiplexer* This,WORD wStreamNumber,ASF_MUX_STATISTICS *pMuxStats) {
return This->lpVtbl->GetStatistics(This,wStreamNumber,pMuxStats);
}
static FORCEINLINE HRESULT IMFASFMultiplexer_SetSyncTolerance(IMFASFMultiplexer* This,DWORD msSyncTolerance) {
return This->lpVtbl->SetSyncTolerance(This,msSyncTolerance);
}
#endif
#endif
#endif
#endif /* __IMFASFMultiplexer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFIndexer interface
*/
#ifndef __IMFASFIndexer_INTERFACE_DEFINED__
#define __IMFASFIndexer_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("53590f48-dc3b-4297-813f-787761ad7b3e")
IMFASFIndexer : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE SetFlags(
DWORD dwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE GetFlags(
DWORD *pdwFlags) = 0;
virtual HRESULT STDMETHODCALLTYPE Initialize(
IMFASFContentInfo *pIContentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIndexPosition(
IMFASFContentInfo *pIContentInfo,
QWORD *pcbIndexOffset) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIndexByteStreams(
IMFByteStream **ppIByteStreams,
DWORD cByteStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIndexByteStreamCount(
DWORD *pcByteStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIndexStatus(
ASF_INDEX_IDENTIFIER *pIndexIdentifier,
WINBOOL *pfIsIndexed,
BYTE *pbIndexDescriptor,
DWORD *pcbIndexDescriptor) = 0;
virtual HRESULT STDMETHODCALLTYPE SetIndexStatus(
BYTE *pbIndexDescriptor,
DWORD cbIndexDescriptor,
WINBOOL fGenerateIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetSeekPositionForValue(
const PROPVARIANT *pvarValue,
ASF_INDEX_IDENTIFIER *pIndexIdentifier,
QWORD *pcbOffsetWithinData,
MFTIME *phnsApproxTime,
DWORD *pdwPayloadNumberOfStreamWithinPacket) = 0;
virtual HRESULT STDMETHODCALLTYPE GenerateIndexEntries(
IMFSample *pIASFPacketSample) = 0;
virtual HRESULT STDMETHODCALLTYPE CommitIndex(
IMFASFContentInfo *pIContentInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE GetIndexWriteSpace(
QWORD *pcbIndexWriteSpace) = 0;
virtual HRESULT STDMETHODCALLTYPE GetCompletedIndex(
IMFMediaBuffer *pIIndexBuffer,
QWORD cbOffsetWithinIndex) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFIndexer, 0x53590f48, 0xdc3b, 0x4297, 0x81,0x3f, 0x78,0x77,0x61,0xad,0x7b,0x3e)
#endif
#else
typedef struct IMFASFIndexerVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFIndexer *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFIndexer *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFIndexer *This);
/*** IMFASFIndexer methods ***/
HRESULT (STDMETHODCALLTYPE *SetFlags)(
IMFASFIndexer *This,
DWORD dwFlags);
HRESULT (STDMETHODCALLTYPE *GetFlags)(
IMFASFIndexer *This,
DWORD *pdwFlags);
HRESULT (STDMETHODCALLTYPE *Initialize)(
IMFASFIndexer *This,
IMFASFContentInfo *pIContentInfo);
HRESULT (STDMETHODCALLTYPE *GetIndexPosition)(
IMFASFIndexer *This,
IMFASFContentInfo *pIContentInfo,
QWORD *pcbIndexOffset);
HRESULT (STDMETHODCALLTYPE *SetIndexByteStreams)(
IMFASFIndexer *This,
IMFByteStream **ppIByteStreams,
DWORD cByteStreams);
HRESULT (STDMETHODCALLTYPE *GetIndexByteStreamCount)(
IMFASFIndexer *This,
DWORD *pcByteStreams);
HRESULT (STDMETHODCALLTYPE *GetIndexStatus)(
IMFASFIndexer *This,
ASF_INDEX_IDENTIFIER *pIndexIdentifier,
WINBOOL *pfIsIndexed,
BYTE *pbIndexDescriptor,
DWORD *pcbIndexDescriptor);
HRESULT (STDMETHODCALLTYPE *SetIndexStatus)(
IMFASFIndexer *This,
BYTE *pbIndexDescriptor,
DWORD cbIndexDescriptor,
WINBOOL fGenerateIndex);
HRESULT (STDMETHODCALLTYPE *GetSeekPositionForValue)(
IMFASFIndexer *This,
const PROPVARIANT *pvarValue,
ASF_INDEX_IDENTIFIER *pIndexIdentifier,
QWORD *pcbOffsetWithinData,
MFTIME *phnsApproxTime,
DWORD *pdwPayloadNumberOfStreamWithinPacket);
HRESULT (STDMETHODCALLTYPE *GenerateIndexEntries)(
IMFASFIndexer *This,
IMFSample *pIASFPacketSample);
HRESULT (STDMETHODCALLTYPE *CommitIndex)(
IMFASFIndexer *This,
IMFASFContentInfo *pIContentInfo);
HRESULT (STDMETHODCALLTYPE *GetIndexWriteSpace)(
IMFASFIndexer *This,
QWORD *pcbIndexWriteSpace);
HRESULT (STDMETHODCALLTYPE *GetCompletedIndex)(
IMFASFIndexer *This,
IMFMediaBuffer *pIIndexBuffer,
QWORD cbOffsetWithinIndex);
END_INTERFACE
} IMFASFIndexerVtbl;
interface IMFASFIndexer {
CONST_VTBL IMFASFIndexerVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFIndexer_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFIndexer_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFIndexer_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFIndexer methods ***/
#define IMFASFIndexer_SetFlags(This,dwFlags) (This)->lpVtbl->SetFlags(This,dwFlags)
#define IMFASFIndexer_GetFlags(This,pdwFlags) (This)->lpVtbl->GetFlags(This,pdwFlags)
#define IMFASFIndexer_Initialize(This,pIContentInfo) (This)->lpVtbl->Initialize(This,pIContentInfo)
#define IMFASFIndexer_GetIndexPosition(This,pIContentInfo,pcbIndexOffset) (This)->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset)
#define IMFASFIndexer_SetIndexByteStreams(This,ppIByteStreams,cByteStreams) (This)->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams)
#define IMFASFIndexer_GetIndexByteStreamCount(This,pcByteStreams) (This)->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams)
#define IMFASFIndexer_GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor) (This)->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor)
#define IMFASFIndexer_SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex) (This)->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex)
#define IMFASFIndexer_GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket) (This)->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket)
#define IMFASFIndexer_GenerateIndexEntries(This,pIASFPacketSample) (This)->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample)
#define IMFASFIndexer_CommitIndex(This,pIContentInfo) (This)->lpVtbl->CommitIndex(This,pIContentInfo)
#define IMFASFIndexer_GetIndexWriteSpace(This,pcbIndexWriteSpace) (This)->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace)
#define IMFASFIndexer_GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex) (This)->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFIndexer_QueryInterface(IMFASFIndexer* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFIndexer_AddRef(IMFASFIndexer* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFIndexer_Release(IMFASFIndexer* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFIndexer methods ***/
static FORCEINLINE HRESULT IMFASFIndexer_SetFlags(IMFASFIndexer* This,DWORD dwFlags) {
return This->lpVtbl->SetFlags(This,dwFlags);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetFlags(IMFASFIndexer* This,DWORD *pdwFlags) {
return This->lpVtbl->GetFlags(This,pdwFlags);
}
static FORCEINLINE HRESULT IMFASFIndexer_Initialize(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) {
return This->lpVtbl->Initialize(This,pIContentInfo);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetIndexPosition(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo,QWORD *pcbIndexOffset) {
return This->lpVtbl->GetIndexPosition(This,pIContentInfo,pcbIndexOffset);
}
static FORCEINLINE HRESULT IMFASFIndexer_SetIndexByteStreams(IMFASFIndexer* This,IMFByteStream **ppIByteStreams,DWORD cByteStreams) {
return This->lpVtbl->SetIndexByteStreams(This,ppIByteStreams,cByteStreams);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetIndexByteStreamCount(IMFASFIndexer* This,DWORD *pcByteStreams) {
return This->lpVtbl->GetIndexByteStreamCount(This,pcByteStreams);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetIndexStatus(IMFASFIndexer* This,ASF_INDEX_IDENTIFIER *pIndexIdentifier,WINBOOL *pfIsIndexed,BYTE *pbIndexDescriptor,DWORD *pcbIndexDescriptor) {
return This->lpVtbl->GetIndexStatus(This,pIndexIdentifier,pfIsIndexed,pbIndexDescriptor,pcbIndexDescriptor);
}
static FORCEINLINE HRESULT IMFASFIndexer_SetIndexStatus(IMFASFIndexer* This,BYTE *pbIndexDescriptor,DWORD cbIndexDescriptor,WINBOOL fGenerateIndex) {
return This->lpVtbl->SetIndexStatus(This,pbIndexDescriptor,cbIndexDescriptor,fGenerateIndex);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetSeekPositionForValue(IMFASFIndexer* This,const PROPVARIANT *pvarValue,ASF_INDEX_IDENTIFIER *pIndexIdentifier,QWORD *pcbOffsetWithinData,MFTIME *phnsApproxTime,DWORD *pdwPayloadNumberOfStreamWithinPacket) {
return This->lpVtbl->GetSeekPositionForValue(This,pvarValue,pIndexIdentifier,pcbOffsetWithinData,phnsApproxTime,pdwPayloadNumberOfStreamWithinPacket);
}
static FORCEINLINE HRESULT IMFASFIndexer_GenerateIndexEntries(IMFASFIndexer* This,IMFSample *pIASFPacketSample) {
return This->lpVtbl->GenerateIndexEntries(This,pIASFPacketSample);
}
static FORCEINLINE HRESULT IMFASFIndexer_CommitIndex(IMFASFIndexer* This,IMFASFContentInfo *pIContentInfo) {
return This->lpVtbl->CommitIndex(This,pIContentInfo);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetIndexWriteSpace(IMFASFIndexer* This,QWORD *pcbIndexWriteSpace) {
return This->lpVtbl->GetIndexWriteSpace(This,pcbIndexWriteSpace);
}
static FORCEINLINE HRESULT IMFASFIndexer_GetCompletedIndex(IMFASFIndexer* This,IMFMediaBuffer *pIIndexBuffer,QWORD cbOffsetWithinIndex) {
return This->lpVtbl->GetCompletedIndex(This,pIIndexBuffer,cbOffsetWithinIndex);
}
#endif
#endif
#endif
#endif /* __IMFASFIndexer_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFStreamSelector interface
*/
#ifndef __IMFASFStreamSelector_INTERFACE_DEFINED__
#define __IMFASFStreamSelector_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d01bad4a-4fa0-4a60-9349-c27e62da9d41")
IMFASFStreamSelector : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
DWORD *pcStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputCount(
DWORD *pcOutputs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputStreamCount(
DWORD dwOutputNum,
DWORD *pcStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputStreamNumbers(
DWORD dwOutputNum,
WORD *rgwStreamNumbers) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputFromStream(
WORD wStreamNum,
DWORD *pdwOutput) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputOverride(
DWORD dwOutputNum,
ASF_SELECTION_STATUS *pSelection) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputOverride(
DWORD dwOutputNum,
ASF_SELECTION_STATUS Selection) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputMutexCount(
DWORD dwOutputNum,
DWORD *pcMutexes) = 0;
virtual HRESULT STDMETHODCALLTYPE GetOutputMutex(
DWORD dwOutputNum,
DWORD dwMutexNum,
IUnknown **ppMutex) = 0;
virtual HRESULT STDMETHODCALLTYPE SetOutputMutexSelection(
DWORD dwOutputNum,
DWORD dwMutexNum,
WORD wSelectedRecord) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBandwidthStepCount(
DWORD *pcStepCount) = 0;
virtual HRESULT STDMETHODCALLTYPE GetBandwidthStep(
DWORD dwStepNum,
DWORD *pdwBitrate,
WORD *rgwStreamNumbers,
ASF_SELECTION_STATUS *rgSelections) = 0;
virtual HRESULT STDMETHODCALLTYPE BitrateToStepNumber(
DWORD dwBitrate,
DWORD *pdwStepNum) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStreamSelectorFlags(
DWORD dwStreamSelectorFlags) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFStreamSelector, 0xd01bad4a, 0x4fa0, 0x4a60, 0x93,0x49, 0xc2,0x7e,0x62,0xda,0x9d,0x41)
#endif
#else
typedef struct IMFASFStreamSelectorVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFStreamSelector *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFStreamSelector *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFStreamSelector *This);
/*** IMFASFStreamSelector methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
IMFASFStreamSelector *This,
DWORD *pcStreams);
HRESULT (STDMETHODCALLTYPE *GetOutputCount)(
IMFASFStreamSelector *This,
DWORD *pcOutputs);
HRESULT (STDMETHODCALLTYPE *GetOutputStreamCount)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
DWORD *pcStreams);
HRESULT (STDMETHODCALLTYPE *GetOutputStreamNumbers)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
WORD *rgwStreamNumbers);
HRESULT (STDMETHODCALLTYPE *GetOutputFromStream)(
IMFASFStreamSelector *This,
WORD wStreamNum,
DWORD *pdwOutput);
HRESULT (STDMETHODCALLTYPE *GetOutputOverride)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
ASF_SELECTION_STATUS *pSelection);
HRESULT (STDMETHODCALLTYPE *SetOutputOverride)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
ASF_SELECTION_STATUS Selection);
HRESULT (STDMETHODCALLTYPE *GetOutputMutexCount)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
DWORD *pcMutexes);
HRESULT (STDMETHODCALLTYPE *GetOutputMutex)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
DWORD dwMutexNum,
IUnknown **ppMutex);
HRESULT (STDMETHODCALLTYPE *SetOutputMutexSelection)(
IMFASFStreamSelector *This,
DWORD dwOutputNum,
DWORD dwMutexNum,
WORD wSelectedRecord);
HRESULT (STDMETHODCALLTYPE *GetBandwidthStepCount)(
IMFASFStreamSelector *This,
DWORD *pcStepCount);
HRESULT (STDMETHODCALLTYPE *GetBandwidthStep)(
IMFASFStreamSelector *This,
DWORD dwStepNum,
DWORD *pdwBitrate,
WORD *rgwStreamNumbers,
ASF_SELECTION_STATUS *rgSelections);
HRESULT (STDMETHODCALLTYPE *BitrateToStepNumber)(
IMFASFStreamSelector *This,
DWORD dwBitrate,
DWORD *pdwStepNum);
HRESULT (STDMETHODCALLTYPE *SetStreamSelectorFlags)(
IMFASFStreamSelector *This,
DWORD dwStreamSelectorFlags);
END_INTERFACE
} IMFASFStreamSelectorVtbl;
interface IMFASFStreamSelector {
CONST_VTBL IMFASFStreamSelectorVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFStreamSelector_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFStreamSelector_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFStreamSelector_Release(This) (This)->lpVtbl->Release(This)
/*** IMFASFStreamSelector methods ***/
#define IMFASFStreamSelector_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams)
#define IMFASFStreamSelector_GetOutputCount(This,pcOutputs) (This)->lpVtbl->GetOutputCount(This,pcOutputs)
#define IMFASFStreamSelector_GetOutputStreamCount(This,dwOutputNum,pcStreams) (This)->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams)
#define IMFASFStreamSelector_GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers) (This)->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers)
#define IMFASFStreamSelector_GetOutputFromStream(This,wStreamNum,pdwOutput) (This)->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput)
#define IMFASFStreamSelector_GetOutputOverride(This,dwOutputNum,pSelection) (This)->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection)
#define IMFASFStreamSelector_SetOutputOverride(This,dwOutputNum,Selection) (This)->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection)
#define IMFASFStreamSelector_GetOutputMutexCount(This,dwOutputNum,pcMutexes) (This)->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes)
#define IMFASFStreamSelector_GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex) (This)->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex)
#define IMFASFStreamSelector_SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord) (This)->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord)
#define IMFASFStreamSelector_GetBandwidthStepCount(This,pcStepCount) (This)->lpVtbl->GetBandwidthStepCount(This,pcStepCount)
#define IMFASFStreamSelector_GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections) (This)->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections)
#define IMFASFStreamSelector_BitrateToStepNumber(This,dwBitrate,pdwStepNum) (This)->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum)
#define IMFASFStreamSelector_SetStreamSelectorFlags(This,dwStreamSelectorFlags) (This)->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFStreamSelector_QueryInterface(IMFASFStreamSelector* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFStreamSelector_AddRef(IMFASFStreamSelector* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFStreamSelector_Release(IMFASFStreamSelector* This) {
return This->lpVtbl->Release(This);
}
/*** IMFASFStreamSelector methods ***/
static FORCEINLINE HRESULT IMFASFStreamSelector_GetStreamCount(IMFASFStreamSelector* This,DWORD *pcStreams) {
return This->lpVtbl->GetStreamCount(This,pcStreams);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputCount(IMFASFStreamSelector* This,DWORD *pcOutputs) {
return This->lpVtbl->GetOutputCount(This,pcOutputs);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputStreamCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcStreams) {
return This->lpVtbl->GetOutputStreamCount(This,dwOutputNum,pcStreams);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputStreamNumbers(IMFASFStreamSelector* This,DWORD dwOutputNum,WORD *rgwStreamNumbers) {
return This->lpVtbl->GetOutputStreamNumbers(This,dwOutputNum,rgwStreamNumbers);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputFromStream(IMFASFStreamSelector* This,WORD wStreamNum,DWORD *pdwOutput) {
return This->lpVtbl->GetOutputFromStream(This,wStreamNum,pdwOutput);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS *pSelection) {
return This->lpVtbl->GetOutputOverride(This,dwOutputNum,pSelection);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_SetOutputOverride(IMFASFStreamSelector* This,DWORD dwOutputNum,ASF_SELECTION_STATUS Selection) {
return This->lpVtbl->SetOutputOverride(This,dwOutputNum,Selection);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputMutexCount(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD *pcMutexes) {
return This->lpVtbl->GetOutputMutexCount(This,dwOutputNum,pcMutexes);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetOutputMutex(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,IUnknown **ppMutex) {
return This->lpVtbl->GetOutputMutex(This,dwOutputNum,dwMutexNum,ppMutex);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_SetOutputMutexSelection(IMFASFStreamSelector* This,DWORD dwOutputNum,DWORD dwMutexNum,WORD wSelectedRecord) {
return This->lpVtbl->SetOutputMutexSelection(This,dwOutputNum,dwMutexNum,wSelectedRecord);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetBandwidthStepCount(IMFASFStreamSelector* This,DWORD *pcStepCount) {
return This->lpVtbl->GetBandwidthStepCount(This,pcStepCount);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_GetBandwidthStep(IMFASFStreamSelector* This,DWORD dwStepNum,DWORD *pdwBitrate,WORD *rgwStreamNumbers,ASF_SELECTION_STATUS *rgSelections) {
return This->lpVtbl->GetBandwidthStep(This,dwStepNum,pdwBitrate,rgwStreamNumbers,rgSelections);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_BitrateToStepNumber(IMFASFStreamSelector* This,DWORD dwBitrate,DWORD *pdwStepNum) {
return This->lpVtbl->BitrateToStepNumber(This,dwBitrate,pdwStepNum);
}
static FORCEINLINE HRESULT IMFASFStreamSelector_SetStreamSelectorFlags(IMFASFStreamSelector* This,DWORD dwStreamSelectorFlags) {
return This->lpVtbl->SetStreamSelectorFlags(This,dwStreamSelectorFlags);
}
#endif
#endif
#endif
#endif /* __IMFASFStreamSelector_INTERFACE_DEFINED__ */
#if WINVER >= 0x0601
/*****************************************************************************
* IMFDRMNetHelper interface
*/
#ifndef __IMFDRMNetHelper_INTERFACE_DEFINED__
#define __IMFDRMNetHelper_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("3d1ff0ea-679a-4190-8d46-7fa69e8c7e15")
IMFDRMNetHelper : public IUnknown
{
virtual HRESULT STDMETHODCALLTYPE ProcessLicenseRequest(
BYTE *pLicenseRequest,
DWORD cbLicenseRequest,
BYTE **ppLicenseResponse,
DWORD *pcbLicenseResponse,
BSTR *pbstrKID) = 0;
virtual HRESULT STDMETHODCALLTYPE GetChainedLicenseResponse(
BYTE **ppLicenseResponse,
DWORD *pcbLicenseResponse) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFDRMNetHelper, 0x3d1ff0ea, 0x679a, 0x4190, 0x8d,0x46, 0x7f,0xa6,0x9e,0x8c,0x7e,0x15)
#endif
#else
typedef struct IMFDRMNetHelperVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFDRMNetHelper *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFDRMNetHelper *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFDRMNetHelper *This);
/*** IMFDRMNetHelper methods ***/
HRESULT (STDMETHODCALLTYPE *ProcessLicenseRequest)(
IMFDRMNetHelper *This,
BYTE *pLicenseRequest,
DWORD cbLicenseRequest,
BYTE **ppLicenseResponse,
DWORD *pcbLicenseResponse,
BSTR *pbstrKID);
HRESULT (STDMETHODCALLTYPE *GetChainedLicenseResponse)(
IMFDRMNetHelper *This,
BYTE **ppLicenseResponse,
DWORD *pcbLicenseResponse);
END_INTERFACE
} IMFDRMNetHelperVtbl;
interface IMFDRMNetHelper {
CONST_VTBL IMFDRMNetHelperVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFDRMNetHelper_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFDRMNetHelper_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFDRMNetHelper_Release(This) (This)->lpVtbl->Release(This)
/*** IMFDRMNetHelper methods ***/
#define IMFDRMNetHelper_ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID) (This)->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID)
#define IMFDRMNetHelper_GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse) (This)->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFDRMNetHelper_QueryInterface(IMFDRMNetHelper* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFDRMNetHelper_AddRef(IMFDRMNetHelper* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFDRMNetHelper_Release(IMFDRMNetHelper* This) {
return This->lpVtbl->Release(This);
}
/*** IMFDRMNetHelper methods ***/
static FORCEINLINE HRESULT IMFDRMNetHelper_ProcessLicenseRequest(IMFDRMNetHelper* This,BYTE *pLicenseRequest,DWORD cbLicenseRequest,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse,BSTR *pbstrKID) {
return This->lpVtbl->ProcessLicenseRequest(This,pLicenseRequest,cbLicenseRequest,ppLicenseResponse,pcbLicenseResponse,pbstrKID);
}
static FORCEINLINE HRESULT IMFDRMNetHelper_GetChainedLicenseResponse(IMFDRMNetHelper* This,BYTE **ppLicenseResponse,DWORD *pcbLicenseResponse) {
return This->lpVtbl->GetChainedLicenseResponse(This,ppLicenseResponse,pcbLicenseResponse);
}
#endif
#endif
#endif
#endif /* __IMFDRMNetHelper_INTERFACE_DEFINED__ */
#endif
/*****************************************************************************
* IMFASFProfile interface
*/
#ifndef __IMFASFProfile_INTERFACE_DEFINED__
#define __IMFASFProfile_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("d267bf6a-028b-4e0d-903d-43f0ef82d0d4")
IMFASFProfile : public IMFAttributes
{
virtual HRESULT STDMETHODCALLTYPE GetStreamCount(
DWORD *pcStreams) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStream(
DWORD dwStreamIndex,
WORD *pwStreamNumber,
IMFASFStreamConfig **ppIStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamByNumber(
WORD wStreamNumber,
IMFASFStreamConfig **ppIStream) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStream(
IMFASFStreamConfig *pIStream) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStream(
WORD wStreamNumber) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateStream(
IMFMediaType *pIMediaType,
IMFASFStreamConfig **ppIStream) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMutualExclusionCount(
DWORD *pcMutexs) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMutualExclusion(
DWORD dwMutexIndex,
IMFASFMutualExclusion **ppIMutex) = 0;
virtual HRESULT STDMETHODCALLTYPE AddMutualExclusion(
IMFASFMutualExclusion *pIMutex) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveMutualExclusion(
DWORD dwMutexIndex) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateMutualExclusion(
IMFASFMutualExclusion **ppIMutex) = 0;
virtual HRESULT STDMETHODCALLTYPE GetStreamPrioritization(
IMFASFStreamPrioritization **ppIStreamPrioritization) = 0;
virtual HRESULT STDMETHODCALLTYPE AddStreamPrioritization(
IMFASFStreamPrioritization *pIStreamPrioritization) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveStreamPrioritization(
) = 0;
virtual HRESULT STDMETHODCALLTYPE CreateStreamPrioritization(
IMFASFStreamPrioritization **ppIStreamPrioritization) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IMFASFProfile **ppIProfile) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFProfile, 0xd267bf6a, 0x028b, 0x4e0d, 0x90,0x3d, 0x43,0xf0,0xef,0x82,0xd0,0xd4)
#endif
#else
typedef struct IMFASFProfileVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFProfile *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFProfile *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFProfile *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFASFProfile *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFASFProfile *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFASFProfile *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFASFProfile *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFASFProfile *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFASFProfile *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFASFProfile *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFASFProfile *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFASFProfile *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFASFProfile *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFASFProfile *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFASFProfile *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFASFProfile *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFASFProfile *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFASFProfile *This,
REFGUID guidKey,
REFIID riid,
LPVOID *ppv);
HRESULT (STDMETHODCALLTYPE *SetItem)(
IMFASFProfile *This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT (STDMETHODCALLTYPE *DeleteItem)(
IMFASFProfile *This,
REFGUID guidKey);
HRESULT (STDMETHODCALLTYPE *DeleteAllItems)(
IMFASFProfile *This);
HRESULT (STDMETHODCALLTYPE *SetUINT32)(
IMFASFProfile *This,
REFGUID guidKey,
UINT32 unValue);
HRESULT (STDMETHODCALLTYPE *SetUINT64)(
IMFASFProfile *This,
REFGUID guidKey,
UINT64 unValue);
HRESULT (STDMETHODCALLTYPE *SetDouble)(
IMFASFProfile *This,
REFGUID guidKey,
double fValue);
HRESULT (STDMETHODCALLTYPE *SetGUID)(
IMFASFProfile *This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT (STDMETHODCALLTYPE *SetString)(
IMFASFProfile *This,
REFGUID guidKey,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFASFProfile *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFASFProfile *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFASFProfile *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFASFProfile *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFASFProfile *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFASFProfile *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFASFProfile *This,
IMFAttributes *pDest);
/*** IMFASFProfile methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamCount)(
IMFASFProfile *This,
DWORD *pcStreams);
HRESULT (STDMETHODCALLTYPE *GetStream)(
IMFASFProfile *This,
DWORD dwStreamIndex,
WORD *pwStreamNumber,
IMFASFStreamConfig **ppIStream);
HRESULT (STDMETHODCALLTYPE *GetStreamByNumber)(
IMFASFProfile *This,
WORD wStreamNumber,
IMFASFStreamConfig **ppIStream);
HRESULT (STDMETHODCALLTYPE *SetStream)(
IMFASFProfile *This,
IMFASFStreamConfig *pIStream);
HRESULT (STDMETHODCALLTYPE *RemoveStream)(
IMFASFProfile *This,
WORD wStreamNumber);
HRESULT (STDMETHODCALLTYPE *CreateStream)(
IMFASFProfile *This,
IMFMediaType *pIMediaType,
IMFASFStreamConfig **ppIStream);
HRESULT (STDMETHODCALLTYPE *GetMutualExclusionCount)(
IMFASFProfile *This,
DWORD *pcMutexs);
HRESULT (STDMETHODCALLTYPE *GetMutualExclusion)(
IMFASFProfile *This,
DWORD dwMutexIndex,
IMFASFMutualExclusion **ppIMutex);
HRESULT (STDMETHODCALLTYPE *AddMutualExclusion)(
IMFASFProfile *This,
IMFASFMutualExclusion *pIMutex);
HRESULT (STDMETHODCALLTYPE *RemoveMutualExclusion)(
IMFASFProfile *This,
DWORD dwMutexIndex);
HRESULT (STDMETHODCALLTYPE *CreateMutualExclusion)(
IMFASFProfile *This,
IMFASFMutualExclusion **ppIMutex);
HRESULT (STDMETHODCALLTYPE *GetStreamPrioritization)(
IMFASFProfile *This,
IMFASFStreamPrioritization **ppIStreamPrioritization);
HRESULT (STDMETHODCALLTYPE *AddStreamPrioritization)(
IMFASFProfile *This,
IMFASFStreamPrioritization *pIStreamPrioritization);
HRESULT (STDMETHODCALLTYPE *RemoveStreamPrioritization)(
IMFASFProfile *This);
HRESULT (STDMETHODCALLTYPE *CreateStreamPrioritization)(
IMFASFProfile *This,
IMFASFStreamPrioritization **ppIStreamPrioritization);
HRESULT (STDMETHODCALLTYPE *Clone)(
IMFASFProfile *This,
IMFASFProfile **ppIProfile);
END_INTERFACE
} IMFASFProfileVtbl;
interface IMFASFProfile {
CONST_VTBL IMFASFProfileVtbl* lpVtbl;
};
#ifdef COBJMACROS
#ifndef WIDL_C_INLINE_WRAPPERS
/*** IUnknown methods ***/
#define IMFASFProfile_QueryInterface(This,riid,ppvObject) (This)->lpVtbl->QueryInterface(This,riid,ppvObject)
#define IMFASFProfile_AddRef(This) (This)->lpVtbl->AddRef(This)
#define IMFASFProfile_Release(This) (This)->lpVtbl->Release(This)
/*** IMFAttributes methods ***/
#define IMFASFProfile_GetItem(This,guidKey,pValue) (This)->lpVtbl->GetItem(This,guidKey,pValue)
#define IMFASFProfile_GetItemType(This,guidKey,pType) (This)->lpVtbl->GetItemType(This,guidKey,pType)
#define IMFASFProfile_CompareItem(This,guidKey,Value,pbResult) (This)->lpVtbl->CompareItem(This,guidKey,Value,pbResult)
#define IMFASFProfile_Compare(This,pTheirs,MatchType,pbResult) (This)->lpVtbl->Compare(This,pTheirs,MatchType,pbResult)
#define IMFASFProfile_GetUINT32(This,guidKey,punValue) (This)->lpVtbl->GetUINT32(This,guidKey,punValue)
#define IMFASFProfile_GetUINT64(This,guidKey,punValue) (This)->lpVtbl->GetUINT64(This,guidKey,punValue)
#define IMFASFProfile_GetDouble(This,guidKey,pfValue) (This)->lpVtbl->GetDouble(This,guidKey,pfValue)
#define IMFASFProfile_GetGUID(This,guidKey,pguidValue) (This)->lpVtbl->GetGUID(This,guidKey,pguidValue)
#define IMFASFProfile_GetStringLength(This,guidKey,pcchLength) (This)->lpVtbl->GetStringLength(This,guidKey,pcchLength)
#define IMFASFProfile_GetString(This,guidKey,pwszValue,cchBufSize,pcchLength) (This)->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength)
#define IMFASFProfile_GetAllocatedString(This,guidKey,ppwszValue,pcchLength) (This)->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength)
#define IMFASFProfile_GetBlobSize(This,guidKey,pcbBlobSize) (This)->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize)
#define IMFASFProfile_GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize) (This)->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize)
#define IMFASFProfile_GetAllocatedBlob(This,guidKey,ppBuf,pcbSize) (This)->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize)
#define IMFASFProfile_GetUnknown(This,guidKey,riid,ppv) (This)->lpVtbl->GetUnknown(This,guidKey,riid,ppv)
#define IMFASFProfile_SetItem(This,guidKey,Value) (This)->lpVtbl->SetItem(This,guidKey,Value)
#define IMFASFProfile_DeleteItem(This,guidKey) (This)->lpVtbl->DeleteItem(This,guidKey)
#define IMFASFProfile_DeleteAllItems(This) (This)->lpVtbl->DeleteAllItems(This)
#define IMFASFProfile_SetUINT32(This,guidKey,unValue) (This)->lpVtbl->SetUINT32(This,guidKey,unValue)
#define IMFASFProfile_SetUINT64(This,guidKey,unValue) (This)->lpVtbl->SetUINT64(This,guidKey,unValue)
#define IMFASFProfile_SetDouble(This,guidKey,fValue) (This)->lpVtbl->SetDouble(This,guidKey,fValue)
#define IMFASFProfile_SetGUID(This,guidKey,guidValue) (This)->lpVtbl->SetGUID(This,guidKey,guidValue)
#define IMFASFProfile_SetString(This,guidKey,wszValue) (This)->lpVtbl->SetString(This,guidKey,wszValue)
#define IMFASFProfile_SetBlob(This,guidKey,pBuf,cbBufSize) (This)->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize)
#define IMFASFProfile_SetUnknown(This,guidKey,pUnknown) (This)->lpVtbl->SetUnknown(This,guidKey,pUnknown)
#define IMFASFProfile_LockStore(This) (This)->lpVtbl->LockStore(This)
#define IMFASFProfile_UnlockStore(This) (This)->lpVtbl->UnlockStore(This)
#define IMFASFProfile_GetCount(This,pcItems) (This)->lpVtbl->GetCount(This,pcItems)
#define IMFASFProfile_GetItemByIndex(This,unIndex,pguidKey,pValue) (This)->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue)
#define IMFASFProfile_CopyAllItems(This,pDest) (This)->lpVtbl->CopyAllItems(This,pDest)
/*** IMFASFProfile methods ***/
#define IMFASFProfile_GetStreamCount(This,pcStreams) (This)->lpVtbl->GetStreamCount(This,pcStreams)
#define IMFASFProfile_GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream) (This)->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream)
#define IMFASFProfile_GetStreamByNumber(This,wStreamNumber,ppIStream) (This)->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream)
#define IMFASFProfile_SetStream(This,pIStream) (This)->lpVtbl->SetStream(This,pIStream)
#define IMFASFProfile_RemoveStream(This,wStreamNumber) (This)->lpVtbl->RemoveStream(This,wStreamNumber)
#define IMFASFProfile_CreateStream(This,pIMediaType,ppIStream) (This)->lpVtbl->CreateStream(This,pIMediaType,ppIStream)
#define IMFASFProfile_GetMutualExclusionCount(This,pcMutexs) (This)->lpVtbl->GetMutualExclusionCount(This,pcMutexs)
#define IMFASFProfile_GetMutualExclusion(This,dwMutexIndex,ppIMutex) (This)->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex)
#define IMFASFProfile_AddMutualExclusion(This,pIMutex) (This)->lpVtbl->AddMutualExclusion(This,pIMutex)
#define IMFASFProfile_RemoveMutualExclusion(This,dwMutexIndex) (This)->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex)
#define IMFASFProfile_CreateMutualExclusion(This,ppIMutex) (This)->lpVtbl->CreateMutualExclusion(This,ppIMutex)
#define IMFASFProfile_GetStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization)
#define IMFASFProfile_AddStreamPrioritization(This,pIStreamPrioritization) (This)->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization)
#define IMFASFProfile_RemoveStreamPrioritization(This) (This)->lpVtbl->RemoveStreamPrioritization(This)
#define IMFASFProfile_CreateStreamPrioritization(This,ppIStreamPrioritization) (This)->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization)
#define IMFASFProfile_Clone(This,ppIProfile) (This)->lpVtbl->Clone(This,ppIProfile)
#else
/*** IUnknown methods ***/
static FORCEINLINE HRESULT IMFASFProfile_QueryInterface(IMFASFProfile* This,REFIID riid,void **ppvObject) {
return This->lpVtbl->QueryInterface(This,riid,ppvObject);
}
static FORCEINLINE ULONG IMFASFProfile_AddRef(IMFASFProfile* This) {
return This->lpVtbl->AddRef(This);
}
static FORCEINLINE ULONG IMFASFProfile_Release(IMFASFProfile* This) {
return This->lpVtbl->Release(This);
}
/*** IMFAttributes methods ***/
static FORCEINLINE HRESULT IMFASFProfile_GetItem(IMFASFProfile* This,REFGUID guidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItem(This,guidKey,pValue);
}
static FORCEINLINE HRESULT IMFASFProfile_GetItemType(IMFASFProfile* This,REFGUID guidKey,MF_ATTRIBUTE_TYPE *pType) {
return This->lpVtbl->GetItemType(This,guidKey,pType);
}
static FORCEINLINE HRESULT IMFASFProfile_CompareItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value,WINBOOL *pbResult) {
return This->lpVtbl->CompareItem(This,guidKey,Value,pbResult);
}
static FORCEINLINE HRESULT IMFASFProfile_Compare(IMFASFProfile* This,IMFAttributes *pTheirs,MF_ATTRIBUTES_MATCH_TYPE MatchType,WINBOOL *pbResult) {
return This->lpVtbl->Compare(This,pTheirs,MatchType,pbResult);
}
static FORCEINLINE HRESULT IMFASFProfile_GetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 *punValue) {
return This->lpVtbl->GetUINT32(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFASFProfile_GetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 *punValue) {
return This->lpVtbl->GetUINT64(This,guidKey,punValue);
}
static FORCEINLINE HRESULT IMFASFProfile_GetDouble(IMFASFProfile* This,REFGUID guidKey,double *pfValue) {
return This->lpVtbl->GetDouble(This,guidKey,pfValue);
}
static FORCEINLINE HRESULT IMFASFProfile_GetGUID(IMFASFProfile* This,REFGUID guidKey,GUID *pguidValue) {
return This->lpVtbl->GetGUID(This,guidKey,pguidValue);
}
static FORCEINLINE HRESULT IMFASFProfile_GetStringLength(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcchLength) {
return This->lpVtbl->GetStringLength(This,guidKey,pcchLength);
}
static FORCEINLINE HRESULT IMFASFProfile_GetString(IMFASFProfile* This,REFGUID guidKey,LPWSTR pwszValue,UINT32 cchBufSize,UINT32 *pcchLength) {
return This->lpVtbl->GetString(This,guidKey,pwszValue,cchBufSize,pcchLength);
}
static FORCEINLINE HRESULT IMFASFProfile_GetAllocatedString(IMFASFProfile* This,REFGUID guidKey,LPWSTR *ppwszValue,UINT32 *pcchLength) {
return This->lpVtbl->GetAllocatedString(This,guidKey,ppwszValue,pcchLength);
}
static FORCEINLINE HRESULT IMFASFProfile_GetBlobSize(IMFASFProfile* This,REFGUID guidKey,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlobSize(This,guidKey,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFASFProfile_GetBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 *pBuf,UINT32 cbBufSize,UINT32 *pcbBlobSize) {
return This->lpVtbl->GetBlob(This,guidKey,pBuf,cbBufSize,pcbBlobSize);
}
static FORCEINLINE HRESULT IMFASFProfile_GetAllocatedBlob(IMFASFProfile* This,REFGUID guidKey,UINT8 **ppBuf,UINT32 *pcbSize) {
return This->lpVtbl->GetAllocatedBlob(This,guidKey,ppBuf,pcbSize);
}
static FORCEINLINE HRESULT IMFASFProfile_GetUnknown(IMFASFProfile* This,REFGUID guidKey,REFIID riid,LPVOID *ppv) {
return This->lpVtbl->GetUnknown(This,guidKey,riid,ppv);
}
static FORCEINLINE HRESULT IMFASFProfile_SetItem(IMFASFProfile* This,REFGUID guidKey,REFPROPVARIANT Value) {
return This->lpVtbl->SetItem(This,guidKey,Value);
}
static FORCEINLINE HRESULT IMFASFProfile_DeleteItem(IMFASFProfile* This,REFGUID guidKey) {
return This->lpVtbl->DeleteItem(This,guidKey);
}
static FORCEINLINE HRESULT IMFASFProfile_DeleteAllItems(IMFASFProfile* This) {
return This->lpVtbl->DeleteAllItems(This);
}
static FORCEINLINE HRESULT IMFASFProfile_SetUINT32(IMFASFProfile* This,REFGUID guidKey,UINT32 unValue) {
return This->lpVtbl->SetUINT32(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFASFProfile_SetUINT64(IMFASFProfile* This,REFGUID guidKey,UINT64 unValue) {
return This->lpVtbl->SetUINT64(This,guidKey,unValue);
}
static FORCEINLINE HRESULT IMFASFProfile_SetDouble(IMFASFProfile* This,REFGUID guidKey,double fValue) {
return This->lpVtbl->SetDouble(This,guidKey,fValue);
}
static FORCEINLINE HRESULT IMFASFProfile_SetGUID(IMFASFProfile* This,REFGUID guidKey,REFGUID guidValue) {
return This->lpVtbl->SetGUID(This,guidKey,guidValue);
}
static FORCEINLINE HRESULT IMFASFProfile_SetString(IMFASFProfile* This,REFGUID guidKey,LPCWSTR wszValue) {
return This->lpVtbl->SetString(This,guidKey,wszValue);
}
static FORCEINLINE HRESULT IMFASFProfile_SetBlob(IMFASFProfile* This,REFGUID guidKey,const UINT8 *pBuf,UINT32 cbBufSize) {
return This->lpVtbl->SetBlob(This,guidKey,pBuf,cbBufSize);
}
static FORCEINLINE HRESULT IMFASFProfile_SetUnknown(IMFASFProfile* This,REFGUID guidKey,IUnknown *pUnknown) {
return This->lpVtbl->SetUnknown(This,guidKey,pUnknown);
}
static FORCEINLINE HRESULT IMFASFProfile_LockStore(IMFASFProfile* This) {
return This->lpVtbl->LockStore(This);
}
static FORCEINLINE HRESULT IMFASFProfile_UnlockStore(IMFASFProfile* This) {
return This->lpVtbl->UnlockStore(This);
}
static FORCEINLINE HRESULT IMFASFProfile_GetCount(IMFASFProfile* This,UINT32 *pcItems) {
return This->lpVtbl->GetCount(This,pcItems);
}
static FORCEINLINE HRESULT IMFASFProfile_GetItemByIndex(IMFASFProfile* This,UINT32 unIndex,GUID *pguidKey,PROPVARIANT *pValue) {
return This->lpVtbl->GetItemByIndex(This,unIndex,pguidKey,pValue);
}
static FORCEINLINE HRESULT IMFASFProfile_CopyAllItems(IMFASFProfile* This,IMFAttributes *pDest) {
return This->lpVtbl->CopyAllItems(This,pDest);
}
/*** IMFASFProfile methods ***/
static FORCEINLINE HRESULT IMFASFProfile_GetStreamCount(IMFASFProfile* This,DWORD *pcStreams) {
return This->lpVtbl->GetStreamCount(This,pcStreams);
}
static FORCEINLINE HRESULT IMFASFProfile_GetStream(IMFASFProfile* This,DWORD dwStreamIndex,WORD *pwStreamNumber,IMFASFStreamConfig **ppIStream) {
return This->lpVtbl->GetStream(This,dwStreamIndex,pwStreamNumber,ppIStream);
}
static FORCEINLINE HRESULT IMFASFProfile_GetStreamByNumber(IMFASFProfile* This,WORD wStreamNumber,IMFASFStreamConfig **ppIStream) {
return This->lpVtbl->GetStreamByNumber(This,wStreamNumber,ppIStream);
}
static FORCEINLINE HRESULT IMFASFProfile_SetStream(IMFASFProfile* This,IMFASFStreamConfig *pIStream) {
return This->lpVtbl->SetStream(This,pIStream);
}
static FORCEINLINE HRESULT IMFASFProfile_RemoveStream(IMFASFProfile* This,WORD wStreamNumber) {
return This->lpVtbl->RemoveStream(This,wStreamNumber);
}
static FORCEINLINE HRESULT IMFASFProfile_CreateStream(IMFASFProfile* This,IMFMediaType *pIMediaType,IMFASFStreamConfig **ppIStream) {
return This->lpVtbl->CreateStream(This,pIMediaType,ppIStream);
}
static FORCEINLINE HRESULT IMFASFProfile_GetMutualExclusionCount(IMFASFProfile* This,DWORD *pcMutexs) {
return This->lpVtbl->GetMutualExclusionCount(This,pcMutexs);
}
static FORCEINLINE HRESULT IMFASFProfile_GetMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex,IMFASFMutualExclusion **ppIMutex) {
return This->lpVtbl->GetMutualExclusion(This,dwMutexIndex,ppIMutex);
}
static FORCEINLINE HRESULT IMFASFProfile_AddMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion *pIMutex) {
return This->lpVtbl->AddMutualExclusion(This,pIMutex);
}
static FORCEINLINE HRESULT IMFASFProfile_RemoveMutualExclusion(IMFASFProfile* This,DWORD dwMutexIndex) {
return This->lpVtbl->RemoveMutualExclusion(This,dwMutexIndex);
}
static FORCEINLINE HRESULT IMFASFProfile_CreateMutualExclusion(IMFASFProfile* This,IMFASFMutualExclusion **ppIMutex) {
return This->lpVtbl->CreateMutualExclusion(This,ppIMutex);
}
static FORCEINLINE HRESULT IMFASFProfile_GetStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) {
return This->lpVtbl->GetStreamPrioritization(This,ppIStreamPrioritization);
}
static FORCEINLINE HRESULT IMFASFProfile_AddStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization *pIStreamPrioritization) {
return This->lpVtbl->AddStreamPrioritization(This,pIStreamPrioritization);
}
static FORCEINLINE HRESULT IMFASFProfile_RemoveStreamPrioritization(IMFASFProfile* This) {
return This->lpVtbl->RemoveStreamPrioritization(This);
}
static FORCEINLINE HRESULT IMFASFProfile_CreateStreamPrioritization(IMFASFProfile* This,IMFASFStreamPrioritization **ppIStreamPrioritization) {
return This->lpVtbl->CreateStreamPrioritization(This,ppIStreamPrioritization);
}
static FORCEINLINE HRESULT IMFASFProfile_Clone(IMFASFProfile* This,IMFASFProfile **ppIProfile) {
return This->lpVtbl->Clone(This,ppIProfile);
}
#endif
#endif
#endif
#endif /* __IMFASFProfile_INTERFACE_DEFINED__ */
/*****************************************************************************
* IMFASFStreamConfig interface
*/
#ifndef __IMFASFStreamConfig_INTERFACE_DEFINED__
#define __IMFASFStreamConfig_INTERFACE_DEFINED__
DEFINE_GUID(IID_IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13);
#if defined(__cplusplus) && !defined(CINTERFACE)
MIDL_INTERFACE("9e8ae8d2-dbbd-4200-9aca-06e6df484913")
IMFASFStreamConfig : public IMFAttributes
{
virtual HRESULT STDMETHODCALLTYPE GetStreamType(
GUID *pguidStreamType) = 0;
virtual WORD STDMETHODCALLTYPE GetStreamNumber(
) = 0;
virtual HRESULT STDMETHODCALLTYPE SetStreamNumber(
WORD wStreamNum) = 0;
virtual HRESULT STDMETHODCALLTYPE GetMediaType(
IMFMediaType **ppIMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE SetMediaType(
IMFMediaType *pIMediaType) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPayloadExtensionCount(
WORD *pcPayloadExtensions) = 0;
virtual HRESULT STDMETHODCALLTYPE GetPayloadExtension(
WORD wPayloadExtensionNumber,
GUID *pguidExtensionSystemID,
WORD *pcbExtensionDataSize,
BYTE *pbExtensionSystemInfo,
DWORD *pcbExtensionSystemInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE AddPayloadExtension(
GUID guidExtensionSystemID,
WORD cbExtensionDataSize,
BYTE *pbExtensionSystemInfo,
DWORD cbExtensionSystemInfo) = 0;
virtual HRESULT STDMETHODCALLTYPE RemoveAllPayloadExtensions(
) = 0;
virtual HRESULT STDMETHODCALLTYPE Clone(
IMFASFStreamConfig **ppIStreamConfig) = 0;
};
#ifdef __CRT_UUID_DECL
__CRT_UUID_DECL(IMFASFStreamConfig, 0x9e8ae8d2, 0xdbbd, 0x4200, 0x9a,0xca, 0x06,0xe6,0xdf,0x48,0x49,0x13)
#endif
#else
typedef struct IMFASFStreamConfigVtbl {
BEGIN_INTERFACE
/*** IUnknown methods ***/
HRESULT (STDMETHODCALLTYPE *QueryInterface)(
IMFASFStreamConfig *This,
REFIID riid,
void **ppvObject);
ULONG (STDMETHODCALLTYPE *AddRef)(
IMFASFStreamConfig *This);
ULONG (STDMETHODCALLTYPE *Release)(
IMFASFStreamConfig *This);
/*** IMFAttributes methods ***/
HRESULT (STDMETHODCALLTYPE *GetItem)(
IMFASFStreamConfig *This,
REFGUID guidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *GetItemType)(
IMFASFStreamConfig *This,
REFGUID guidKey,
MF_ATTRIBUTE_TYPE *pType);
HRESULT (STDMETHODCALLTYPE *CompareItem)(
IMFASFStreamConfig *This,
REFGUID guidKey,
REFPROPVARIANT Value,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *Compare)(
IMFASFStreamConfig *This,
IMFAttributes *pTheirs,
MF_ATTRIBUTES_MATCH_TYPE MatchType,
WINBOOL *pbResult);
HRESULT (STDMETHODCALLTYPE *GetUINT32)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT32 *punValue);
HRESULT (STDMETHODCALLTYPE *GetUINT64)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT64 *punValue);
HRESULT (STDMETHODCALLTYPE *GetDouble)(
IMFASFStreamConfig *This,
REFGUID guidKey,
double *pfValue);
HRESULT (STDMETHODCALLTYPE *GetGUID)(
IMFASFStreamConfig *This,
REFGUID guidKey,
GUID *pguidValue);
HRESULT (STDMETHODCALLTYPE *GetStringLength)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetString)(
IMFASFStreamConfig *This,
REFGUID guidKey,
LPWSTR pwszValue,
UINT32 cchBufSize,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetAllocatedString)(
IMFASFStreamConfig *This,
REFGUID guidKey,
LPWSTR *ppwszValue,
UINT32 *pcchLength);
HRESULT (STDMETHODCALLTYPE *GetBlobSize)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetBlob)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT8 *pBuf,
UINT32 cbBufSize,
UINT32 *pcbBlobSize);
HRESULT (STDMETHODCALLTYPE *GetAllocatedBlob)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT8 **ppBuf,
UINT32 *pcbSize);
HRESULT (STDMETHODCALLTYPE *GetUnknown)(
IMFASFStreamConfig *This,
REFGUID guidKey,
REFIID riid,
LPVOID *ppv);
HRESULT (STDMETHODCALLTYPE *SetItem)(
IMFASFStreamConfig *This,
REFGUID guidKey,
REFPROPVARIANT Value);
HRESULT (STDMETHODCALLTYPE *DeleteItem)(
IMFASFStreamConfig *This,
REFGUID guidKey);
HRESULT (STDMETHODCALLTYPE *DeleteAllItems)(
IMFASFStreamConfig *This);
HRESULT (STDMETHODCALLTYPE *SetUINT32)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT32 unValue);
HRESULT (STDMETHODCALLTYPE *SetUINT64)(
IMFASFStreamConfig *This,
REFGUID guidKey,
UINT64 unValue);
HRESULT (STDMETHODCALLTYPE *SetDouble)(
IMFASFStreamConfig *This,
REFGUID guidKey,
double fValue);
HRESULT (STDMETHODCALLTYPE *SetGUID)(
IMFASFStreamConfig *This,
REFGUID guidKey,
REFGUID guidValue);
HRESULT (STDMETHODCALLTYPE *SetString)(
IMFASFStreamConfig *This,
REFGUID guidKey,
LPCWSTR wszValue);
HRESULT (STDMETHODCALLTYPE *SetBlob)(
IMFASFStreamConfig *This,
REFGUID guidKey,
const UINT8 *pBuf,
UINT32 cbBufSize);
HRESULT (STDMETHODCALLTYPE *SetUnknown)(
IMFASFStreamConfig *This,
REFGUID guidKey,
IUnknown *pUnknown);
HRESULT (STDMETHODCALLTYPE *LockStore)(
IMFASFStreamConfig *This);
HRESULT (STDMETHODCALLTYPE *UnlockStore)(
IMFASFStreamConfig *This);
HRESULT (STDMETHODCALLTYPE *GetCount)(
IMFASFStreamConfig *This,
UINT32 *pcItems);
HRESULT (STDMETHODCALLTYPE *GetItemByIndex)(
IMFASFStreamConfig *This,
UINT32 unIndex,
GUID *pguidKey,
PROPVARIANT *pValue);
HRESULT (STDMETHODCALLTYPE *CopyAllItems)(
IMFASFStreamConfig *This,
IMFAttributes *pDest);
/*** IMFASFStreamConfig methods ***/
HRESULT (STDMETHODCALLTYPE *GetStreamType)(
IMFASFStreamConfig *This,
GUID *pguidStreamType);
WORD (STDMETHODCALLTYPE *GetStreamNumber)(
IMFASFStreamConfig *This);
HRESULT (STDMETHODCALLTYPE *SetStreamNumber)(
IMFASFStreamConfig *This,
WORD wStreamNum);
HRESULT (STDMETHODCALLTYPE *GetMediaType)(
IMFASFStreamConfig *This,
IMFMediaType **ppIMediaType);