⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mtype.h

📁 mediastreamer2是开源的网络传输媒体流的库
💻 H
字号:
//------------------------------------------------------------------------------// File: MtType.h//// Desc: DirectShow base classes - defines a class that holds and manages//       media type information.//// Copyright (c) Microsoft Corporation.  All rights reserved.//------------------------------------------------------------------------------#ifndef __MTYPE__#define __MTYPE__/* Helper class that derived pin objects can use to compare media   types etc. Has same data members as the struct AM_MEDIA_TYPE defined   in the streams IDL file, but also has (non-virtual) functions */class CMediaType : public _AMMediaType {public:    ~CMediaType();    CMediaType();    CMediaType(const GUID * majortype);    CMediaType(const AM_MEDIA_TYPE&, HRESULT* phr = NULL);    CMediaType(const CMediaType&, HRESULT* phr = NULL);    CMediaType& operator=(const CMediaType&);    CMediaType& operator=(const AM_MEDIA_TYPE&);    BOOL operator == (const CMediaType&) const;    BOOL operator != (const CMediaType&) const;    HRESULT Set(const CMediaType& rt);    HRESULT Set(const AM_MEDIA_TYPE& rt);    BOOL IsValid() const;    const GUID *Type() const { return &majortype;} ;    void SetType(const GUID *);    const GUID *Subtype() const { return &subtype;} ;    void SetSubtype(const GUID *);    BOOL IsFixedSize() const {return bFixedSizeSamples; };    BOOL IsTemporalCompressed() const {return bTemporalCompression; };    ULONG GetSampleSize() const;    void SetSampleSize(ULONG sz);    void SetVariableSize();    void SetTemporalCompression(BOOL bCompressed);    // read/write pointer to format - can't change length without    // calling SetFormat, AllocFormatBuffer or ReallocFormatBuffer    BYTE*   Format() const {return pbFormat; };    ULONG   FormatLength() const { return cbFormat; };    void SetFormatType(const GUID *);    const GUID *FormatType() const {return &formattype; };    BOOL SetFormat(BYTE *pFormat, ULONG length);    void ResetFormatBuffer();    BYTE* AllocFormatBuffer(ULONG length);    BYTE* ReallocFormatBuffer(ULONG length);    void InitMediaType();    BOOL MatchesPartial(const CMediaType* ppartial) const;    BOOL IsPartiallySpecified(void) const;};/* General purpose functions to copy and delete a task allocated AM_MEDIA_TYPE   structure which is useful when using the IEnumMediaFormats interface as   the implementation allocates the structures which you must later delete */void WINAPI DeleteMediaType(AM_MEDIA_TYPE *pmt);AM_MEDIA_TYPE * WINAPI CreateMediaType(AM_MEDIA_TYPE const *pSrc);HRESULT WINAPI CopyMediaType(AM_MEDIA_TYPE *pmtTarget, const AM_MEDIA_TYPE *pmtSource);void WINAPI FreeMediaType(AM_MEDIA_TYPE& mt);//  Initialize a media type from a WAVEFORMATEXSTDAPI CreateAudioMediaType(    const WAVEFORMATEX *pwfx,    AM_MEDIA_TYPE *pmt,    BOOL bSetFormat);#endif /* __MTYPE__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -