outputbufferindex始终为-1

时间:2013-02-22 07:31:47

标签: android h.264 android-4.2-jelly-bean decoder

使用MediaCodec API,我每次都会将OutputBufferIndex作为-1。 任何可能的解决方案?

outputBufferIndex = codec.dequeueOutputBuffer(info,outtimeout);
loginfo();
if (outputBufferIndex >= 0) 
{
    // outputBuffer is ready to be processed or rendered.
    codec.releaseOutputBuffer(outputBufferIndex, true);
} 
else if (outputBufferIndex == MediaCodec.INFO_OUTPUT_BUFFERS_CHANGED) 
{
    outputBuffers = codec.getOutputBuffers();
    Log.i(TAG, "op_buf_changed");
} 
else if (outputBufferIndex == MediaCodec.INFO_OUTPUT_FORMAT_CHANGED) 
{
    // Subsequent data will conform to new format.
    MediaFormat opmediaformat = codec.getOutputFormat();
    Log.i(TAG, "op_buf_format_changed");
}
else
{
    Log.i(TAG, "no_out_buffer");
}

此外,我对inputbufferindex也有同样的问题,但通过设置正确的“TimeoutUs”值,我得到了解决。但是对于OutputBuffer,它没有帮助。

0 个答案:

没有答案