ext/ffmpeg/: more DELTA_UNIT / KEY_UNIT fixes
authorLuca Ognibene <luogni@tin.it>
Mon, 27 Jun 2005 21:02:40 +0000 (21:02 +0000)
committerLuca Ognibene <luogni@tin.it>
Mon, 27 Jun 2005 21:02:40 +0000 (21:02 +0000)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
more DELTA_UNIT / KEY_UNIT fixes

ChangeLog
ext/ffmpeg/gstffmpegdemux.c
ext/ffmpeg/gstffmpegenc.c

index 9050de7..cfa9ffe 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,6 +2,14 @@
 
        reviewed by: Luca Ognibene <luogni@tin.it>
 
+       * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
+       * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video):
+       more DELTA_UNIT / KEY_UNIT fixes
+
+2005-06-27  Daniel Fischer  <dan@f3c.com>
+
+       reviewed by: Luca Ognibene <luogni@tin.it>
+
        * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps),
        (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid):
        add flv encoder
index bc2818b..3b714c0 100644 (file)
@@ -661,9 +661,10 @@ gst_ffmpegdemux_loop (GstElement * element)
       demux->last_ts[stream->index] = GST_BUFFER_TIMESTAMP (outbuf);
     }
 
-    if (pkt.flags & PKT_FLAG_KEY) {
+    if (pkt.flags & PKT_FLAG_KEY)
       GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_KEY_UNIT);
-    }
+    else
+      GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_DELTA_UNIT);
 
     gst_pad_push (pad, GST_DATA (outbuf));
   }
index fb5cb19..1b52db6 100644 (file)
@@ -488,7 +488,9 @@ gst_ffmpegenc_chain_video (GstPad * pad, GstData * _data)
   GST_BUFFER_SIZE (outbuf) = ret_size;
   GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf);
   GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf);
-  if (ffmpegenc->context->coded_frame->key_frame == 0)
+  if (ffmpegenc->context->coded_frame->key_frame)
+    GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_KEY_UNIT);
+  else
     GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_DELTA_UNIT);
   gst_pad_push (ffmpegenc->srcpad, GST_DATA (outbuf));