omxvideodec: Don't forget to populate output port
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 8 Mar 2013 14:56:40 +0000 (15:56 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Fri, 8 Mar 2013 14:58:01 +0000 (15:58 +0100)
omx/gstomxvideodec.c

index 2009426..faf4a3f 100644 (file)
@@ -1452,6 +1452,10 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
       if (err != OMX_ErrorNone)
         goto reconfigure_error;
 
+      err = gst_omx_port_populate (port);
+      if (err != OMX_ErrorNone)
+        goto reconfigure_error;
+
       err = gst_omx_port_mark_reconfigured (port);
       if (err != OMX_ErrorNone)
         goto reconfigure_error;
@@ -2097,6 +2101,10 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
     return FALSE;
   }
 
+  if (!needs_disable)
+    if (gst_omx_port_populate (self->dec_out_port) != OMX_ErrorNone)
+      return FALSE;
+
   /* Start the srcpad loop again */
   GST_DEBUG_OBJECT (self, "Starting task again");
 
@@ -2131,6 +2139,7 @@ gst_omx_video_dec_reset (GstVideoDecoder * decoder, gboolean hard)
 
   gst_omx_port_set_flushing (self->dec_in_port, 5 * GST_SECOND, FALSE);
   gst_omx_port_set_flushing (self->dec_out_port, 5 * GST_SECOND, FALSE);
+  gst_omx_port_populate (self->dec_out_port);
 
   /* Start the srcpad loop again */
   self->last_upstream_ts = 0;