www.pudn.com > filterasfmuxer_2008_01_23.rar > CVideoInputPin.cpp


// 
// CVideoInputPin.cpp 
//  
/** 
 ** Copyright (C) 2005 EnjoyView Inc., all rights reserved. 
 **           Your View, Our Passion. Just Enjoy It! 
 ** 
 **            http://spaces.msn.com/members/jemylu 
 ** 
 **/ 
 
/*************************************************************************/ 
 
#include  
#include "CVideoInputPin.h" 
#include "CFilterASFMuxer.h" 
 
 
 
//////////////////////////////////////////////////////////////////////////// 
CVideoInputPin::CVideoInputPin(CFilterASFMuxer *pFilter, HRESULT *phr, 
							   LPCWSTR pPinName) : 
CXRenderedPin(pFilter, phr, pPinName, NAME("Video Input")) 
{ 
} 
 
CVideoInputPin::~CVideoInputPin() 
{ 
} 
 
HRESULT CVideoInputPin::ReceiveXSample(IMediaSample * pSample) 
{ 
	return mFilter->ReceiveVideo(pSample); 
} 
 
HRESULT CVideoInputPin::CheckMediaType(const CMediaType * inMediaType) 
{ 
	CheckPointer(inMediaType,E_POINTER); 
 
	if (inMediaType->majortype == MEDIATYPE_Video && 
		(inMediaType->formattype == FORMAT_VideoInfo || 
		inMediaType->formattype == FORMAT_MPEG2Video)) 
	{ 
		return S_OK; 
	} 
	return E_FAIL; 
} 
 
HRESULT CVideoInputPin::CompleteConnect(IPin *pReceivePin) 
{ 
	HRESULT hr = mFilter->XCompleteConnect(PIN_Video); 
	if (FAILED(hr))  
	{ 
		return hr; 
	} 
 
	return CRenderedInputPin::CompleteConnect(pReceivePin); 
}