From 36f48450b19c7ea84f22e165cd5e1d4d203d555b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Sun, 3 Oct 2010 23:54:49 +0200 Subject: [PATCH] flacparse: Push tags before the header buffers are pushed --- gst/audioparsers/gstflacparse.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c index 765c73a..571166b 100644 --- a/gst/audioparsers/gstflacparse.c +++ b/gst/audioparsers/gstflacparse.c @@ -294,7 +294,6 @@ gst_flac_parse_finalize (GObject * object) flacparse->tags = NULL; } - g_list_foreach (flacparse->headers, (GFunc) gst_mini_object_unref, NULL); g_list_free (flacparse->headers); flacparse->headers = NULL; @@ -1180,6 +1179,11 @@ push_headers: gst_pad_set_caps (GST_BASE_PARSE_SRC_PAD (GST_BASE_PARSE (flacparse)), caps); gst_caps_unref (caps); + /* Push tags */ + if (flacparse->tags) + gst_element_found_tags (GST_ELEMENT (flacparse), + gst_tag_list_copy (flacparse->tags)); + /* push header buffers; update caps, so when we push the first buffer the * negotiated caps will change to caps that include the streamheader field */ for (l = flacparse->headers; l != NULL; l = l->next) { @@ -1198,11 +1202,6 @@ push_headers: g_list_free (flacparse->headers); flacparse->headers = NULL; - /* Push tags */ - if (flacparse->tags) - gst_element_found_tags (GST_ELEMENT (flacparse), - gst_tag_list_copy (flacparse->tags)); - return TRUE; } -- 2.7.4