2

当我尝试在 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(第二代)。这是我引用的代码:http: //developer.android.com/reference/android/media/MediaCodec.html PS:我的 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|
---------------------------------------------------------------------------------------

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

4

1 回答 1

0

MediaCodec 调用 OpenMax(OMX) 来解码视频流。它取决于特定的系统框架,因此在任何设备上都不能很好地工作。您可以在 Github 中测试此示例, 使用MediaCodec 进行 Android 硬件解码可能会有所帮助

于 2013-12-26T04:16:54.127 回答