From: Luca Ognibene Date: Mon, 27 Jun 2005 21:02:40 +0000 (+0000) Subject: ext/ffmpeg/: more DELTA_UNIT / KEY_UNIT fixes X-Git-Tag: 1.19.3~499^2~1839 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=26d61e741bc664223203c89af42191ece9882c0f;p=platform%2Fupstream%2Fgstreamer.git ext/ffmpeg/: more DELTA_UNIT / KEY_UNIT fixes 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 --- diff --git a/ChangeLog b/ChangeLog index 9050de7..cfa9ffe 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,14 @@ reviewed by: Luca Ognibene + * 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 + + reviewed by: Luca Ognibene + * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_formatid_get_codecids), (gst_ffmpeg_caps_to_codecid): add flv encoder diff --git a/ext/ffmpeg/gstffmpegdemux.c b/ext/ffmpeg/gstffmpegdemux.c index bc2818b..3b714c0 100644 --- a/ext/ffmpeg/gstffmpegdemux.c +++ b/ext/ffmpeg/gstffmpegdemux.c @@ -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)); } diff --git a/ext/ffmpeg/gstffmpegenc.c b/ext/ffmpeg/gstffmpegenc.c index fb5cb19..1b52db6 100644 --- a/ext/ffmpeg/gstffmpegenc.c +++ b/ext/ffmpeg/gstffmpegenc.c @@ -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));