Comment 1 for bug 1234007

Revision history for this message
Ricardo Salveti (rsalveti) wrote :

See that mako's OMX element is a bit smarter and decides to release a few buffers before they are consumed later on. This breaks the current buffer list logic inside compat/media/media_codec_layer.cpp, causing an index out of range issue.

V/MediaCodecLayer( 4647): size_t media_codec_get_output_buffers_size(MediaCodecDelegate)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): size_t media_codec_get_nth_output_buffer_capacity(MediaCodecDelegate, size_t)
V/MediaCodecLayer( 4647): uint8_t* media_codec_get_nth_output_buffer(MediaCodecDelegate, size_t)
F/MediaCodecLayer( 4647): const TYPE& android::Vector<TYPE>::operator[](size_t) const [with TYPE = android::sp<android::ABuffer>; size_t = unsigned int]: index=9 out of range (9)