omx: Fix refcount problem with frames being dropped because of decoder bugs
authorSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 12 Nov 2012 14:14:09 +0000 (15:14 +0100)
committerSebastian Dröge <sebastian.droege@collabora.co.uk>
Mon, 12 Nov 2012 14:14:09 +0000 (15:14 +0100)
omx/gstomxvideodec.c
omx/gstomxvideoenc.c

index 4dc7d8e..03ccf5f 100644 (file)
@@ -344,7 +344,8 @@ _find_nearest_frame (GstOMXVideoDec * self, GstOMXBuffer * buf)
 
       if (diff_ticks > MAX_FRAME_DIST_TICKS
           || diff_frames > MAX_FRAME_DIST_FRAMES) {
-        finish_frames = g_list_prepend (finish_frames, tmp);
+        finish_frames =
+            g_list_prepend (finish_frames, gst_video_codec_frame_ref (tmp));
       }
     }
   }
index ebd3afc..4e64466 100644 (file)
@@ -582,7 +582,8 @@ _find_nearest_frame (GstOMXVideoEnc * self, GstOMXBuffer * buf)
 
       if (diff_ticks > MAX_FRAME_DIST_TICKS
           || diff_frames > MAX_FRAME_DIST_FRAMES) {
-        finish_frames = g_list_prepend (finish_frames, tmp);
+        finish_frames =
+            g_list_prepend (finish_frames, gst_video_codec_frame_ref (tmp));
       }
     }
   }