求教TCPMP(The Core Pocket MediaPlayer)

[复制链接]
查看11 | 回复3 | 2021-1-27 06:26:10 | 显示全部楼层 |阅读模式
最近在阅读TCPMP的源码,请问有谁知道TCPMP是怎么根据输入来选择不同的Node,以及Node之间的连接呢?
例如我选择播放mkv文件,里面的编码格式为MPEG4,AC3,TCPMP是如何选择MatroskaSplitter,MPEG4Decoder,Ac3Decoder,并且将他们连接起来的?
还有其它对于TCPMP的任何经验,例如Plugin开发,优化等。
期待各位大虾的指导。

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:26:10 | 显示全部楼层
TCPMP的所有Node都注册到一个链表离,选择splitter是根据format的类型,
选择decoder是根据codec的FOURCC标识来搜索得到的,
具体调用关系是format的Node解析文件格式,分离音视频数据厚,去调用Codec的Node进行解码的
回复

使用道具 举报

千问 | 2021-1-27 06:26:10 | 显示全部楼层
引用1楼earthzhang的回复:TCPMP的所有Node都注册到一个链表离,选择splitter是根据format的类型,
选择decoder是根据codec的FOURCC标识来搜索得到的,
具体调用关系是format的Node解析文件格式,分离音视频数据厚,去调用Codec的Node进行解码的

能够更具体点吗?最好能告诉具体实现的代码的位置。
问题:
1.根据format类型选择splitter,这个format由谁检测到?选择的具体实现代码在哪个类里面(formatbase?)
2.你说的decoder根据codec的FOURCC标识来选择decoder,这个标识是由谁来设置的呢?splitter还是player,代码在哪里能找到?
回复

使用道具 举报

千问 | 2021-1-27 06:26:10 | 显示全部楼层
谢谢earthzhang,期望能有人给出更详细的解答,谢谢。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行