/* this ALWAYS GENERATED file contains the definitions for the interfaces */ /* File created by MIDL compiler version 7.00.0555 */ /* Compiler settings for dsattrib.idl: Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 protocol : dce , ms_ext, c_ext, robust error checks: allocation ref bounds_check enum stub_data VC __declspec() decoration level: __declspec(uuid()), __declspec(selectany), __declspec(novtable) DECLSPEC_UUID(), MIDL_INTERFACE() */ /* @@MIDL_FILE_HEADING( ) */ #pragma warning( disable: 4049 ) /* more than 64k source lines */ /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCNDR_H_VERSION__ #define __REQUIRED_RPCNDR_H_VERSION__ 500 #endif /* verify that the version is high enough to compile this file*/ #ifndef __REQUIRED_RPCSAL_H_VERSION__ #define __REQUIRED_RPCSAL_H_VERSION__ 100 #endif #include "rpc.h" #include "rpcndr.h" #ifndef __RPCNDR_H_VERSION__ #error this stub requires an updated version of #endif // __RPCNDR_H_VERSION__ #ifndef COM_NO_WINDOWS_H #include "windows.h" #include "ole2.h" #endif /*COM_NO_WINDOWS_H*/ #ifndef __dsattrib_h__ #define __dsattrib_h__ #if defined(_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif /* Forward Declarations */ #ifndef __IAttributeSet_FWD_DEFINED__ #define __IAttributeSet_FWD_DEFINED__ typedef interface IAttributeSet IAttributeSet; #endif /* __IAttributeSet_FWD_DEFINED__ */ #ifndef __IAttributeGet_FWD_DEFINED__ #define __IAttributeGet_FWD_DEFINED__ typedef interface IAttributeGet IAttributeGet; #endif /* __IAttributeGet_FWD_DEFINED__ */ /* header files for imported files */ #include "unknwn.h" #include "objidl.h" #include "strmif.h" #ifdef __cplusplus extern "C"{ #endif /* interface __MIDL_itf_dsattrib_0000_0000 */ /* [local] */ extern RPC_IF_HANDLE __MIDL_itf_dsattrib_0000_0000_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dsattrib_0000_0000_v0_0_s_ifspec; #ifndef __IAttributeSet_INTERFACE_DEFINED__ #define __IAttributeSet_INTERFACE_DEFINED__ /* interface IAttributeSet */ /* [unique][uuid][object] */ EXTERN_C const IID IID_IAttributeSet; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("583ec3cc-4960-4857-982b-41a33ea0a006") IAttributeSet : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE SetAttrib( /* [in] */ GUID guidAttribute, /* [in] */ __RPC__in BYTE *pbAttribute, /* [in] */ DWORD dwAttributeLength) = 0; }; #else /* C style interface */ typedef struct IAttributeSetVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IAttributeSet * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IAttributeSet * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IAttributeSet * This); HRESULT ( STDMETHODCALLTYPE *SetAttrib )( __RPC__in IAttributeSet * This, /* [in] */ GUID guidAttribute, /* [in] */ __RPC__in BYTE *pbAttribute, /* [in] */ DWORD dwAttributeLength); END_INTERFACE } IAttributeSetVtbl; interface IAttributeSet { CONST_VTBL struct IAttributeSetVtbl *lpVtbl; }; #ifdef COBJMACROS #define IAttributeSet_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IAttributeSet_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IAttributeSet_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IAttributeSet_SetAttrib(This,guidAttribute,pbAttribute,dwAttributeLength) \ ( (This)->lpVtbl -> SetAttrib(This,guidAttribute,pbAttribute,dwAttributeLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAttributeSet_INTERFACE_DEFINED__ */ #ifndef __IAttributeGet_INTERFACE_DEFINED__ #define __IAttributeGet_INTERFACE_DEFINED__ /* interface IAttributeGet */ /* [unique][uuid][object] */ EXTERN_C const IID IID_IAttributeGet; #if defined(__cplusplus) && !defined(CINTERFACE) MIDL_INTERFACE("52dbd1ec-e48f-4528-9232-f442a68f0ae1") IAttributeGet : public IUnknown { public: virtual HRESULT STDMETHODCALLTYPE GetCount( /* [out] */ __RPC__out LONG *plCount) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttribIndexed( /* [in] */ LONG lIndex, /* [out] */ __RPC__out GUID *pguidAttribute, /* [out][in] */ __RPC__inout BYTE *pbAttribute, /* [out][in] */ __RPC__inout DWORD *pdwAttributeLength) = 0; virtual HRESULT STDMETHODCALLTYPE GetAttrib( /* [in] */ GUID guidAttribute, /* [out][in] */ __RPC__inout BYTE *pbAttribute, /* [out][in] */ __RPC__inout DWORD *pdwAttributeLength) = 0; }; #else /* C style interface */ typedef struct IAttributeGetVtbl { BEGIN_INTERFACE HRESULT ( STDMETHODCALLTYPE *QueryInterface )( __RPC__in IAttributeGet * This, /* [in] */ __RPC__in REFIID riid, /* [annotation][iid_is][out] */ __RPC__deref_out void **ppvObject); ULONG ( STDMETHODCALLTYPE *AddRef )( __RPC__in IAttributeGet * This); ULONG ( STDMETHODCALLTYPE *Release )( __RPC__in IAttributeGet * This); HRESULT ( STDMETHODCALLTYPE *GetCount )( __RPC__in IAttributeGet * This, /* [out] */ __RPC__out LONG *plCount); HRESULT ( STDMETHODCALLTYPE *GetAttribIndexed )( __RPC__in IAttributeGet * This, /* [in] */ LONG lIndex, /* [out] */ __RPC__out GUID *pguidAttribute, /* [out][in] */ __RPC__inout BYTE *pbAttribute, /* [out][in] */ __RPC__inout DWORD *pdwAttributeLength); HRESULT ( STDMETHODCALLTYPE *GetAttrib )( __RPC__in IAttributeGet * This, /* [in] */ GUID guidAttribute, /* [out][in] */ __RPC__inout BYTE *pbAttribute, /* [out][in] */ __RPC__inout DWORD *pdwAttributeLength); END_INTERFACE } IAttributeGetVtbl; interface IAttributeGet { CONST_VTBL struct IAttributeGetVtbl *lpVtbl; }; #ifdef COBJMACROS #define IAttributeGet_QueryInterface(This,riid,ppvObject) \ ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) #define IAttributeGet_AddRef(This) \ ( (This)->lpVtbl -> AddRef(This) ) #define IAttributeGet_Release(This) \ ( (This)->lpVtbl -> Release(This) ) #define IAttributeGet_GetCount(This,plCount) \ ( (This)->lpVtbl -> GetCount(This,plCount) ) #define IAttributeGet_GetAttribIndexed(This,lIndex,pguidAttribute,pbAttribute,pdwAttributeLength) \ ( (This)->lpVtbl -> GetAttribIndexed(This,lIndex,pguidAttribute,pbAttribute,pdwAttributeLength) ) #define IAttributeGet_GetAttrib(This,guidAttribute,pbAttribute,pdwAttributeLength) \ ( (This)->lpVtbl -> GetAttrib(This,guidAttribute,pbAttribute,pdwAttributeLength) ) #endif /* COBJMACROS */ #endif /* C style interface */ #endif /* __IAttributeGet_INTERFACE_DEFINED__ */ /* interface __MIDL_itf_dsattrib_0000_0002 */ /* [local] */ // ------------------------------------------------------ // GUID: DSATTRIB_UDCRTag // ------------------------------------------------------ typedef struct _UDCR_TAG { BYTE bVersion ; BYTE KID [24 + 1] ; ULONGLONG ullBaseCounter ; ULONGLONG ullBaseCounterRange ; BOOL fScrambled ; BYTE bStreamMark ; DWORD dwReserved1 ; DWORD dwReserved2 ; } UDCR_TAG ; // ------------------------------------------------------ // GUID: DSATTRIB_PicSampleSeq // ------------------------------------------------------ // Older defines with mnemonics specific to MPEG-2 video: #define SAMPLE_SEQ_SEQUENCE_HEADER 1 #define SAMPLE_SEQ_GOP_HEADER 2 #define SAMPLE_SEQ_PICTURE_HEADER 3 // Latest defines with mnemonics generic to MPEG-2 and H.264 video: #define SAMPLE_SEQ_SEQUENCE_START SAMPLE_SEQ_SEQUENCE_HEADER #define SAMPLE_SEQ_SEEK_POINT SAMPLE_SEQ_GOP_HEADER #define SAMPLE_SEQ_FRAME_START SAMPLE_SEQ_PICTURE_HEADER // Older defines with mnemonics specific to MPEG-2 video: #define SAMPLE_SEQ_CONTENT_UNKNOWN 0 #define SAMPLE_SEQ_CONTENT_I_FRAME 1 #define SAMPLE_SEQ_CONTENT_P_FRAME 2 #define SAMPLE_SEQ_CONTENT_B_FRAME 3 // Latest defines with mnemonics generic to MPEG-2 and H.264 video: #define SAMPLE_SEQ_CONTENT_STANDALONE_FRAME SAMPLE_SEQ_CONTENT_I_FRAME #define SAMPLE_SEQ_CONTENT_REF_FRAME SAMPLE_SEQ_CONTENT_P_FRAME #define SAMPLE_SEQ_CONTENT_NONREF_FRAME SAMPLE_SEQ_CONTENT_B_FRAME typedef struct _PIC_SEQ_SAMPLE { DWORD Content : 3, // SAMPLE_CONTENT_* Start : 1, // '1' if the sample is a PictureSampleSequence start FrameRate : 4, // see below (h.262, table 6-4) InvalidVA : 1, // 0 normally. 1 if VA attempted but failed Reserved : 19, // reserved; shall have value 0 Version : 4 ; // 1 [0 means InvalidVA defaults to 0] } PIC_SEQ_SAMPLE, *PPIC_SEQ_SAMPLE ; // Frame Rate // (see h.262, table 6-4) // // 0000 reserved (ignore field value) // 0001 23.976 // 0010 24 // 0011 25 // 0100 29.97 // 0101 30 // 0110 50 // 0111 59.94 // 1000 60 typedef struct _SAMPLE_SEQ_OFFSET { DWORD Type : 4, // SAMPLE_SEQ_*; 0 means not used Offset : 20, // downstream byte offset; 0xfffff means > 2^20-1 Reserved : 8 ; // reserved; o } SAMPLE_SEQ_OFFSET ; #define OFFSET_MARKER_COUNT(attr_len) \ ((attr_len - sizeof (PIC_SEQ_SAMPLE)) / sizeof (SAMPLE_SEQ_OFFSET)) #define PIC_SEQ_SAMPLE_ATTR_LEN(cOffsets) (sizeof (PIC_SEQ_SAMPLE) + (cOffsets) * sizeof (SAMPLE_SEQ_OFFSET)) // ------------------------------------------------------ // GUID: DSATTRIB_OptionalVideoAttributes // ------------------------------------------------------ typedef enum VA_VIDEO_FORMAT { // Original video format known: VA_VIDEO_COMPONENT = 0, VA_VIDEO_PAL = 1, VA_VIDEO_NTSC = 2, VA_VIDEO_SECAM = 3, VA_VIDEO_MAC = 4, // Original video format not known: VA_VIDEO_UNSPECIFIED = 5 // The MPEG-2 video and H.264 specs reserve values // 6 and 7 for future use. } VA_VIDEO_FORMAT; typedef enum VA_COLOR_PRIMARIES { // 0 is reserved by both H.264 and MPEG-2 video VA_PRIMARIES_ITU_R_BT_709 = 1, // Use this value if the color primaries system is not // known or non-standard: VA_PRIMARIES_UNSPECIFIED = 2, // 3 is reserved by both H.264 and MPEG-2 video VA_PRIMARIES_ITU_R_BT_470_SYSTEM_M = 4, VA_PRIMARIES_ITU_R_BT_470_SYSTEM_B_G = 5, VA_PRIMARIES_SMPTE_170M = 6, VA_PRIMARIES_SMPTE_240M = 7, VA_PRIMARIES_H264_GENERIC_FILM = 8 // Values in the range 9 to 255 are reserved by H.264. Values in // the range 8 to 255 are reserved by MPEG-2 video } VA_COLOR_PRIMARIES; typedef enum VA_TRANSFER_CHARACTERISTICS { // The value 0 is reserved by both MPEG-2 video and H.264 VA_TRANSFER_CHARACTERISTICS_ITU_R_BT_709 = 1, // Use the value below of the transfer characteristics // are unknown or non-standard: VA_TRANSFER_CHARACTERISTICS_UNSPECIFIED = 2, // The value 3 is reserved by both MPEG-2 video and H.264 VA_TRANSFER_CHARACTERISTICS_ITU_R_BT_470_SYSTEM_M = 4, VA_TRANSFER_CHARACTERISTICS_ITU_R_BT_470_SYSTEM_B_G = 5, VA_TRANSFER_CHARACTERISTICS_SMPTE_170M = 6, VA_TRANSFER_CHARACTERISTICS_SMPTE_240M = 7, VA_TRANSFER_CHARACTERISTICS_LINEAR = 8, VA_TRANSFER_CHARACTERISTICS_H264_LOG_100_TO_1 = 9, VA_TRANSFER_CHARACTERISTICS_H264_LOG_316_TO_1 = 10 // The values 11 to 255 are reserved by H.264. The values // 9 to 255 are reserved by MPEG-2 video. } VA_TRANSFER_CHARACTERISTICS; typedef enum VA_MATRIX_COEFFICIENTS { VA_MATRIX_COEFF_H264_RGB = 0, VA_MATRIX_COEFF_ITU_R_BT_709 = 1, // Use the value below if the matrix coefficients are // unknown or non-standard: VA_MATRIX_COEFF_UNSPECIFIED = 2, // The value 3 is reserved by both MPEG-2 video and H.264 VA_MATRIX_COEFF_FCC = 4, VA_MATRIX_COEFF_ITU_R_BT_470_SYSTEM_B_G = 5, VA_MATRIX_COEFF_SMPTE_170M = 6, VA_MATRIX_COEFF_SMPTE_240M = 7, VA_MATRIX_COEFF_H264_YCgCo = 8 // The values 9 to 255 are reserved by H.264. The values 8 to 255 // are reserved by MPEG-2 video. } VA_MATRIX_COEFFICIENTS; typedef struct VA_OPTIONAL_VIDEO_PROPERTIES { WORD dwPictureHeight ; WORD dwPictureWidth ; WORD dwAspectRatioX ; WORD dwAspectRatioY ; VA_VIDEO_FORMAT VAVideoFormat; VA_COLOR_PRIMARIES VAColorPrimaries; VA_TRANSFER_CHARACTERISTICS VATransferCharacteristics; VA_MATRIX_COEFFICIENTS VAMatrixCoefficients; } VA_OPTIONAL_VIDEO_PROPERTIES; // ------------------------------------------------------ // GUID: DSATTRIB_TRANSPORT_PROPERTIES // ------------------------------------------------------ typedef struct _TRANSPORT_PROPERTIES { ULONG PID ; REFERENCE_TIME PCR ; union { struct _Others { LONGLONG TransportScramblingControl : 8 , Reserved : 56 ; } Others ; LONGLONG Value ; } Fields ; } TRANSPORT_PROPERTIES ; // ------------------------------------------------------ // GUID: DSATTRIB_PBDATAG_ATTRIBUTE // ------------------------------------------------------ typedef struct _PBDA_TAG_ATTRIBUTE { GUID TableUUId ; BYTE TableId ; WORD VersionNo ; DWORD TableDataSize ; BYTE TableData [1] ; } PBDA_TAG_ATTRIBUTE ; // ------------------------------------------------------ // GUID: DSATTRIB_CAPTURE_STREAMTIME // ------------------------------------------------------ typedef struct _CAPTURE_STREAMTIME { REFERENCE_TIME StreamTime ; } CAPTURE_STREAMTIME ; // ------------------------------------------------------ // GUID: DSATTRIB_DSHOW_STREAM_DESC // ------------------------------------------------------ typedef struct _DSHOW_STREAM_DESC { DWORD VersionNo ; DWORD StreamId ; BOOL Default ; BOOL Creation ; DWORD Reserved ; } DSHOW_STREAM_DESC ; // ------------------------------------------------------ // GUID: DSATTRIB_SAMPLE_LIVE_STREAM_TIME // ------------------------------------------------------ typedef struct _SAMPLE_LIVE_STREAM_TIME{ ULONGLONG qwStreamTime; ULONGLONG qwLiveTime; }SAMPLE_LIVE_STREAM_TIME ; extern RPC_IF_HANDLE __MIDL_itf_dsattrib_0000_0002_v0_0_c_ifspec; extern RPC_IF_HANDLE __MIDL_itf_dsattrib_0000_0002_v0_0_s_ifspec; /* Additional Prototypes for ALL interfaces */ /* end of Additional Prototypes */ #ifdef __cplusplus } #endif #endif