- 热门文章:
- · 一个俄罗斯方块游戏源程序
- · 数据结构学习(C++)——二叉树【1】
- · 闲侃名家名作
- · 在编程中调用OLEDB的数据连接属性对话框
- · JIURL玩玩Win2k内存篇 Page Frame Number Database
- · JIURL玩玩Win2k内存篇 LookasideList
- · JIURL玩玩Win2k内存篇 内存共享(一) ProtoPTE
- · JIURL玩玩Win2k内存篇 内存共享(二) CopyOnWrite
- · JIURL玩玩Win2k 对象
- · JIURL玩玩Win2k进程线程篇 EPROCESS
- · JIURL玩玩Win2k进程线程篇 PEB
- · JIURL玩玩Win2k进程线程篇 HANDLE_TABLE
DirectShow应用程序设计介绍(翻译)
DirectShow应用程序设计介绍
这篇文章包含两方面内容:Filter Graphs , 写一个DShow应用程序
一、 Filter Graphs
DShow的基本软构件块是一种叫做filter的组件。A Filter一般只执行基于多媒体数据上的单一的操作。例如,有一些DShow Filter有如下功能:
1、 读文件
2、 从视频采集卡上获取视频
3、 为某一种流格式的数据解码,比如 MPEG—1
4、 传送数据到 the graphics(屏幕的画面) 或声卡
Filters接收输入(多媒体数据),生成输出(多媒体数据)。例,假如a filter解码MPEG-1视频数据,则输入就是MPEG编码流,输出就是解码后的RGB视频流(原始视频流)。
为了执行给定的任务,应用程序往往需要连接多个filters。一系列连接的filters叫做a filter graph。图1—1显示了播放一个AVI文件的a filter graph。
在a filter graph里,你的应用程序不需要管理单独的filters。取而代之的是,DShow提供了一个叫the Filter Graph Manager的上层组件(简化了filters的管理)。The Filter Graph Manager控制了通过the graph的数据流动。
另外,the Filter Graph Manager简化了a filter graph的创建过程。例如,你可以指定一个文件名,然后the Filter Graph Manager将会生成a graph去播放文件。
二、写一个DShow应用程序
一个典型的DShow应用程序会执行如图2—1所示三个基本步骤。
图2—1
1、 创建the Filter Graph Manager的一个实例。使用CoCreateInstance函数。
2、 用the Filter Graph Manager生成a filter graph。(当然可以用其他组件)
3、 操作the filter graph和响应事件。
- · JIURL玩玩Win2k进程线程篇 ETHREAD
- · JIURL玩玩Win2k进程线程篇 TEB
- · JIURL玩玩Win2k 地址空间的布局
- · JIURL玩玩Win2k 参考资料
- · 小议static
- · 流媒体学习笔记----用配置好的文件进行编码
- · 流媒体学习---------序
- · 这两年的感悟与经历
- · 数据结构学习(C++)——二叉树【2】
- · 关于 Service 设计初步(MSDN节选翻译)
- · 数据结构学习(C++)——二叉树【3】
- · MinUnit – 最小的c语言测试模板
- · JIURL玩玩Win2k内存篇 分页机制 (一)
- · JIURL玩玩Win2k内存篇 分页机制 (二)
- · JIURL玩玩Win2k内存篇 分页机制 (三)
- · JIURL玩玩Win2k内存篇 分页机制 (四)
- · XML文件源码察看器(六)
- · Win2K 服务程序的源码(框架而已)
- · 善用C++Builder中的快捷键来提高编码和开发的效率
- · 用C++Builder开发具有历史记录功能的编辑控件
- · 使用API调用Windows“注销/重启/关机”功能
- · 在C++Builder中实现遍历并载入指定目录
- · 在C++Builder中动态创建控件并处理添加事件处理
- · 使用C++Builder创建自定义VCL组件时的一些问题
- · 学用C++的体会
- · 说说字符集
- · [Boost]一种简单的批分字符串的办法
- · [Boost]如何将UNIX风格时间转换为标准格式
- · RSA 是一个存在着逻辑缺陷的算法
- · C++入门解惑(3)——初探指针(下)
- · C++中的文件输入/输出(1):你的第一个程序
- · 关于MSHTML
- · 数据结构学习(C++)——树(总结)
- · C++中的文件输入/输出(2):读取文件
- · VC++ MFC 常用技巧 (一)
- · 数据结构学习(C++)——图【1】(基本储存方法)
- · C++基础知识
- · C++中的文件输入/输出(3):掌握输入/输出流
