summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--gst/mxf/mxfup.c12
2 files changed, 10 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index eeb82032..4945aa1a 100644
--- 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),
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;
}
}