EXT-X-MEDIA必须在EXT-X-STREAM-INF之前出现吗?

时间:2014-09-14 04:14:21

标签: android android-mediaplayer http-live-streaming

我试图播放我在最新的Android(版本L)上发现的HTTP直播,但它失败了。 Android提供的错误是:

E/M3UParser(152): Undefined media group '600k' referenced in stream info.

进一步研究,我意识到这个特定的流首先列出所有EXT-X-STREAM-INF标签,然后再列出匹配的EXT-X-MEDIA标签。我把这个例子简化了一下来说明:

#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=1399877,CODECS="avc1.4d401f,mp4a.40.2"
http://example.com/1.m3u8
... [and later on] ...
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="600k",URI="blah",BANDWIDTH=614400

看看Android的source code,似乎没有任何机制适用于Android,以及#34;展望未来&#34;在播放列表文件中,代码似乎假设应首先列出EXT-X-MEDIA标记。<​​/ p>

但是,我正在阅读IETF草案,它似乎没有提到对这些标签的排序有任何此类限制。

所以我想知道,这是Android实施中的一个错误吗?或者我错过了什么?

(为了记录,Apple的iOS似乎很好地播放了这个流。看起来他们确实知道如何&#34;展望未来&#34;)

1 个答案:

答案 0 :(得分:2)

看起来像stagefright中的错误。我不认为你错过任何东西,并且可能比执行Android实施的团队稍微好一些。