您的位置:首页 > 其它

文件输入部分数据流——识别文件格式

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,两者指向同一块空间;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: