kate: mark header buffers as such
authorTim-Philipp Müller <tim@centricular.net>
Sun, 14 Apr 2013 22:19:44 +0000 (23:19 +0100)
committerTim-Philipp Müller <tim@centricular.net>
Sun, 14 Apr 2013 23:54:00 +0000 (00:54 +0100)
ext/kate/gstkateenc.c
ext/kate/gstkateparse.c
ext/kate/gstkateutil.c

index 4df6ca330197936305b3ed5429e8610c8520ecde..b2865f7d4fc91a66c2b31b7f0206dd4143970936 100644 (file)
@@ -606,6 +606,7 @@ gst_kate_enc_send_headers (GstKateEnc * ke)
       }
       kate_packet_clear (&kp);
 
+      GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_HEADER);
       headers = g_list_append (headers, buffer);
     } else if (ret > 0) {
       GST_LOG_OBJECT (ke, "Last header encoded");
index 52bae27baffecb98e20135fabf3f83d955be1513..eef7acf020245f21140ab3e9c63fa9bae0a01d8e 100644 (file)
@@ -200,6 +200,7 @@ gst_kate_parse_push_headers (GstKateParse * parse)
     }
     gst_buffer_unmap (outbuf, &info);
     /* takes ownership of outbuf, which was previously in parse->streamheader */
+    GST_BUFFER_FLAG_SET (outbuf, GST_BUFFER_FLAG_HEADER);
     outbuf_list = g_list_append (outbuf_list, outbuf);
     headers = headers->next;
   }
index 1d373269e78ee28f01ebc12c6e8bcf8ad643991b..d6c45d8d8713f1b5152875da3ef259f228fcde51 100644 (file)
@@ -61,17 +61,16 @@ gst_kate_util_set_header_on_caps (GstElement * element, GstCaps * caps,
     GstBuffer *buffer = headers->data;
     g_assert (buffer);
     g_value_init (&value, GST_TYPE_BUFFER);
-    /* as in theoraenc, we need to copy to avoid circular references */
     buffer = gst_buffer_copy (buffer);
-    gst_value_set_buffer (&value, buffer);
-    gst_buffer_unref (buffer);
+    GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_HEADER);
+    gst_value_take_buffer (&value, buffer);
     gst_value_array_append_value (&array, &value);
     g_value_unset (&value);
     headers = headers->next;
   }
 
-  gst_structure_set_value (structure, "streamheader", &array);
-  g_value_unset (&array);
+  gst_structure_take_value (structure, "streamheader", &array);
+
   GST_LOG_OBJECT (element, "here are the newly set caps: %" GST_PTR_FORMAT,
       caps);