diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gst/mxf/mxfup.c | 12 |
2 files changed, 10 insertions, 8 deletions
@@ -1,3 +1,9 @@ +2008-12-08 Sebastian Dröge <sebastian.droege@collabora.co.uk> + + * gst/mxf/mxfup.c: (mxf_up_handle_essence_element): + Don't create a subbuffer, instead just change the buffer metadata + of the input buffer. + 2008-12-07 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_finalize), diff --git a/gst/mxf/mxfup.c b/gst/mxf/mxfup.c index 77adcc03..a9e0826a 100644 --- a/gst/mxf/mxfup.c +++ b/gst/mxf/mxfup.c @@ -94,14 +94,10 @@ mxf_up_handle_essence_element (const MXFUL * key, GstBuffer * buffer, GST_ERROR ("Invalid buffer size"); return GST_FLOW_ERROR; } else { - *outbuf = - gst_buffer_create_sub (buffer, data->image_start_offset, - GST_BUFFER_SIZE (buffer) - data->image_end_offset - - data->image_start_offset); - gst_buffer_copy_metadata (*outbuf, buffer, - GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | - GST_BUFFER_COPY_CAPS); - gst_buffer_unref (buffer); + GST_BUFFER_DATA (buffer) += data->image_start_offset; + GST_BUFFER_SIZE (buffer) -= data->image_start_offset; + GST_BUFFER_SIZE (buffer) -= data->image_end_offset; + *outbuf = buffer; } } |