MediaFundation
文章平均质量分 78
chenchong_219
这个作者很懒,什么都没留下…
展开
-
简单实例 - 使用Media Session来播放文件
/** blackboy psyc209@163.com* QQ群: 135202158* 转载请注明作者及出处*/参考MSDN官方的页面:http://msdn.microsoft.com/en-us/library/ms703190(v=vs.85)本文详细演示了如何使用Media Foundation中的Media Sessio转载 2015-03-14 20:17:29 · 5322 阅读 · 0 评论 -
Media Foundation学习笔记(一)重要概念
学习Media Foundation之前需要理解以下几个重要概念。(一)流定义:一个使用一致类型的媒体数据序列。例如:视频、音频、文本、脚本命令、静止图片等。通常一个媒体文件包含一个或者多个流。 (二)压缩 目的:通过移除冗余数据来减小数据流的大小。分为有损和无损压缩2种压缩方式。 (三)媒体容器 一个转载 2015-03-14 20:19:00 · 3142 阅读 · 0 评论 -
Media Foundation学习笔记(二)Media Foundation的架构 概览
概览下面的图表展示了Media Foundation架构的一个上层视图: 如上所示,Media Foundation提供了2种编程模型: 第一种,Media Pipeline模式。如图表左边部分所示,使用一个端到端Pipeline,类似DShow中使用GraphBuilder、Filter的模式。 第二种:Souce Reader转载 2015-03-14 20:18:09 · 6385 阅读 · 1 评论 -
Media Foundation学习笔记(三)Media Foundation的架构 基本对象类型
基本对象类型 Attributes 一个Attribute就是一个“键”-“值”对,其中“键”是一个GUID,“值”是一个PROPVARIANT。在Media Foundation中,Attributes被广泛地用于配置对象、描述媒体格式、查询对象属性和其他目的。“值”只能是这7种类型:UINT32、UINT64、64-bits浮点数、GUID、n转载 2015-03-14 20:19:23 · 5176 阅读 · 0 评论 -
Media Foundation学习笔记(四)Media Foundation的架构 Platform API
Media Foundation Platform API 初始化HRESULT hr = MFStartup(MF_VERSION);注意:如果应用程序编译时使用的和系统上Media Foundation的dll不匹配的头文件,MFStartup会返回MF_E_BAD_STARTUP_VERSION错误! MFShutdown();转载 2015-03-14 20:20:43 · 3654 阅读 · 0 评论 -
Media Foundation学习笔记(五)Media Foundation的架构 Pipeline
Pipeline层是直接产生和处理媒体数据的层,它由“Media Sources”、“MFTs”和“Media Sinks”组成。大多数应用程序不需要直接调用Pipeline层对象的方法,而只需要使用如“Media Session”、“Source Reader”和“SinkWriter”这些上层的对象。Media SourcesMedia Sources产生媒体数据,典型的如:读文件、捕获设备或转载 2015-03-14 20:21:14 · 5511 阅读 · 1 评论 -
Media Foundation学习笔记(六)Media Foundation的架构 Media Session
Media Session是管理数据流的对象。 接口:IMFMediaSession。 创建对象:MFCreateMediaSession、MFCreatePMPMediaSession(创建支持受保护内容的MedisSession,PMP全称是Protected Media Path)。 一般一个应用使用MediaSession是以下流程:转载 2015-03-14 20:22:27 · 2198 阅读 · 0 评论 -
Media Foundation学习笔记(七)Media Foundation的架构 Source Reader
Source Reader提供了除了使用Media Session和Pipeline处理媒体数据之外的一种可选的方法。Source Reader的典型应用就是从文件、网络流和视音频抓取设备等获取Media Sample。Source Reader内部使用一个Media Source对象,Source Reader管理所有的对Media Source对象的方法调用。如果Media Sourc转载 2015-03-14 20:26:35 · 6292 阅读 · 1 评论