gst/mxf/mxfup.c: Don't create a subbuffer, instead just change the buffer metadata...
authorSebastian Dröge <slomo@circular-chaos.org>
Mon, 8 Dec 2008 13:48:46 +0000 (13:48 +0000)
committerSebastian Dröge <slomo@circular-chaos.org>
Mon, 8 Dec 2008 13:48:46 +0000 (13:48 +0000)
Original commit message from CVS:
* gst/mxf/mxfup.c: (mxf_up_handle_essence_element):
Don't create a subbuffer, instead just change the buffer metadata
of the input buffer.

ChangeLog
gst/mxf/mxfup.c

index eeb8203..4945aa1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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),
index 77adcc0..a9e0826 100644 (file)
@@ -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;
     }
   }