您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ FreeMediaType函数代码示例

51自学网 2021-06-01 20:48:43
  C++
这篇教程C++ FreeMediaType函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中FreeMediaType函数的典型用法代码示例。如果您正苦于以下问题:C++ FreeMediaType函数的具体用法?C++ FreeMediaType怎么用?C++ FreeMediaType使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了FreeMediaType函数的25个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: IEnumMediaTypesImpl_Reset

static HRESULT WINAPI IEnumMediaTypesImpl_Reset(IEnumMediaTypes * iface){    ULONG i;    AM_MEDIA_TYPE amt;    IEnumMediaTypesImpl *This = impl_from_IEnumMediaTypes(iface);    TRACE("(%p)->()/n", iface);    for (i = 0; i < This->enumMediaDetails.cMediaTypes; i++)        FreeMediaType(&This->enumMediaDetails.pMediaTypes[i]);    CoTaskMemFree(This->enumMediaDetails.pMediaTypes);    i = 0;    while (This->enumMediaFunction(This->basePin, i, &amt) == S_OK) i++;    This->enumMediaDetails.cMediaTypes = i;    This->enumMediaDetails.pMediaTypes = CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE) * i);    for (i = 0; i < This->enumMediaDetails.cMediaTypes; i++)    {        This->enumMediaFunction(This->basePin, i,&amt);        if (FAILED(CopyMediaType(&This->enumMediaDetails.pMediaTypes[i], &amt)))        {            while (i--)                FreeMediaType(&This->enumMediaDetails.pMediaTypes[i]);            CoTaskMemFree(This->enumMediaDetails.pMediaTypes);            return E_OUTOFMEMORY;        }    }    This->currentVersion = This->mediaVersionFunction(This->basePin);    This->uIndex = 0;    return S_OK;}
开发者ID:mvardan,项目名称:ros-svn-mirror,代码行数:34,


示例2: ACMWrapper_SetMediaType

static HRESULT WINAPI ACMWrapper_SetMediaType(TransformFilter *tf, PIN_DIRECTION dir, const AM_MEDIA_TYPE * pmt){    ACMWrapperImpl* This = impl_from_TransformFilter(tf);    MMRESULT res;    TRACE("(%p)->(%i %p)/n", This, dir, pmt);    if (dir != PINDIR_INPUT)        return S_OK;    /* Check root (GUID w/o FOURCC) */    if ((IsEqualIID(&pmt->majortype, &MEDIATYPE_Audio)) &&        (!memcmp(((const char *)&pmt->subtype)+4, ((const char *)&MEDIATYPE_Audio)+4, sizeof(GUID)-4)) &&        (IsEqualIID(&pmt->formattype, &FORMAT_WaveFormatEx)))    {        HACMSTREAM drv;        WAVEFORMATEX *wfx = (WAVEFORMATEX*)pmt->pbFormat;        AM_MEDIA_TYPE* outpmt = &This->tf.pmt;        if (!wfx || wfx->wFormatTag == WAVE_FORMAT_PCM || wfx->wFormatTag == WAVE_FORMAT_EXTENSIBLE)            return VFW_E_TYPE_NOT_ACCEPTED;        FreeMediaType(outpmt);        This->pWfIn = (LPWAVEFORMATEX)pmt->pbFormat;	/* HACK */	/* TRACE("ALIGN = %d/n", pACMWrapper->pWfIn->nBlockAlign); */	/* pACMWrapper->pWfIn->nBlockAlign = 1; */	/* Set output audio data to PCM */        CopyMediaType(outpmt, pmt);        outpmt->subtype.Data1 = WAVE_FORMAT_PCM;	This->pWfOut = (WAVEFORMATEX*)outpmt->pbFormat;	This->pWfOut->wFormatTag = WAVE_FORMAT_PCM;	This->pWfOut->wBitsPerSample = 16;	This->pWfOut->nBlockAlign = This->pWfOut->wBitsPerSample * This->pWfOut->nChannels / 8;	This->pWfOut->cbSize = 0;	This->pWfOut->nAvgBytesPerSec = This->pWfOut->nChannels * This->pWfOut->nSamplesPerSec						* (This->pWfOut->wBitsPerSample/8);        if (!(res = acmStreamOpen(&drv, NULL, This->pWfIn, This->pWfOut, NULL, 0, 0, 0)))        {            This->has = drv;            TRACE("Connection accepted/n");            return S_OK;        }	else	    FIXME("acmStreamOpen returned %d/n", res);        FreeMediaType(outpmt);        TRACE("Unable to find a suitable ACM decompressor/n");    }    TRACE("Connection refused/n");    return VFW_E_TYPE_NOT_ACCEPTED;}
开发者ID:AmesianX,项目名称:wine,代码行数:56,


