+2008-02-21 Stefan Kost <ensonic@users.sf.net>
+
+ * plugins/elements/gstqueue.c:
+ Ensure that buffer metadata is writeable, before modifying. Spotted by
+ Mike.
+
2008-02-20 Stefan Kost <ensonic@users.sf.net>
* plugins/elements/gstqueue.c:
}
if (queue->tail_needs_discont) {
- GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ GstBuffer *subbuffer = gst_buffer_make_metadata_writable (buffer);
+
+ if (subbuffer) {
+ buffer = subbuffer;
+ GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ } else {
+ GST_DEBUG_OBJECT (queue, "Could not mark buffer as DISCONT");
+ }
queue->tail_needs_discont = FALSE;
}
caps = GST_BUFFER_CAPS (buffer);
if (queue->head_needs_discont) {
- GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ GstBuffer *subbuffer = gst_buffer_make_metadata_writable (buffer);
+
+ if (subbuffer) {
+ buffer = subbuffer;
+ GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
+ } else {
+ GST_DEBUG_OBJECT (queue, "Could not mark buffer as DISCONT");
+ }
queue->head_needs_discont = FALSE;
}