我一直在尝试使用OMXCodec
through Stagefright
。我已经实现了ICS
Android 版本的代码。我有两个CustomDataSource
派生类,MediaSource
另一个是CustomOmxCodec
调用OMXCodec::Create
方法并执行读取操作以解码 h264 帧。我已经在带有omx.google.video.avc
软件解码器的设备上测试了这个实现,它工作正常。现在,当我尝试在具有硬件 h264 解码的 android 手机上运行相同的实现时,它在读取调用时返回错误。错误如下:
[OMX.MTK.VIDEO.DECODER.AVC] ERROR (0x80001005, 0)
0x80001005
是为OMX_ErrorBadParameter
。-1103
我在读取操作时收到错误代码。我尝试了各种参数,但没有成功。
完整的日志如下:
[OMX.MTK.VIDEO.DECODER.AVC] mVideoInputErrorRate (0.000000)
!@@!>>create tid (21087) O<XCodec mOMXLivesLocally=0, mIsVideoDecoder (1), mIsVideoEncoder (0), mime(video/avc)
[OMX.MTK.VIDEO.DECODER.AVC] video dimensions are 640X480
mSupportesPartialFrames 1 err 0
[OMX.MTK.VIDEO.DECODER.AVC] allocating 10 buffers of size 65536 on input port.
[OMX.MTK.VIDEO.DECODER.AVC] mMemHeapBase = 0x00E8C288, mOutputBufferPoolMemBase=0x51F8E000, size = 9578848
[OMX.MTK.VIDEO.DECODER.AVC] ERROR (0x80001005, 0)
OMXCodec::onEvent--OMX Bad Parameter!!
Read Error : -1103
我很感激这方面的任何指导。