示例3: msg_Dbg

CapturePin::~CapturePin(){#ifdef DEBUG_DSHOW    msg_Dbg( p_input, "CapturePin::~CapturePin" );#endif    for( size_t c=0; c<media_type_count; c++ )    {        FreeMediaType(media_types[c]);    }    FreeMediaType(cx_media_type);}
开发者ID:cmassiot,项目名称:vlc-broadcast,代码行数:11,


示例4: ATLTRACE

SampleCapturePin::~SampleCapturePin(){#ifdef DEBUG_DSHOW    ATLTRACE(  "SampleCapturePin::~SampleCapturePin" );#endif    for( size_t c=0; c<media_type_count; c++ )    {        FreeMediaType(media_types[c]);    }	free(media_types);	media_types = NULL;    FreeMediaType(cx_media_type);	DeleteCriticalSection(&m_mylock);}
开发者ID:mason105,项目名称:red5cpp,代码行数:14,


示例5: GetFrameSize

HRESULT __fastcall GetFrameSize(IPin* pPin, LONG* plWidth, LONG* plHeight){HRESULT hr;	if(!pPin || !plWidth || !plHeight)		return E_POINTER;	*plWidth = *plHeight = 0;	AM_MEDIA_TYPE mt;	hr = pPin->ConnectionMediaType(&mt);	if(SUCCEEDED(hr))	{		if(FORMAT_VideoInfo==mt.formattype)        {			VIDEOINFOHEADER *pVih = reinterpret_cast<VIDEOINFOHEADER*>(mt.pbFormat);			if(pVih)			{				*plWidth  = pVih->bmiHeader.biWidth;				*plHeight = pVih->bmiHeader.biHeight;			}		}		else		{			hr = VFW_E_UNSUPPORTED_STREAM;		}		FreeMediaType(mt);	}	return hr;}
开发者ID:Erls-Corporation,项目名称:webinaria-source,代码行数:28,


示例6: _T

void CTextInfoForm::DoPinDetails(GraphStudio::Pin *pin, int level, int offset){	CString		ofs, t, f;	for (int i=0; i<offset; i++) ofs += _T(" ");	AM_MEDIA_TYPE	mt;	HRESULT hr = pin->pin->ConnectionMediaType(&mt);	if (SUCCEEDED(hr)) {		GraphStudio::NameGuid(mt.majortype,  f);			t = _T("Major:   ") + f;		Echo(ofs+t);		GraphStudio::NameGuid(mt.subtype,    f);			t = _T("Subtype: ") + f;		Echo(ofs+t);		// parse one level deeper		if (level > 1) {			DoMediaTypeDetails(&mt, level, offset+4);		}		GraphStudio::NameGuid(mt.formattype, f);			t = _T("Format:  ") + f;		Echo(ofs+t);		if (level > 2) {			// parse format			if (mt.formattype == FORMAT_WaveFormatEx) DoWaveFormatEx(&mt, level, offset); else			if (mt.formattype == FORMAT_VideoInfo2) DoVideoInfo2(&mt, level, offset); else			if (mt.formattype == FORMAT_VideoInfo) DoVideoInfo(&mt, level, offset); else			if (mt.formattype == FORMAT_MPEG2_VIDEO) DoMPEG2VideoInfo(&mt, level, offset);		}		Echo(_T(""));		FreeMediaType(mt);	}}
开发者ID:CyberShadow,项目名称:graphstudio,代码行数:33,


示例7: InitCaptureGraphBuilder

HRESULT CCaptureVideo::Open(int iDeviceID,int iPress){	HRESULT hr;	hr = InitCaptureGraphBuilder();	if (FAILED(hr)){		return hr;	}	// Bind Device Filter. We know the device because the id was passed in	if(!BindVideoFilter(iDeviceID, &m_pBF))		return S_FALSE;		hr = m_pGB->AddFilter(m_pBF, L"Capture Filter");		// create a sample grabber	hr = CoCreateInstance( CLSID_SampleGrabber, NULL, CLSCTX_INPROC_SERVER, IID_ISampleGrabber, (void**)&m_pGrabber );	if(FAILED(hr)){		return hr;	   }	CComQIPtr< IBaseFilter, &IID_IBaseFilter > pGrabBase( m_pGrabber );//设置视频格式	AM_MEDIA_TYPE mt; 	ZeroMemory(&mt, sizeof(AM_MEDIA_TYPE));	mt.majortype = MEDIATYPE_Video;	mt.subtype = MEDIASUBTYPE_RGB24; // MEDIASUBTYPE_RGB24 ; 	hr = m_pGrabber->SetMediaType(&mt);			 if( FAILED( hr ) ){				 return hr;			 }			 hr = m_pGB->AddFilter( pGrabBase, L"Grabber" );             if( FAILED( hr ) ){				 return hr;			 }// try to render preview/capture pin			 hr = m_pCapture->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video,m_pBF,pGrabBase,NULL);			 if( FAILED( hr ) )				 hr = m_pCapture->RenderStream(&PIN_CATEGORY_CAPTURE, &MEDIATYPE_Video,m_pBF,pGrabBase,NULL);    			 if( FAILED( hr ) ){				 return hr;			 }			 hr = m_pGrabber->GetConnectedMediaType( &mt );			 if ( FAILED( hr) ){				 return hr;			 }VIDEOINFOHEADER * vih = (VIDEOINFOHEADER*) mt.pbFormat;			 mCB.lWidth = vih->bmiHeader.biWidth;			 mCB.lHeight = vih->bmiHeader.biHeight;			 mCB.bGrabVideo = FALSE ; 			 //mCB.frame_handler = NULL ; 			 FreeMediaType(mt);			 hr = m_pGrabber->SetBufferSamples( FALSE );			 hr = m_pGrabber->SetOneShot( FALSE );			 //设置视频捕获回调函数 也就是如果有视频数据时就会调用这个类的BufferCB函数			 //返回OnTimer			 hr = m_pGrabber->SetCallback( &mCB, 1 ); 			 //设置视频捕捉窗口			 m_hWnd = CreateWindow("#32770", /* Dialog */ "", WS_POPUP, 0, 0, 0, 0, NULL, NULL, NULL, NULL);			 SetupVideoWindow();			 hr = m_pMC->Run();//开始视频捕捉			 if(FAILED(hr)){				 //AfxMessageBox("Couldn’t run the graph!");return hr;			 }			 return S_OK;}
开发者ID:Fluray,项目名称:gh0st-----,代码行数:60,


示例8: FreeMediaType

HRESULT VideoCapture::GetMediaType(){        AM_MEDIA_TYPE mt;        HRESULT hr = m_pGrabber->GetConnectedMediaType(&mt);        if (FAILED(hr)) {                FreeMediaType(mt);                return hr;        }                memcpy(&m_BmiHeader, &((VIDEOINFOHEADER *)mt.pbFormat)->bmiHeader, sizeof(BITMAPINFOHEADER));        if (m_pFrameData != 0) delete[] m_pFrameData;        m_pFrameData = new BYTE[m_BmiHeader.biSizeImage];        FreeMediaType(mt);        return hr;}
开发者ID:dunghand,项目名称:msrds,代码行数:16,


示例9: DSoundRender_PrepareReceive

static HRESULT WINAPI DSoundRender_PrepareReceive(BaseRenderer *iface, IMediaSample *pSample){    DSoundRenderImpl *This = impl_from_BaseRenderer(iface);    HRESULT hr;    AM_MEDIA_TYPE *amt;    if (IMediaSample_GetMediaType(pSample, &amt) == S_OK)    {        AM_MEDIA_TYPE *orig = &This->renderer.pInputPin->pin.mtCurrent;        WAVEFORMATEX *origfmt = (WAVEFORMATEX *)orig->pbFormat;        WAVEFORMATEX *newfmt = (WAVEFORMATEX *)amt->pbFormat;        if (origfmt->wFormatTag == newfmt->wFormatTag &&            origfmt->nChannels == newfmt->nChannels &&            origfmt->nBlockAlign == newfmt->nBlockAlign &&            origfmt->wBitsPerSample == newfmt->wBitsPerSample &&            origfmt->cbSize ==  newfmt->cbSize)        {            if (origfmt->nSamplesPerSec != newfmt->nSamplesPerSec)            {                hr = IDirectSoundBuffer_SetFrequency(This->dsbuffer,                                                     newfmt->nSamplesPerSec);                if (FAILED(hr))                    return VFW_E_TYPE_NOT_ACCEPTED;                FreeMediaType(orig);                CopyMediaType(orig, amt);                IMediaSample_SetMediaType(pSample, NULL);            }        }        else            return VFW_E_TYPE_NOT_ACCEPTED;    }    return S_OK;}
开发者ID:reactos,项目名称:reactos,代码行数:34,


示例10: CoTaskMemAlloc

bool Misc::SetStreamConfigData(AM_MEDIA_TYPE *pMT,                               BYTE *pMediaHex, int inMediaSize,                               BYTE *pVideoHeaderHex, int inVideoHeaderSize){   int mediaSize = inMediaSize / 2;   int videoHeaderSize = inVideoHeaderSize / 2;   if (mediaSize != sizeof AM_MEDIA_TYPE)      return false;   LPVOID pNewVideoHeader = NULL;   if (videoHeaderSize > 0)   {      pNewVideoHeader = CoTaskMemAlloc(videoHeaderSize);      if (pNewVideoHeader)      {         Make8Bit((char *) pVideoHeaderHex, (char *) pNewVideoHeader, inVideoHeaderSize);      }      else         return false;   }   // Release any previously allocated format tag   FreeMediaType(*pMT);   Make8Bit((char *) pMediaHex, (char *) pMT, inMediaSize);   pMT->pbFormat = (BYTE *) pNewVideoHeader; // may be NULL under certain circumstances   return true;}
开发者ID:identity0815,项目名称:os45,代码行数:28,


示例11: Parser_OutputPin_Release

static ULONG WINAPI Parser_OutputPin_Release(IPin * iface){    Parser_OutputPin *This = (Parser_OutputPin *)iface;    ULONG refCount = InterlockedDecrement(&This->pin.pin.refCount);        TRACE("(%p)->() Release from %d/n", iface, refCount + 1);    if (!refCount)    {        FreeMediaType(This->pmt);        CoTaskMemFree(This->pmt);        FreeMediaType(&This->pin.pin.mtCurrent);        CoTaskMemFree(This);        return 0;    }    return refCount;}
开发者ID:mgriepentrog,项目名称:wine,代码行数:17,


示例12: COutputPin_Destroy

/** * /brief COutputPin destructor * * /param[in]  This pointer to COutputPin class * */static void COutputPin_Destroy(COutputPin* This){    free(This->mempin->vt);    free(This->mempin);    free(This->vt);    FreeMediaType(&(This->type));    free(This);}
开发者ID:Newbleeto,项目名称:mplayer2,代码行数:14,


示例13: Clear

	inline void Clear()	{		if (ptr) {			FreeMediaType(*ptr);			CoTaskMemFree(ptr);			ptr = nullptr;		}	}
开发者ID:devgopher,项目名称:Isotoxin,代码行数:8,


示例14: DeleteMediaType

void DeleteMediaType(AM_MEDIA_TYPE *pmt){	if (pmt)	{		FreeMediaType(*pmt);		CoTaskMemFree(pmt);	}}
开发者ID:eaglezhao,项目名称:tracnghiemweb,代码行数:8,


示例15: CheckPointer

HRESULT RtspSourcePin::GetMediaType(CMediaType* pMediaType){    // We only support one MediaType - the one that is streamed    CheckPointer(pMediaType, E_POINTER);    CAutoLock cAutoLock(m_pFilter->pStateLock());    FreeMediaType(*pMediaType);    return CopyMediaType(pMediaType, &_mediaType);}
开发者ID:allweax,项目名称:RtspSourceFilter,代码行数:8,


示例16: FreeMediaType

CMediaType&CMediaType::operator=(const AM_MEDIA_TYPE& rt){    if (&rt != this) {        FreeMediaType(*this);        CopyMediaType(this, &rt);    }    return *this;}
开发者ID:DragonZX,项目名称:fdm2,代码行数:9,


示例17: ACMWrapper_ConnectInput

static HRESULT ACMWrapper_ConnectInput(TransformFilterImpl* pTransformFilter, const AM_MEDIA_TYPE * pmt){    ACMWrapperImpl* This = (ACMWrapperImpl*)pTransformFilter;    MMRESULT res;    TRACE("(%p)->(%p)/n", This, pmt);    if ((IsEqualIID(&pmt->majortype, &MEDIATYPE_Audio)) &&        (!memcmp(((char*)&pmt->subtype)+4, ((char*)&MEDIATYPE_Audio)+4, sizeof(GUID)-4)) && /* Check root (GUID w/o FOURCC) */        (IsEqualIID(&pmt->formattype, &FORMAT_WaveFormatEx)))    {        HACMSTREAM drv;        AM_MEDIA_TYPE* outpmt = &((OutputPin*)This->tf.ppPins[1])->pin.mtCurrent;        This->pWfIn = (LPWAVEFORMATEX)pmt->pbFormat;	/* HACK */	/* TRACE("ALIGN = %d/n", pACMWrapper->pWfIn->nBlockAlign); */	/* pACMWrapper->pWfIn->nBlockAlign = 1; */	/* Set output audio data to PCM */        CopyMediaType(outpmt, pmt);        outpmt->subtype.Data1 = WAVE_FORMAT_PCM;	This->pWfOut = (WAVEFORMATEX*)outpmt->pbFormat;	This->pWfOut->wFormatTag = WAVE_FORMAT_PCM;	This->pWfOut->wBitsPerSample = 16;	This->pWfOut->nBlockAlign = 4;	This->pWfOut->cbSize = 0;	This->pWfOut->nAvgBytesPerSec = This->pWfOut->nChannels * This->pWfOut->nSamplesPerSec						* (This->pWfOut->wBitsPerSample/8);        if (!(res = acmStreamOpen(&drv, NULL, This->pWfIn, This->pWfOut, NULL, 0, 0, 0)))        {            This->has = drv;	    if ((res = acmStreamSize(drv, OUTPUT_BUFFER_SIZE, &This->max_size, ACM_STREAMSIZEF_DESTINATION))) {		ERR("Cannot retrieve input buffer size error %d!/n", res);		This->max_size = INPUT_BUFFER_SIZE;	    }	    TRACE("input buffer size %ld/n", This->max_size);            /* Update buffer size of media samples in output */            ((OutputPin*)This->tf.ppPins[1])->allocProps.cbBuffer = OUTPUT_BUFFER_SIZE;	                TRACE("Connection accepted/n");            return S_OK;        }	else	    FIXME("acmStreamOpen returned %d/n", res);        FreeMediaType(outpmt);        TRACE("Unable to find a suitable ACM decompressor/n");    }    TRACE("Connection refused/n");    return S_FALSE;}
开发者ID:howard5888,项目名称:wineT,代码行数:56,


示例18: CMediaSample_Destroy

/** * /brief CMediaSample destructor * * /param[in] This pointer to CMediaSample object * */void CMediaSample_Destroy(CMediaSample* This){    Debug printf("CMediaSample_Destroy(%p) called (ref:%d)/n", This, This->refcount);    free(This->vt);    free(This->own_block);    if(((CMediaSample*)This)->type_valid)	FreeMediaType(&(This->media_type));    free(This);}
开发者ID:Gamer125,项目名称:wiibrowser,代码行数:16,


示例19: SetInputMediaType

BOOL SetInputMediaType(ASF_FILE_INFO* pInfo){	WAVEFORMATEX* pwf;	DMO_MEDIA_TYPE mt ={0};	if (InitMediaType(&mt, pInfo->dwFormat) != S_OK)		return FALSE;	pwf = (WAVEFORMATEX*)pInfo->pbFormat;	memcpy(mt.pbFormat, pInfo->pbFormat, pInfo->dwFormat);	mt.majortype = MEDIATYPE_Audio;	mt.subtype = MEDIASUBTYPE_AudioBase;	mt.subtype.Data1 = pwf->wFormatTag;	mt.formattype = FORMAT_WaveFormatEx;	mt.bTemporalCompression = 0;	mt.bFixedSizeSamples = 1;	mt.lSampleSize = 0;	if (pInfo->pMediaObject->SetInputType(0, &mt, 0) != S_OK) {#ifdef _WIN32_WCE		// from TCPMP		if (pwf->wFormatTag == WAVE_FORMAT_WMA8 && pwf->cbSize == 10) {			LPBYTE pb = mt.pbFormat + sizeof(WAVEFORMATEX);			memset(pb, 0, pwf->cbSize);			memcpy(pb + 2, pwf + 1, 6);			if (pInfo->pMediaObject->SetInputType(0, &mt, 0) != S_OK) {				FreeMediaType(&mt);				return FALSE;			}		}		else {			FreeMediaType(&mt);			return FALSE;		}#else		FreeMediaType(&mt);		return FALSE;#endif	}	FreeMediaType(&mt);	return TRUE;}
开发者ID:dps123,项目名称:nitrogenS100,代码行数:42,


示例20: DeleteMediaType

void WINAPI DeleteMediaType(AM_MEDIA_TYPE *pmt){    // allow NULL pointers for coding simplicity    if (pmt == NULL) {        return;    }    FreeMediaType(*pmt);    CoTaskMemFree((PVOID)pmt);}
开发者ID:9crk,项目名称:EasyClient,代码行数:11,


示例21: SetOutputMediaType

BOOL SetOutputMediaType(ASF_FILE_INFO* pInfo){	WAVEFORMATEX* pwfIn;	WAVEFORMATEX* pwfOut;	DMO_MEDIA_TYPE mt;	if (InitMediaType(&mt, sizeof(WAVEFORMATEX)) != S_OK)		return FALSE;	pwfIn = (WAVEFORMATEX*)pInfo->pbFormat;	pwfOut = (WAVEFORMATEX*)mt.pbFormat;	pwfOut->wFormatTag = WAVE_FORMAT_PCM;	pwfOut->nChannels = pwfIn->nChannels;	pwfOut->nSamplesPerSec = pwfIn->nSamplesPerSec;	pwfOut->wBitsPerSample = pwfIn->wBitsPerSample;	pwfOut->nAvgBytesPerSec = pwfOut->wBitsPerSample * pwfOut->nSamplesPerSec * pwfOut->nChannels / 8;	pwfOut->nBlockAlign = pwfOut->wBitsPerSample * pwfOut->nChannels / 8;	pwfOut->cbSize = 0;	mt.majortype = MEDIATYPE_Audio;	mt.subtype = MEDIASUBTYPE_PCM;	mt.formattype = FORMAT_WaveFormatEx;	mt.bTemporalCompression = 0;	mt.bFixedSizeSamples = 1;	mt.lSampleSize = 0;	if (pInfo->pMediaObject->SetOutputType(0, &mt, 0) != S_OK) {		FreeMediaType(&mt);		return FALSE;	}	pInfo->pmbOut = new CMediaBuffer(pwfOut->nAvgBytesPerSec * 2);	if (!pInfo->pmbOut) {		FreeMediaType(&mt);		return FALSE;	}		FreeMediaType(&mt);	return TRUE;}
开发者ID:dps123,项目名称:nitrogenS100,代码行数:40,


示例22: FreeMediaType

HRESULTCMediaType::Set(const AM_MEDIA_TYPE& rt){    if (&rt != this) {        FreeMediaType(*this);        HRESULT hr = CopyMediaType(this, &rt);        if (FAILED(hr)) {            return E_OUTOFMEMORY;        }    }    return S_OK;    }
开发者ID:9crk,项目名称:EasyClient,代码行数:13,


示例23: StdMediaSample2_SetMediaType

static HRESULT WINAPI StdMediaSample2_SetMediaType(IMediaSample2 * iface, AM_MEDIA_TYPE * pMediaType){    StdMediaSample2 *This = (StdMediaSample2 *)iface;    TRACE("(%p)/n", pMediaType);    if (This->props.pMediaType)        FreeMediaType(This->props.pMediaType);    else if (!(This->props.pMediaType = CoTaskMemAlloc(sizeof(AM_MEDIA_TYPE))))        return E_OUTOFMEMORY;    return CopyMediaType(This->props.pMediaType, pMediaType);}
开发者ID:howard5888,项目名称:wineT,代码行数:13,


示例24: CMediaSample_SetMediaType

/** * /brief IMediaType::SetMediaType (specifies media type for sample) * * /param[in] This pointer to CMediaSample object * /param[in] pMediaType pointer to AM_MEDIA_TYPE specifies new media type * * /return S_OK success * /return E_OUTOFMEMORY insufficient memory * */static HRESULT STDCALL CMediaSample_SetMediaType(IMediaSample * This,						 AM_MEDIA_TYPE *pMediaType){    AM_MEDIA_TYPE* t;    Debug printf("CMediaSample_SetMediaType(%p) called/n", This);    if (!pMediaType)	return E_INVALIDARG;    t = &((CMediaSample*)This)->media_type;    if(((CMediaSample*)This)->type_valid)	FreeMediaType(t);    CopyMediaType(t,pMediaType);    ((CMediaSample*) This)->type_valid=1;    return 0;}
开发者ID:Gamer125,项目名称:wiibrowser,代码行数:25,


示例25: FreeMediaType

STDMETHODIMP CapturePin::QueryAccept(const AM_MEDIA_TYPE *pmt){    if(pmt->majortype != expectedMajorType)        return S_FALSE;    if(!IsValidMediaType(pmt))        return S_FALSE;    if(connectedPin)    {        FreeMediaType(connectedMediaType);        CopyMediaType(&connectedMediaType, pmt);    }    return S_OK;}
开发者ID:wwllww,项目名称:LiveStream_MultiIntance,代码行数:15,



注:本文中的FreeMediaType函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ FreeNode函数代码示例
C++ FreeLibrary函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。