文件输入部分数据流——识别文件格式
2010-10-11 16:48
155 查看
在理解一个媒体文件是如何传输到设备的内存中去的时,在识别文件格式这一部分,我认为有以下关键内容要明白:
1 OSCL_wHeapString wFileName
这是一个模板类,初次定义是在函数PlayerDriver::handleSetDataSource(PlayerSetDataSource* command)中,包含了媒体文件的绝对路径转化后的Unicode,也就是根据wFileName可以找到要播放的文件;
2 类PVMFSourceContextData继承类PVInterface,此类涉及到数据流,在类PVMFSourceContextData又成员指针指向类PVMFSourceContextDataCommon,这个类同样继承于类PVInterface,
类PVMFSourceContextDataCommon中有个成员指针指向类PVMFCPMPluginAccessInterfaceFactory,此类是在识别文件时创建数据流的工厂类,同样继承于类PVInterface,
成员函数CreatePVMFCPMPluginAccessInterface创建数据流指针,不过在此是个虚函数,实际调用的是对应实现类中的函数。
3 函数PVMFRecognizerRegistryImpl::CreateDataStream()
此函数用于创建数据流接口,会调用到函数CreatePVMFCPMPluginAccessInterface,返回指向类PVMIDataStreamSyncInterface的指针iDataStream,再调用函数iDataStream->OpenSession(iDataStreamSessionID, PVDS_READ_ONLY)以只读方式打开文件,并输出sessionID,在调用到OSCL中的open函数时会用到一个变量iFileName,就是前面的wFileName,两者指向同一块空间;
1 OSCL_wHeapString wFileName
这是一个模板类,初次定义是在函数PlayerDriver::handleSetDataSource(PlayerSetDataSource* command)中,包含了媒体文件的绝对路径转化后的Unicode,也就是根据wFileName可以找到要播放的文件;
2 类PVMFSourceContextData继承类PVInterface,此类涉及到数据流,在类PVMFSourceContextData又成员指针指向类PVMFSourceContextDataCommon,这个类同样继承于类PVInterface,
类PVMFSourceContextDataCommon中有个成员指针指向类PVMFCPMPluginAccessInterfaceFactory,此类是在识别文件时创建数据流的工厂类,同样继承于类PVInterface,
成员函数CreatePVMFCPMPluginAccessInterface创建数据流指针,不过在此是个虚函数,实际调用的是对应实现类中的函数。
3 函数PVMFRecognizerRegistryImpl::CreateDataStream()
此函数用于创建数据流接口,会调用到函数CreatePVMFCPMPluginAccessInterface,返回指向类PVMIDataStreamSyncInterface的指针iDataStream,再调用函数iDataStream->OpenSession(iDataStreamSessionID, PVDS_READ_ONLY)以只读方式打开文件,并输出sessionID,在调用到OSCL中的open函数时会用到一个变量iFileName,就是前面的wFileName,两者指向同一块空间;
相关文章推荐
- 解决:无法将“Add-Migration”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次 1、输入的中划线“-”格式不对,检查是
- 第二部分 Linux 文件、目录与磁盘格式
- python模块之imghdr(识别不同格式的图片文件)
- 深入剖析Win32可移植可执行文件格式 第一部分
- Hadoop 实例15 MultipleInputs实战2:多种自定义文件格式的文件输入处理
- Linux 学习笔记 -- 第二部分 Linux 文件、目录与磁盘格式 -- 第9章 文件与文件系统的压缩与打包
- 请教音乐文件输入格式问题
- 解决http下载部分文件格式(如*.pdb)不能正常下载的问题
- java识别文件或字符串的编码格式
- hadoop多文件格式输入(MultipleInputs)
- 深入剖析Win32可移植可执行文件格式 第二部分
- Tesseract 识别 Tiff 格式文件——alpha通道干扰
- 批量修改文件的编码格式-问题来自于用Source Insight打开项目时中文部分出现乱码
- bfd的文件格式识别
- hadoop多文件格式输入
- gedit增加对指定文件格式(如qml)的识别和启用合适的语法高亮
- CTex中加载EPS图片的问题——pdflatex不能识别.eps文件格式
- Mac技巧之让U盘、移动硬盘在苹果电脑和Windows PC都能识别/读写,且支持4GB大文件:exFAT格式
- linux 识别 ntfs 文件格式
- Win32可移植可执行文件格式第二部分