阅读:5310回复:2
Amlogic柬埔寨客户IPTV字幕会消失的问题
7.1.2平台版本公版默认不支持字幕,我在MediaPlayer中增加了AIDL调用,调用了原厂的字幕service,实现了字幕功能。
在此基础上,客户长时间煲机测试发现:字幕煲机10小时后,消失不显示了。 ============================================ 叫客户帮忙抓取了log,查找log发现后面subtitle的pts都是0. 图片:aaaa.png 可以明显看到在这个时间点,pts突然从ff7b9c00变成了0,于是我去排查代码,理清字幕的调用流程如下: 图片:bbbb.png 以上就是完整的代码流程。我发现上面通过传入MediaPlayer.getCurrentPosition来获取当前的码流时间,然后调用SubtitleService的远程方法,获取当前这个时间点的字幕信息。通过按照以上的流程排查,结合打印,我发现如下: 图片:cccc.png 这个打印是上层调用SubtitleService获取当前时刻的字幕packet的打印,我发现上层的时间重置了,后面排查发现打印: 图片:dddd.png 是由于客户的实时码流时间重置了。 后面通过排查代码和结合打印信息: 图片:eeee.png 图片:ffff.png 上层的获取显示的pts已经是重0开始之后的较小的pts时间,而底层缓存的还是老的字幕,导致时间差异太大,直接返回了。 知道了原因,我们就需要在码流时间重新归零后,将目前已经缓存的清理掉,一些字幕相关的变量做一个复位。这样我们就不会出现这个问题啦。 具体的修改方法,等煲机验证通过确认了在更新出来。 |
|
|
沙发#
发布于:2020-01-06 09:18
|
|
|
板凳#
发布于:2020-02-21 16:34
最终确认修改如下位置修复问题:
图片:cc.png |
|
|