diff --git a/ChangeLog b/ChangeLog index eeb820324d..4945aa1a87 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-12-08 Sebastian Dröge + + * 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 * gst/mxf/mxfdemux.c: (gst_mxf_demux_pad_finalize), diff --git a/gst/mxf/mxfup.c b/gst/mxf/mxfup.c index 77adcc0352..a9e0826a25 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; } }