📄 wmsdkidl.h
字号:
{ WMT_PLAY_MODE_AUTOSELECT = 0, WMT_PLAY_MODE_LOCAL = 1, WMT_PLAY_MODE_DOWNLOAD = 2, WMT_PLAY_MODE_STREAMING = 3 } WMT_PLAY_MODE;typedef enum WMT_PROXY_SETTINGS { WMT_PROXY_SETTING_NONE = 0, WMT_PROXY_SETTING_MANUAL = 1, WMT_PROXY_SETTING_AUTO = 2, WMT_PROXY_SETTING_BROWSER = 3, WMT_PROXY_SETTING_MAX = WMT_PROXY_SETTING_BROWSER + 1 } WMT_PROXY_SETTINGS;typedef enum WMT_CODEC_INFO_TYPE { WMT_CODECINFO_AUDIO = 0, WMT_CODECINFO_VIDEO = 1, WMT_CODECINFO_UNKNOWN = 0xffffffff } WMT_CODEC_INFO_TYPE;enum __MIDL___MIDL_itf_wmsdkidl_0000_0004 { WM_DM_NOTINTERLACED = 0, WM_DM_DEINTERLACE_NORMAL = 1, WM_DM_DEINTERLACE_HALFSIZE = 2, WM_DM_DEINTERLACE_HALFSIZEDOUBLERATE = 3, WM_DM_DEINTERLACE_INVERSETELECINE = 4, WM_DM_DEINTERLACE_VERTICALHALFSIZEDOUBLERATE = 5 } ;enum __MIDL___MIDL_itf_wmsdkidl_0000_0005 { WM_DM_IT_DISABLE_COHERENT_MODE = 0, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_TOP = 1, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_TOP = 2, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_TOP = 3, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_TOP = 4, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_TOP = 5, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_AA_BOTTOM = 6, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BB_BOTTOM = 7, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_BC_BOTTOM = 8, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_CD_BOTTOM = 9, WM_DM_IT_FIRST_FRAME_IN_CLIP_IS_DD_BOTTOM = 10 } ;typedef enum tagWMT_OFFSET_FORMAT { WMT_OFFSET_FORMAT_100NS = 0, WMT_OFFSET_FORMAT_FRAME_NUMBERS = WMT_OFFSET_FORMAT_100NS + 1, WMT_OFFSET_FORMAT_PLAYLIST_OFFSET = WMT_OFFSET_FORMAT_FRAME_NUMBERS + 1, WMT_OFFSET_FORMAT_TIMECODE = WMT_OFFSET_FORMAT_PLAYLIST_OFFSET + 1, WMT_OFFSET_FORMAT_100NS_APPROXIMATE = WMT_OFFSET_FORMAT_TIMECODE + 1 } WMT_OFFSET_FORMAT;typedef enum tagWMT_INDEXER_TYPE { WMT_IT_PRESENTATION_TIME = 0, WMT_IT_FRAME_NUMBERS = WMT_IT_PRESENTATION_TIME + 1, WMT_IT_TIMECODE = WMT_IT_FRAME_NUMBERS + 1 } WMT_INDEXER_TYPE;typedef enum tagWMT_INDEX_TYPE { WMT_IT_NEAREST_DATA_UNIT = 1, WMT_IT_NEAREST_OBJECT = WMT_IT_NEAREST_DATA_UNIT + 1, WMT_IT_NEAREST_CLEAN_POINT = WMT_IT_NEAREST_OBJECT + 1 } WMT_INDEX_TYPE;typedef enum tagWMT_FILESINK_MODE { WMT_FM_SINGLE_BUFFERS = 0x1, WMT_FM_FILESINK_DATA_UNITS = 0x2, WMT_FM_FILESINK_UNBUFFERED = 0x4 } WMT_FILESINK_MODE;typedef enum tagWMT_MUSICSPEECH_CLASS_MODE { WMT_MS_CLASS_MUSIC = 0, WMT_MS_CLASS_SPEECH = 1, WMT_MS_CLASS_MIXED = 2 } WMT_MUSICSPEECH_CLASS_MODE;typedef enum tagWMT_WATERMARK_ENTRY_TYPE { WMT_WMETYPE_AUDIO = 1, WMT_WMETYPE_VIDEO = 2 } WMT_WATERMARK_ENTRY_TYPE;enum __MIDL___MIDL_itf_wmsdkidl_0000_0006 { WM_PLAYBACK_DRC_HIGH = 0, WM_PLAYBACK_DRC_MEDIUM = WM_PLAYBACK_DRC_HIGH + 1, WM_PLAYBACK_DRC_LOW = WM_PLAYBACK_DRC_MEDIUM + 1 } ;enum __MIDL___MIDL_itf_wmsdkidl_0000_0007 { WMT_TIMECODE_FRAMERATE_30 = 0, WMT_TIMECODE_FRAMERATE_30DROP = WMT_TIMECODE_FRAMERATE_30 + 1, WMT_TIMECODE_FRAMERATE_25 = WMT_TIMECODE_FRAMERATE_30DROP + 1, WMT_TIMECODE_FRAMERATE_24 = WMT_TIMECODE_FRAMERATE_25 + 1 } ;typedef enum WMT_CREDENTIAL_FLAGS { WMT_CREDENTIAL_SAVE = 0x1, WMT_CREDENTIAL_DONT_CACHE = 0x2, WMT_CREDENTIAL_CLEAR_TEXT = 0x4, WMT_CREDENTIAL_PROXY = 0x8, WMT_CREDENTIAL_ENCRYPT = 0x10 } WMT_CREDENTIAL_FLAGS;typedef enum WM_AETYPE { WM_AETYPE_INCLUDE = 0x69, WM_AETYPE_EXCLUDE = 0x65 } WM_AETYPE;#pragma pack(push)#pragma pack(2)typedef struct _WMStreamPrioritizationRecord { WORD wStreamNumber; BOOL fMandatory; } WM_STREAM_PRIORITY_RECORD;#pragma pack(pop)typedef struct _WMWriterStatistics { QWORD qwSampleCount; QWORD qwByteCount; QWORD qwDroppedSampleCount; QWORD qwDroppedByteCount; DWORD dwCurrentBitrate; DWORD dwAverageBitrate; DWORD dwExpectedBitrate; DWORD dwCurrentSampleRate; DWORD dwAverageSampleRate; DWORD dwExpectedSampleRate; } WM_WRITER_STATISTICS;typedef struct _WMWriterStatisticsEx { DWORD dwBitratePlusOverhead; DWORD dwCurrentSampleDropRateInQueue; DWORD dwCurrentSampleDropRateInCodec; DWORD dwCurrentSampleDropRateInMultiplexer; DWORD dwTotalSampleDropsInQueue; DWORD dwTotalSampleDropsInCodec; DWORD dwTotalSampleDropsInMultiplexer; } WM_WRITER_STATISTICS_EX;typedef struct _WMReaderStatistics { DWORD cbSize; DWORD dwBandwidth; DWORD cPacketsReceived; DWORD cPacketsRecovered; DWORD cPacketsLost; WORD wQuality; } WM_READER_STATISTICS;typedef struct _WMReaderClientInfo { DWORD cbSize; WCHAR *wszLang; WCHAR *wszBrowserUserAgent; WCHAR *wszBrowserWebPage; QWORD qwReserved; LPARAM *pReserved; WCHAR *wszHostExe; QWORD qwHostVersion; WCHAR *wszPlayerUserAgent; } WM_READER_CLIENTINFO;typedef struct _WMClientProperties { DWORD dwIPAddress; DWORD dwPort; } WM_CLIENT_PROPERTIES;typedef struct _WMClientPropertiesEx { DWORD cbSize; LPCWSTR pwszIPAddress; LPCWSTR pwszPort; LPCWSTR pwszDNSName; } WM_CLIENT_PROPERTIES_EX;typedef struct _WMPortNumberRange { WORD wPortBegin; WORD wPortEnd; } WM_PORT_NUMBER_RANGE;typedef struct _WMT_BUFFER_SEGMENT { INSSBuffer *pBuffer; DWORD cbOffset; DWORD cbLength; } WMT_BUFFER_SEGMENT;typedef struct _WMT_PAYLOAD_FRAGMENT { DWORD dwPayloadIndex; WMT_BUFFER_SEGMENT segmentData; } WMT_PAYLOAD_FRAGMENT;typedef struct _WMT_FILESINK_DATA_UNIT { WMT_BUFFER_SEGMENT packetHeaderBuffer; DWORD cPayloads; WMT_BUFFER_SEGMENT *pPayloadHeaderBuffers; DWORD cPayloadDataFragments; WMT_PAYLOAD_FRAGMENT *pPayloadDataFragments; } WMT_FILESINK_DATA_UNIT;typedef struct _WMT_WEBSTREAM_FORMAT { WORD cbSize; WORD cbSampleHeaderFixedData; WORD wVersion; WORD wReserved; } WMT_WEBSTREAM_FORMAT;typedef struct _WMT_WEBSTREAM_SAMPLE_HEADER { WORD cbLength; WORD wPart; WORD cTotalParts; WORD wSampleType; WCHAR wszURL[ 1 ]; } WMT_WEBSTREAM_SAMPLE_HEADER;typedef struct _WMAddressAccessEntry { DWORD dwIPAddress; DWORD dwMask; } WM_ADDRESS_ACCESSENTRY;#pragma pack(push)#pragma pack(1)typedef struct _WMPicture { LPWSTR pwszMIMEType; BYTE bPictureType; LPWSTR pwszDescription; DWORD dwDataLen; BYTE *pbData; } WM_PICTURE;typedef struct _WMSynchronisedLyrics { BYTE bTimeStampFormat; BYTE bContentType; LPWSTR pwszContentDescriptor; DWORD dwLyricsLen; BYTE *pbLyrics; } WM_SYNCHRONISED_LYRICS;typedef struct _WMUserWebURL { LPWSTR pwszDescription; LPWSTR pwszURL; } WM_USER_WEB_URL;typedef struct _WMUserText { LPWSTR pwszDescription; LPWSTR pwszText; } WM_USER_TEXT;typedef struct _WMLeakyBucketPair { DWORD dwBitrate; DWORD msBufferWindow; } WM_LEAKY_BUCKET_PAIR;typedef struct _WMStreamTypeInfo { GUID guidMajorType; DWORD cbFormat; } WM_STREAM_TYPE_INFO;#pragma pack(pop)typedef struct _WM_LICENSE_STATE_DATA { DWORD dwSize; DWORD dwNumStates; DRM_LICENSE_STATE_DATA stateData[ 1 ]; } WM_LICENSE_STATE_DATA;typedef struct __WMT_WATERMARK_ENTRY { WMT_WATERMARK_ENTRY_TYPE wmetType; CLSID clsid; UINT cbDisplayName; LPWSTR pwszDisplayName; } WMT_WATERMARK_ENTRY;#define WMT_VIDEOIMAGE_SAMPLE_INPUT_FRAME 1 // sample has input frame #define WMT_VIDEOIMAGE_SAMPLE_OUTPUT_FRAME 2 // sample produces output frame #define WMT_VIDEOIMAGE_SAMPLE_USES_CURRENT_INPUT_FRAME 4 #define WMT_VIDEOIMAGE_SAMPLE_USES_PREVIOUS_INPUT_FRAME 8 #define WMT_VIDEOIMAGE_SAMPLE_MOTION 1 // acef used (includes resizing) #define WMT_VIDEOIMAGE_SAMPLE_ROTATION 2 // bd also used (not valid without acef) #define WMT_VIDEOIMAGE_SAMPLE_BLENDING 4 // BlendCoef1 used #define WMT_VIDEOIMAGE_SAMPLE_ADV_BLENDING 8 // BlendCoef2 also used (not valid without BlendCoef1) #define WMT_VIDEOIMAGE_INTEGER_DENOMINATOR 65536L #define WMT_VIDEOIMAGE_MAGIC_NUMBER 0x1d4a45f2 #define WMT_VIDEOIMAGE_MAGIC_NUMBER_2 0x1d4a45f3 typedef struct __WMT_VIDEOIMAGE_SAMPLE { DWORD dwMagic; ULONG cbStruct; DWORD dwControlFlags; DWORD dwInputFlagsCur; LONG lCurMotionXtoX; LONG lCurMotionYtoX; LONG lCurMotionXoffset; LONG lCurMotionXtoY; LONG lCurMotionYtoY; LONG lCurMotionYoffset; LONG lCurBlendCoef1; LONG lCurBlendCoef2; DWORD dwInputFlagsPrev; LONG lPrevMotionXtoX; LONG lPrevMotionYtoX; LONG lPrevMotionXoffset; LONG lPrevMotionXtoY; LONG lPrevMotionYtoY; LONG lPrevMotionYoffset; LONG lPrevBlendCoef1; LONG lPrevBlendCoef2; } WMT_VIDEOIMAGE_SAMPLE;#define WMT_VIDEOIMAGE_TRANSITION_BOW_TIE 11#define WMT_VIDEOIMAGE_TRANSITION_CIRCLE 12#define WMT_VIDEOIMAGE_TRANSITION_CROSS_FADE 13#define WMT_VIDEOIMAGE_TRANSITION_DIAGONAL 14#define WMT_VIDEOIMAGE_TRANSITION_DIAMOND 15#define WMT_VIDEOIMAGE_TRANSITION_FADE_TO_COLOR 16#define WMT_VIDEOIMAGE_TRANSITION_FILLED_V 17#define WMT_VIDEOIMAGE_TRANSITION_FLIP 18#define WMT_VIDEOIMAGE_TRANSITION_INSET 19#define WMT_VIDEOIMAGE_TRANSITION_IRIS 20#define WMT_VIDEOIMAGE_TRANSITION_PAGE_ROLL 21#define WMT_VIDEOIMAGE_TRANSITION_RECTANGLE 23#define WMT_VIDEOIMAGE_TRANSITION_REVEAL 24#define WMT_VIDEOIMAGE_TRANSITION_SLIDE 27#define WMT_VIDEOIMAGE_TRANSITION_SPLIT 29#define WMT_VIDEOIMAGE_TRANSITION_STAR 30#define WMT_VIDEOIMAGE_TRANSITION_WHEEL 31typedef struct __WMT_VIDEOIMAGE_SAMPLE2 { DWORD dwMagic; DWORD dwStructSize; DWORD dwControlFlags; DWORD dwViewportWidth; DWORD dwViewportHeight; DWORD dwCurrImageWidth; DWORD dwCurrImageHeight; FLOAT fCurrRegionX0; FLOAT fCurrRegionY0; FLOAT fCurrRegionWidth; FLOAT fCurrRegionHeight; FLOAT fCurrBlendCoef; DWORD dwPrevImageWidth; DWORD dwPrevImageHeight; FLOAT fPrevRegionX0; FLOAT fPrevRegionY0; FLOAT fPrevRegionWidth; FLOAT fPrevRegionHeight; FLOAT fPrevBlendCoef; DWORD dwEffectType; DWORD dwNumEffectParas; FLOAT fEffectPara0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -