gst/gdp/gstgdppay.c (gst_gdp_pay_chain): tests/check/pipelines/streamheader.c (tag_ev...
authorThomas Vander Stichele <thomas@apestaart.org>
Sat, 14 Apr 2007 12:34:55 +0000 (12:34 +0000)
committerTim-Philipp Müller <tim@centricular.net>
Tue, 11 Sep 2012 00:54:32 +0000 (01:54 +0100)
Original commit message from CVS:
* gst/gdp/gstgdppay.c (gst_gdp_pay_chain):
* tests/check/pipelines/streamheader.c (tag_event_probe_cb,
GST_START_TEST, buffer_probe_cb, GST_START_TEST):
Fix a bug where serialized IN_CAPS buffers needed to be set IN_CAPS.

gst/gdp/gstgdppay.c
tests/check/pipelines/streamheader.c

index 9f3e0d6..554950d 100644 (file)
@@ -599,6 +599,15 @@ gst_gdp_pay_chain (GstPad * pad, GstBuffer * buffer)
   if (!outbuffer)
     goto no_buffer;
 
+  /* If the incoming buffer is IN_CAPS, that means we have it on the caps
+   * as streamheader, and we have serialized a GDP version of it and put it
+   * on our caps */
+  if (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_IN_CAPS)) {
+    GST_DEBUG_OBJECT (this, "Setting IN_CAPS flag on outgoing buffer %p",
+        outbuffer);
+    GST_BUFFER_FLAG_SET (outbuffer, GST_BUFFER_FLAG_IN_CAPS);
+  }
+
   gst_gdp_stamp_buffer (this, outbuffer);
   GST_BUFFER_TIMESTAMP (outbuffer) = GST_BUFFER_TIMESTAMP (buffer);
   GST_BUFFER_DURATION (outbuffer) = GST_BUFFER_DURATION (buffer);
index c38ea58..ea9d9ee 100644 (file)
@@ -195,8 +195,7 @@ GST_START_TEST (test_multifdsink_gdp_vorbisenc)
 
   g_main_loop_run (loop);
 
-  //FIXME: here's the bug
-  //assert_equals_int (n_in_caps, 3);
+  assert_equals_int (n_in_caps, 3);
 }
 
 GST_END_TEST;