解码Android上的H.264原始流错误

时间:2013-12-26 03:42:35

标签: android h.264 decoder mediacodec

当我尝试在Note3(N9005,Android 4.3)上使用MediaCodec解码H.264原始流时,我收到以下错误:

12-25 19:57:40.362: E/ACodec(19827): [OMX.qcom.video.decoder.avc] ERROR(0x80001009)
12-25 19:57:40.362: E/MediaCodec(19827): Codec reported an error. (omx error 0x80001009, internalError -2147483648)
12-25 19:57:40.362: W/System.err(19827): java.lang.IllegalStateException
12-25 19:57:40.362: W/System.err(19827): at android.media.MediaCodec.dequeueInputBuffer(Native Method)

但是相同的代码适用于Note3(N900)和Google Nexus 7(第2代)。 以下是我引用的代码:http://developer.android.com/reference/android/media/MediaCodec.html P.S:我的H.264原始流的标题如下所示:

---------------------------------------------------------------------------------------
|00 00 00 01 67 ... 00 00 00 01 68 ...00 00 00 01 65(tatol 4 slices )...00 00 00 01 61|
---------------------------------------------------------------------------------------

如果需要,我可以为您附上我的测试视频文件。

1 个答案:

答案 0 :(得分:0)

MediaCodec调用OpenMax(OMX)来解码视频流。它取决于特定的系统框架,因此在任何设备上都不能很好地工作。 你可以测试这个Sample in Github Android Hardware Decoding with MediaCodec可能有帮助