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


//
// CAudioInputPin.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 "CAudioInputPin.h"
#include "CFilterASFMuxer.h"

////////////////////////////////////////////////////////////////////////////
CAudioInputPin::CAudioInputPin(CFilterASFMuxer *pFilter , HRESULT *phr,
LPCWSTR pPinName) :
CXRenderedPin(pFilter, phr, pPinName, NAME("Audio Input"))
{
}

CAudioInputPin::~CAudioInputPin()
{
}

HRESULT CAudioInputPin::ReceiveXSample(IMediaSample * pSample)
{
return mFilter->ReceiveAudio(pSample);
}

HRESULT CAudioInputPin::CheckMediaType(const CMediaType * inMediaType)
{
CheckPointer(inMediaType,E_POINTER);

if (inMediaType->majortype == MEDIATYPE_Audio &amt;&amt;
inMediaType->formattype == FORMAT_WaveFormatEx)
{
return S_OK;
}
return E_FAIL;
}

HRESULT CAudioInputPin::CompleteConnect(IPin *pReceivePin)
{
HRESULT hr = mFilter->XCompleteConnect(PIN_Audio);
if (FAILED(hr))
{
return hr;
}

return CRenderedInputPin::CompleteConnect(pReceivePin);
}