私のアプリケーションは HLS を使用してビデオを再生します。ほとんどのデバイスで正常に動作します。Samsung Galaxy S3 または Samsung Galaxy Note 2 で実行しようとすると、問題が発生します。
適切な Wi-Fi 接続があれば、再生は問題なく実行されます。接続をかなり低いビットレート (約 300 ~ 400) に制限し、約 10 秒後にプレーヤーがレイヤーを切り替えるまで待つと、次のメッセージが表示されて再生が停止します。
I/avc_utils(1929): found AVC codec config (320 x 180, Baseline-profile level 3.0)
I/ESQueue(1929): DRC : Change Resolution. [720x404] -> [320x180]
E/ACodec(1929): [OMX.SEC.aac.dec] ERROR(0x8000100b)
E/NuPlayer(1929): Received error from audio decoder, aborting playback.
E/NuPlayer(1929): audio track encountered an error (-2147483648)
E/MediaPlayer(15859): error (1, -2147483648)
なぜこれが起こるのか、なぜ特定のSamsungデバイスでのみ起こるのか、誰にも分かりませんか? たとえば、Galaxy Nexus は問題なく動作します。
以下は、m3u8 プレイリストの外観の例です。
EXTM3U
EXT-X-STREAM-INF:プログラム ID=1、帯域幅=755803
http://hiddenserver.com/layer_2.m3u8
EXT-X-STREAM-INF:プログラム ID=1、帯域幅=1577112
http://hiddenserver.com/layer_4.m3u8