From 3d26fc3d8f27af38cf21276cc45500cef64e0e8c Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Mon, 4 Oct 2010 17:08:43 +0200 Subject: [PATCH] theoraparse: set caps on streamheader too --- ext/theora/gsttheoraparse.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/ext/theora/gsttheoraparse.c b/ext/theora/gsttheoraparse.c index b7e1c71..289b928 100644 --- a/ext/theora/gsttheoraparse.c +++ b/ext/theora/gsttheoraparse.c @@ -307,8 +307,6 @@ theora_parse_set_streamheader (GstTheoraParse * parse) if (buf == NULL) continue; - gst_buffer_set_caps (buf, GST_PAD_CAPS (parse->srcpad)); - packet.packet = GST_BUFFER_DATA (buf); packet.bytes = GST_BUFFER_SIZE (buf); packet.granulepos = GST_BUFFER_OFFSET_END (buf); @@ -368,8 +366,12 @@ theora_parse_push_headers (GstTheoraParse * parse) for (i = 0; i < 3; i++) { GstBuffer *buf; - if ((buf = parse->streamheader[i])) - gst_pad_push (parse->srcpad, gst_buffer_ref (buf)); + if ((buf = parse->streamheader[i])) { + buf = gst_buffer_make_metadata_writable (buf); + gst_buffer_set_caps (buf, GST_PAD_CAPS (parse->srcpad)); + gst_pad_push (parse->srcpad, buf); + parse->streamheader[i] = NULL; + } } } -- 2.7.4