【发布时间】:2015-03-07 16:13:59
【问题描述】:
我试图在Lollipop 版本上播放MKV 视频文件,但无法播放,尽管它在Kitkat 版本中正常工作。
我在调试问题时的发现如下,
音频、视频和内容编码的默认轨道设置设置为 -1
如果当前轨道的 id 不是视频也不是音频,而是 content_encoding 类型,则轨道设置会相应更新。
函数后面会根据轨道类型解析缓冲区,即如果轨道是视频类型,那么音频轨道设置应该小于0,similarly if the track consist of audio the video track setting should be less than 0。
但如果轨道包含内容编码类型,则还要检查视频、音频和内容编码轨道设置。
因为在类型内容编码的情况下会更新轨道设置,所以这里失败了
if (e.start >= 0)
return E_FILE_FORMAT_INVALID;
删除内容编码检查后,MKV 文件将成功播放。
我的文件有一个video 轨道、一个audio 轨道和多个subtitles。可能是什么问题?请帮忙。
【问题讨论】:
标签: android android-5.0-lollipop stagefright