《directshow实务精选》 光盘


directshow实务精选光盘 免积分下载
资源截图
代码片段和文件信息
//
// CMPEG1Builder.cpp
//

#include 
#include “FltGuids.h“
#include “CMPEG1Builder.h“

/////////////////////////////////////////////////////////////////////////////
CMPEG1Builder::CMPEG1Builder(LPUNKNOWN pUnk HRESULT *phr) :
CUnknown(NAME(“MPEG1 Builder“) pUnk)
{
}

CMPEG1Builder::~CMPEG1Builder()
{
}

//
// Expose our own interface
STDMETHODIMP CMPEG1Builder::NonDelegatingQueryInterface(REFIID riid void ** ppv)
{
CheckPointer(ppv E_POINTER);

if (riid == IID_IMPEG1Builder) 
{
return GetInterface((IMPEG1Builder *) this ppv);
}
else if (riid == IID_IDistributorNotify)
{
return GetInterface((IDistributorNotify *) this ppv);
}
else
{
return CUnknown::NonDelegatingQueryInterface(riid ppv);
}
}

// --- IMPEG1Builder methods ---
STDMETHODIMP CMPEG1Builder::IsMPEG1File(const char * inFilePath)
{
IGraphBuilder * pBuilder = RetrieveGraphBuilder();

// Create a file source filter
IbaseFilter * pSource = NULL;
WCHAR  wcFilePath[MAX_PATH];
MultiByteToWideChar(CP_ACP 0 inFilePath -1 wcFilePath MAX_PATH);
pBuilder->AddSourceFilter(wcFilePath L“Source“ &pSource);
pSource->Release();

// Create microsoft MPEG-1 Stream Splitter
IbaseFilter * pSplitter = NULL;
CoCreateInstance(CLSID_MPEG1Splitter  NULL CLSCTX_INPROC_SERVER
IID_IbaseFilter (void **)&pSplitter);
pBuilder->AddFilter(pSplitter L“MPEG-1 Splitter“);
pSplitter->Release();

// Try to connect them...
IPin * pOut = GetPinByDirection(pSource PINDIR_OUTPUT);
IPin * pIn  = GetPinByDirection(pSplitter PINDIR_INPUT);
HRESULT hr  = pBuilder->ConnectDirect(pOut pIn NULL);

pBuilder->RemoveFilter(pSplitter);
pBuilder->RemoveFilter(pSource);

return SUCCEEDED(hr) ? S_OK : S_FALSE;
}

STDMETHODIMP CMPEG1Builder::RenderMPEG1File(const char * inFilePath)
{
IGraphBuilder * pBuilder = RetrieveGraphBuilder();

// Create a file source filter
IbaseFilter * pSource = NULL;
WCHAR  wcFilePath[MAX_PATH];
MultiByteToWideChar(CP_ACP 0 inFilePath -1 wcFilePath MAX_PATH);
pBuilder->AddSourceFilter(wcFilePath L“Source“ &pSource);
pSource->Release();

// Create microsoft MPEG-1 Stream Splitter
IbaseFilter * pSplitter = NULL;
CoCreateInstance(CLSID_MPEG1Splitter  NULL CLSCTX_INPROC_SERVER
IID_IbaseFilter (void **)&pSplitter);
pBuilder->AddFilter(pSplitter L“MPEG-1 Splitter“);
pSplitter->Release();

// Create microsoft MPEG-1 Video Decoder
IbaseFilter * pVideoDec = NULL;
CoCreateInstance(CLSID_CMpegVideoCodec NULL CLSCTX_INPROC_SERVER
IID_IbaseFilter (void **)&pVideoDec);
pBuilder->AddFilter(pVideoDec L“MPEG-1 Video Decoder“);
pVideoDec->Release();

// Create microsoft MPEG-1 Audio Dedocer
IbaseFilter * pAudioDec = NULL;
CoCreateInstance(CLSID_CMpegAudioCodec NULL CLSCTX_INPROC_SERVER
IID_IbaseFilter (void **)&pAudioDec);
pBuilder->AddFilter(pAudioDec L“MPEG-1 Audio Decoder“);
pAudioDec->Release();

// Connect filte

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ......R     77824  2004-04-20 19:45  实务精选2BinAVCap.exe

    ......R     77824  2004-04-20 19:48  实务精选2BinAVChat.exe

    ......R     94208  2004-04-20 19:52  实务精选2Binall.ax

    ......R     73728  2004-04-20 19:56  实务精选2BinBlender9.exe

    ......R    700416  2004-04-20 19:55  实务精选2BinBmpMix9.exe

    ......R     65536  2004-04-20 20:00  实务精选2BinDesTlSrc.ax

    ......R     98304  2004-04-20 19:54  实务精选2Bindsnet.ax

    ......R    114688  2004-04-20 20:00  实务精选2Bindump.ax

    ......R     57344  2004-04-20 19:50  实务精选2BinFltNtrcvr.ax

    ......R     49152  2004-04-20 19:45  实务精选2BinHqGrbr.ax

    ......R     61440  2004-04-20 19:53  实务精选2BinHqtlystd.ax

    ......R     49152  2004-04-20 19:51  实务精选2BinHqvk.ax

    ......R     45056  2004-04-20 19:55  实务精选2Binmpg2tssrc.ax

    ......R     20480  2004-04-20 19:48  实务精选2BinMulticastClient.exe

    ......R     20480  2004-04-20 19:48  实务精选2BinMulticastServer.exe

    ......R     24576  2004-04-20 19:56  实务精选2BinPidMpg1.dll

    ......R     24576  2004-04-20 19:56  实务精选2BinPIDTest.exe

    ......R     61440  2004-04-20 20:00  实务精选2Binqqsrc.ax

    ......R     28672  2004-04-20 19:53  实务精选2BinSimplePlayer.exe

    ......R     24576  2004-04-20 19:49  实务精选2BinTCPClient.exe

    ......R     24576  2004-04-20 19:49  实务精选2BinTCPServer.exe

    ......R     61440  2004-04-20 19:55  实务精选2BinTicker9.exe

    ......R      3988  2004-04-20 19:59  实务精选2Bin itleSource.tlb

    ......R     24576  2004-04-20 19:49  实务精选2BinUDPClient.exe

    ......R     20480  2004-04-20 19:50  实务精选2BinUDPServer.exe

    ......R     40960  2004-04-20 19:50  实务精选2BinVODClient.exe

    ......R     40960  2004-04-20 19:51  实务精选2BinVODServer.exe

    ......R      1725  2003-06-18 16:08  实务精选2Readme.txt

    ......R      6858  2004-02-21 10:19  实务精选2《DirectShow实务精选》Appendix_BPidMpeg1CMPEG1Builder.cpp

    ......R      1133  2003-12-30 13:49  实务精选2《DirectShow实务精选》Appendix_BPidMpeg1CMPEG1Builder.h

............此处省略363个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)