InfTee学习笔记

Infinite tee Filter当有一个输出Pin连接时,就会产生一个新的OutPut Pin

 

文件:

// Files
//
// inftee.cpp           Main implementation of the infinite tee 主要实现
// inftee.def           What APIs the DLL will import and export
// inftee.h             Class definition of the infinite tee
// inftee.rc            Not much, just our version information
//
//
// Base classes used
//
// CBaseInputPin        Basic IMemInputPin based input pin
// CBaseOutputPin       Used for basic connection stuff
// CBaseFilter          Well we need a filter don't we
// CCritSec             Controls access to output pin list
// COutputQueue         Delivers data on a separate thread
//
//

 

 

CBasePin::CheckMediaType:用来检查是否支持特定的媒体类型

CBasePin::SetMediaType:设置连接的媒体类型

CBaseInputPin::BreakConnect :释放连接的Pin

CBaseOutputPin::CompleteConnect Method:完成输出到输入的连接

CBaseInputPin::NotifyAllocator:为连接指明一个allocator,该方法实现了 IMemInputPin::NotifyAllocator 方法

CBasePin::NewSegment方法:通知在该方法调用后,接收到的media sample会被打包成一个segment,实现了IPin::NewSegment方法


 

posted @ 2011-07-17 21:08  程序员阿呆  阅读(564)  评论(0)    收藏  举报