Comment 4 for bug 1234007

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

The following patch, to just request outputbuffers from media_codec every time the function is called, fixes the issue.

Not pushing it further as I want Jim to make sure this is not reflected somewhere in the hybris/gstreamer code.

diff --git a/compat/media/media_codec_layer.cpp b/compat/media/media_codec_layer.cpp
index b5f3bc8..eed34af 100644
--- a/compat/media/media_codec_layer.cpp
+++ b/compat/media/media_codec_layer.cpp
@@ -478,8 +478,8 @@ size_t media_codec_get_output_buffers_size(MediaCodecDelegate delegate)
     if (d == NULL)
         return BAD_VALUE;

- if (d->output_buffers.size() == 0)
- {
+// if (d->output_buffers.size() == 0)
+// {
         status_t ret = d->media_codec->getOutputBuffers(&d->output_buffers);
         if (ret != OK)
         {
@@ -487,7 +487,7 @@ size_t media_codec_get_output_buffers_size(MediaCodecDelegate delegate)
             return 0;
         }
         ALOGD("Got %d output buffers", d->output_buffers.size());
- }
+// }

     return d->output_buffers.size();
 }