diff options
author | Jan Schmidt <thaytan@mad.scientist.com> | 2007-07-05 11:19:21 +0000 |
---|---|---|
committer | Jan Schmidt <thaytan@mad.scientist.com> | 2007-07-05 11:19:21 +0000 |
commit | 5f02c0eb85d6eec2b9a9ce6914f5e994d98b555e (patch) | |
tree | 82c29bbc0c7da3b22256f0ba9e9ba8ff249a1a67 | |
parent | b0aa56c7960dfb529502fb39fbddf599d4a387b7 (diff) |
ext/ffmpeg/gstffmpegenc.c: Fix the encoders by actually copying the encoded output data from the working area into th...
Original commit message from CVS:
* ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video),
(gst_ffmpegenc_flush_buffers):
Fix the encoders by actually copying the encoded output data from the
working area into the output buffer.
Fixes: #453135.
-rw-r--r-- | ChangeLog | 8 | ||||
m--------- | common | 0 | ||||
-rw-r--r-- | ext/ffmpeg/gstffmpegenc.c | 2 |
3 files changed, 10 insertions, 0 deletions
@@ -1,3 +1,11 @@ +2007-07-05 Jan Schmidt <thaytan@mad.scientist.com> + + * ext/ffmpeg/gstffmpegenc.c: (gst_ffmpegenc_chain_video), + (gst_ffmpegenc_flush_buffers): + Fix the encoders by actually copying the encoded output data from the + working area into the output buffer. + Fixes: #453135. + 2007-06-22 Jan Schmidt <thaytan@mad.scientist.com> * ext/ffmpeg/gstffmpegenc.c: (ffmpegenc_setup_working_buf), diff --git a/common b/common -Subproject 14c5a68981278f642e4ca5fd5ca08554fc78b34 +Subproject 5167bced491ffe62251c62d6c5e7b9a7541e97e diff --git a/ext/ffmpeg/gstffmpegenc.c b/ext/ffmpeg/gstffmpegenc.c index fefd4a9..05f34fe 100644 --- a/ext/ffmpeg/gstffmpegenc.c +++ b/ext/ffmpeg/gstffmpegenc.c @@ -634,6 +634,7 @@ gst_ffmpegenc_chain_video (GstPad * pad, GstBuffer * inbuf) GST_ERROR_SYSTEM); outbuf = gst_buffer_new_and_alloc (ret_size); + memcpy (GST_BUFFER_DATA (outbuf), ffmpegenc->working_buf, 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) @@ -778,6 +779,7 @@ gst_ffmpegenc_flush_buffers (GstFFMpegEnc * ffmpegenc, gboolean send) inbuf = g_queue_pop_head (ffmpegenc->delay); outbuf = gst_buffer_new_and_alloc (ret_size); + memcpy (GST_BUFFER_DATA (outbuf), ffmpegenc->working_buf, ret_size); GST_BUFFER_TIMESTAMP (outbuf) = GST_BUFFER_TIMESTAMP (inbuf); GST_BUFFER_DURATION (outbuf) = GST_BUFFER_DURATION (inbuf); |