[gst-cvs] gst-plugins-base: Bug 593035 - set IN_CAPS for streamheader buffer
Zaheer Abbas Merali
zaheer at kemper.freedesktop.org
Fri Aug 28 00:45:25 PDT 2009
Module: gst-plugins-base
Branch: master
Commit: 605f3c2942779259f49b13733473521497d0a2bb
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=605f3c2942779259f49b13733473521497d0a2bb
Author: Marc-André Lureau <mlureau at flumotion.com>
Date: Thu Aug 27 18:59:49 2009 +0200
Bug 593035 - set IN_CAPS for streamheader buffer
---
gst/gdp/gstgdppay.c | 17 +++++++++++++++++
1 files changed, 17 insertions(+), 0 deletions(-)
diff --git a/gst/gdp/gstgdppay.c b/gst/gdp/gstgdppay.c
index 8dae446..dc487d8 100644
--- a/gst/gdp/gstgdppay.c
+++ b/gst/gdp/gstgdppay.c
@@ -432,12 +432,29 @@ gst_gdp_pay_reset_streamheader (GstGDPPay * this)
bufval = &g_array_index (buffers, GValue, i);
buffer = g_value_peek_pointer (bufval);
+ /* this buffer is deserialized by gdpdepay as a regular buffer,
+ it needs IN_CAPS, because it's a streamheader - otherwise it
+ is mixed with regular data buffers */
+ GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_IN_CAPS);
+ GST_BUFFER_OFFSET (buffer) = GST_BUFFER_OFFSET_NONE;
+ GST_BUFFER_OFFSET_END (buffer) = GST_BUFFER_OFFSET_NONE;
+ GST_BUFFER_TIMESTAMP (buffer) = GST_CLOCK_TIME_NONE;
+
outbuffer = gst_gdp_pay_buffer_from_buffer (this, buffer);
if (!outbuffer) {
g_value_unset (&array);
goto no_buffer;
}
+ /* Setting IN_CAPS as other GDP event buffers */
+ GST_DEBUG_OBJECT (this,
+ "Setting IN_CAPS flag on outgoing buffer %" GST_PTR_FORMAT,
+ outbuffer);
+ GST_BUFFER_FLAG_SET (outbuffer, GST_BUFFER_FLAG_IN_CAPS);
+ GST_BUFFER_OFFSET (outbuffer) = GST_BUFFER_OFFSET_NONE;
+ GST_BUFFER_OFFSET_END (outbuffer) = GST_BUFFER_OFFSET_NONE;
+ GST_BUFFER_TIMESTAMP (outbuffer) = GST_CLOCK_TIME_NONE;
+
g_value_init (&value, GST_TYPE_BUFFER);
gst_value_set_buffer (&value, outbuffer);
gst_value_array_append_value (&array, &value);
More information about the Gstreamer-commits
mailing list