Media Foundation学习笔记(六)Media Foundation的架构 Media Session
2014-02-27 20:00
441 查看
Media Session是管理数据流的对象。
接口:IMFMediaSession。
创建对象:MFCreateMediaSession、MFCreatePMPMediaSession(创建支持受保护内容的MedisSession,PMP全称是Protected Media Path)。
一般一个应用使用MediaSession是以下流程:
1) 创建一个topology;
2) IMFMediaSession::SetTopology将topology对象排到MediaSession上;
3) 通过IMFMediaSession的Start、Pause、Stop方法控制数据流,这和DShow的GraphBuilder类似;
4) 调用IMFMediaSession的Close方法;
5) 调用IMFMediaSession的Shutdown方法。
在topology中,pipeline的各个对象被称为节点(Node),两个相连的节点,生产数据的一方被称为上游节点,接收数据的一方被称为下游节点,节点上的连接点(DShow中的IPin)被称为输入和输出,以下2张图展示了一个topology和 一对连接的节点:
1)topology
2)连接的节点
接口:IMFTopolofy。
创建对象:MFCreateTopology。
一般创建一个topology有以下一些步骤:
1) 使用MFCreateTopology创建topology;
2) 使用MFCreateTopologyNode创建节点,创建节点的时候必须指明要创建的节点的类型(source节点、transform节点、output节点、tee节点);
3) 初始化节点,方法依节点类型而异;
4) 调用IMFTopolofy的AddNode方法添加节点到topology;
5) 调用上游节点的output的IMFTopologyNode接口的ConnectOutput方法连接下游节点的input。
接口:IMFMediaSession。
创建对象:MFCreateMediaSession、MFCreatePMPMediaSession(创建支持受保护内容的MedisSession,PMP全称是Protected Media Path)。
一般一个应用使用MediaSession是以下流程:
1) 创建一个topology;
2) IMFMediaSession::SetTopology将topology对象排到MediaSession上;
3) 通过IMFMediaSession的Start、Pause、Stop方法控制数据流,这和DShow的GraphBuilder类似;
4) 调用IMFMediaSession的Close方法;
5) 调用IMFMediaSession的Shutdown方法。
Topology
Topology是pipeline中展现数据怎样流动的对象,它描述了每个流从Media Source到Media Sink所走过的路径,Media Session使用topology来控制数据流动。在topology中,pipeline的各个对象被称为节点(Node),两个相连的节点,生产数据的一方被称为上游节点,接收数据的一方被称为下游节点,节点上的连接点(DShow中的IPin)被称为输入和输出,以下2张图展示了一个topology和 一对连接的节点:
1)topology
2)连接的节点
接口:IMFTopolofy。
创建对象:MFCreateTopology。
一般创建一个topology有以下一些步骤:
1) 使用MFCreateTopology创建topology;
2) 使用MFCreateTopologyNode创建节点,创建节点的时候必须指明要创建的节点的类型(source节点、transform节点、output节点、tee节点);
3) 初始化节点,方法依节点类型而异;
4) 调用IMFTopolofy的AddNode方法添加节点到topology;
5) 调用上游节点的output的IMFTopologyNode接口的ConnectOutput方法连接下游节点的input。
相关文章推荐
- Media Foundation学习笔记(六)Media Foundation的架构 Media Session
- API Demos 2.3 学习笔记 (3)-- Android应用程序架构
- SpringMVC_架构 --跟海涛学SpringMVC(学习笔记)
- The Data Warehouse ETL Toolkit学习笔记-架构(数据流主线―数据访问)
- 架构学习笔记—Amazon
- 优酷网架构学习笔记
- ASP.net(1.1)原理学习笔记--第一章 ASP.net的基本架构
- chromium多进程架构学习笔记
- Hadoop2.6.0学习笔记(三)HDFS架构
- cloudstack+kvm 架构 学习笔记
- 游戏开发架构 ECS Model 学习笔记
- 领域驱动设计-学习笔记 分层架构
- 关于Struts2的架构 学习笔记【译】
- 分布式架构系统学习笔记(二)
- 《大型网站技术架构》学习笔记-02架构篇
- 优酷网架构学习笔记
- 软件架构设计学习笔记
- NET 应用架构指导 V2 学习笔记(十六) 服务层设计指导
- SpringMVC架构---SpringMVC学习笔记(一)
- 大型网站架构学习笔记