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

📄 mediatype.h

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 H
字号:
/*-------------------------------------------------------------------    AM_MEDIA_TYPE service functions declarations-------------------------------------------------------------------*/#ifndef DS_MEDIATYPE_H#define DS_MEDIATYPE_H#include "guids.h"                  typedef struct __attribute__((__packed__)) _MediaType{    GUID	majortype;		//0x0    GUID	subtype;		//0x10    int		bFixedSizeSamples;	//0x20    int		bTemporalCompression;	//0x24    unsigned long lSampleSize;		//0x28    GUID	formattype;		//0x2c    IUnknown*	pUnk;			//0x3c    unsigned long cbFormat;		//0x40    char*	pbFormat;		//0x44} AM_MEDIA_TYPE;/** * \brief print info from AM_MEDIA_TYPE structure * =param[in] label short lable for media type * \param[in] pmt pointer to AM_MEDIA_TYPE *  * routine used for debug purposes * */void DisplayMediaType(const char * label,const AM_MEDIA_TYPE* pmt);/** * \brief frees memory, pointed by pbFormat and pUnk members of AM_MEDIA_TYPE structure * * \param[in] pmt pointer to structure * * \note * routine does not frees memory allocated for AM_MEDIA_TYPE, so given pointer will be * valid after this routine call. * */void FreeMediaType(AM_MEDIA_TYPE* pmt);/** * \brief frees memory allocated for AM_MEDIA_TYPE structure, including pbFormat and pUnk *        members * * \param[in] pmt pointer to structure * * \note * after call to this routine, pointer to AM_MEDIA_TYPE will not be valid anymore * */void DeleteMediaType(AM_MEDIA_TYPE* pmt);/** * \brief copyies info from source to destination AM_MEDIA_TYPE structures * * \param[in] pSrc pointer to AM_MEDIA_TYPE structure to copy data from * \param[out] pDst pointer to AM_MEDIA_TYPE structure to copy data to * * \return S_OK - success * \return E_POINTER - pSrc or pDst is NULL or (pSrc->cbFormat && !pSrc->pbFormat) * \return E_INVALIDARG - (pSrc == pDst)  * \return E_OUTOFMEMORY - Insufficient memory * * \note * - pDst must point to existing AM_MEDIA_TYPE structure (all data will be overwritten) * - if pDst->pbFormat!=NULL this will cause memory leak (as described in Directshow SDK)! * */HRESULT CopyMediaType(AM_MEDIA_TYPE* pDst,const AM_MEDIA_TYPE* pSrc);/** * \brief allocates new AM_MEDIA_TYPE structure and fills it with info from given one * * \param[in] pSrc pointer to AM_MEDIA_TYPE structure to copy data from * * \return result code, returned from CopyMediaType * */AM_MEDIA_TYPE* CreateMediaType(const AM_MEDIA_TYPE* pSrc);/** * \brief compares two AM_MEDIA_TYPE structures for compatibility * * \param[in] pmt1 first  AM_MEDIA_TYPE structure for compare * \param[in] pmt2 second AM_MEDIA_TYPE structure for compare * \param[in] bWildcards 1 means that GUID_NULL of one structure will be compatible with any value of another structure * * \return 1 if structures are compatible * \return 0 if structures are not compatible * */int CompareMediaTypes(const AM_MEDIA_TYPE * pmt1, const AM_MEDIA_TYPE * pmt2, int bWildcards);#endif // DS_MEDIA_TYPE_H

⌨️ 快捷键说明

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