WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院软件开发VC 利用 DirectShow 开发自己的 Filter 阅读

利用 DirectShow 开发自己的 Filter

 2006-07-23 11:33:58 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愭娑樷枎閹邦剛娉氶梺鍛婎殔濞层劌鈻撻幋婵愬殫妞ゆ梻鍘х憴锟�
核心提示: 类厂对象是用来生成Filter对象的,用的模板类定义了一个全局的模板类对象数组,利用 DirectShow 开发自己的 Filter(9),一般格式如下:CFactoryTemplate g_Templates[1] ={{L"my filter",// Name&CL

类厂对象是用来生成Filter对象的,用的模板类定义了一个全局的模板类对象数组,一般格式如下:

CFactoryTemplate g_Templates[1] =
{
  {
   L"my filter",        // Name
   &CLSID_MYFilter,       // CLSID
   CMyFilter::CreateInstance,  // Method to create an instance of MyComponent
   NULL,              // Initialization function
   &sudInfTee              // Set-up information (for filters)
  }
};
int g_cTemplates = sizeof(g_Templates) / sizeof(g_Templates[0]); 

4、关于你自己定义的Filter以及Pin的信息

这些是一个全局的结构变量,用于描述你的Filter和你定义的pin,在注册Filter的时候会用到,如下:

AMOVIESETUP_FILTER 描述一个Filter
AMOVIESETUP_PIN 描述pin
AMOVIESETUP_MEDIATYPE 描述数据类型

下面的代码描述了一个Filter带有一个output PIN:

static const WCHAR g_wszName[] = L"Some Filter";
AMOVIESETUP_MEDIATYPE sudMediaTypes[] = {
  { &MEDIATYPE_Video, &MEDIASUBTYPE_RGB24 },
  { &MEDIATYPE_Video, &MEDIASUBTYPE_RGB32 },
};
AMOVIESETUP_PIN sudOutputPin = {
  L"",      // Obsolete, not used.
  FALSE,     // Is this pin rendered?
  TRUE,      // Is it an output pin?
  FALSE,     // Can the filter create zero instances?
  FALSE,     // Does the filter create multiple instances?
  &GUID_NULL,   // Obsolete.
  NULL,      // Obsolete.
  2,       // Number of media types.
  sudMediaTypes  // Pointer to media types.
};
AMOVIESETUP_FILTER sudFilterReg = {
  &CLSID_SomeFilter,   // Filter CLSID.
  g_wszName,       // Filter name.
  MERIT_NORMAL,      // Merit.
  1,           // Number of pin types.
  &sudOutputPin      // Pointer to pin information.
};

最后如果你还是调试通不过,看看你是否包含了下面的头文件:

#include <streams.h>
#include <initguid.h>
#include <tchar.h>
#include <stdio.h>

智慧的鱼 aoosang 2004-09-01

上一页  4 5 6 7 8 9 

Tags:利用 DirectShow 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接