DirectShow基础类库开发参考文档
以下的文章是我在学习DirectShow的过程中翻译自DirectX 9 SDK的帮助文档,希望对大家了解和编写自己的filter等组件时有所帮助。翻译文档的内容我会陆续发到网上。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1. DirectShow基础类库概述<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Microsoft® DirectShow®基础类库是一系列的C++类和实用函数的集合,这些使用函数的设计的目的是为了实现DirectShow的filter。对应用程序开发人员来说,某些帮助类也是非常有用的。
本篇文章描述了这个基础类库,包含了以下一些部分:
(SDK 根目录)\Samples\C++\DirectShow\BaseClasses
DirectShow的基础类库的工作空间的名字叫做BaseClasses.dsw。这个工程生成了两个版本的库文件,一个零售版本——Strmbase.lib,一个调式版本的库文件——Strmbasd.lib。在你的自己的工程里面,如果你想使用基本类库,你必须包含Streams.h这个头文件。你的应用程序既可以链接Strmbase.lib or to Strmbasd.lib,这取决于你生成的程序的版本,即你是生成一个零售版本还是一个调试版本。
下面这个表格总结了你需要的文件:
下面的章节概述了大多数最重要的基本类:
3.1. COM 对象库
下面的这些类用来支持COM对象的创建:
大多数的DirectShow类派生于CBaseObject。这个类提供了一个在在Dll文件中的活动对象计数器,在运行时的调试帮助。在调试版本中,如果DLL没有被加载,但是对象计数器大于0,则被断言失败。这样就可以很容易的追踪由引用计数引起的内存泄露问题。
所有的这些基本类支持从CUnknown 中派生出来的COM接口,CUnknown派生于CBaseObject。CUnknown类支持引用计数、QueryInterface、聚合。
3.2. Filter and Pin 类
下面的这些类支持DirectShow filter和pin对象的创建:
下面的这些类在创建专门的filter有一些帮助:
要使用这些类,你必须要派生你自己的类,然后在你自己的类里面编写代码来实现filter里面的功能。越专业的基类,你要在你自己的派生类里面要书写的代码就越少。
3.3. 辅助对象
下面的这些类实现了一些用在filter和pin中的辅助对象。这些类中的大多数无需从中派生,可以直接使用。
|
转载于:https://blog.51cto.com/zjyzjy/78157
DirectShow基础类库开发参考文档相关推荐
- [Web开发] IE8 网页开发参考文档
IE8在兼容Web 标准方面做了巨大的改进,所以和以往的IE版本有非常大的差异. 以下是一些文档帮助Web 开发者了解IE8 内核引擎的变化,以便开发出更好更炫的网页. HTML and CSS Su ...
- WeChat小程序·微信登录·开发参考文档
文章目录 1 WeChat小程序登录业务开发 1.1 前期准备 1.2 微信登录流程 1.2.1 官方参考文档 1.2.2 登录流程时序图 1.2.3 步骤分析 1.2.4 重要方法说明 1.2.5 ...
- spark+openfire即时通讯工具二次开发参考文档
摘自: http://gmd20.blog.163.com/blog/static/168439232010527525542/ 其中Spark是开源的基于XMPP协议的即时通讯工具,公司最近也换到 ...
- 小程序开发配置接口域名提示:不在以下 request 合法域名列表中,请参考文档
小程序开发配置接口域名提示:不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/api/networ ...
- hibernate参考文档
http://docs.jboss.org/hibernate/annotations/3.4/reference/zh_cn/html_single/#d0e224 Hibernate Annota ...
- RxJava 参考文档
/**************************************************************** RxJava 参考文档* 说明:* 最近无意中发现RxJava这个好 ...
- mpvue 从零开始 女友拉黑了我 5 不在以下request 合法域名列表中,请参考文档
上一篇,才调通了接口,试了几次,都成功,突然,微信报错了. VM6239:1 https://www.easy-mock.com 不在以下 request 合法域名列表中,请参考文档:https:// ...
- htt:// ************不在以下 request 合法域名列表中,请参考文档:******************************
http:// ****不在以下 request 合法域名列表中,请参考文档:https://developers.weixin.qq.com/miniprogram/dev/framework/ab ...
- dita文档_使用DITADoclet和DITA API专业化生成DITA Java™API参考文档
dita文档 2009年12月11日修订说明:在" 目标"和" 安装org.dita.dost插件 "标题下添加了两个指向可下载资源的链接. 2014年3月7日 ...
- linux自动化脚本制作参考文档
linux自动化脚本制作参考文档 一.环境部分 1.0.启动盘制作 前提:1个8G以上的U盘,想要安装的系统ISO镜像 参考连接: 1.windows系统 #打开'运行' => win + r ...
最新文章
- android studio so文件的添加
- 【Linux】neocomplcache disabled: “sudo vim“ is detected and $HOME is set to your user‘s home
- UML Distilled 3rd 学习笔记
- 【OpenMP实现】任意线程数并行化快排结合Merge排序100w--10线程下只用0.06s
- 全球及中国斜交胎市场品牌竞争形势与投资策略分析报告2022年
- SpringMVC中的数据校验
- 腾讯天美六位TA:技术美术这份职业会长期存在吗?
- 打开服务器数据库文件,如何打开服务器中的数据库文件
- OpenStack不行了吗?悉尼峰会,OpenStack的白城反击战?
- oracle segment undo_Oracle Undo工作原理
- vue 全局函数的 定义与任意调用 (代码篇)
- 自定义帆软报表的导出
- 信号检测与估计c语言,清华大学出版社-图书详情-《信号检测与估计(第2版)》...
- HTML对字体的所有操作详解(经典)
- CKA认证考题+解析
- 我是如何面试iOS开发者的?
- appstore软件销售数据统计分析软件Prismo
- 易语言突破百度云防护
- 2021最新css3面试题理论,前端css面试题,移动端面试题理论。
- EigenGame:将主成份分析(PCA)作为一个博弈游戏