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 <streams.h>
#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 &amt;&amt;
(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);
}