summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2010-10-03 23:54:49 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2010-10-04 08:09:57 +0200
commit65f620af8ea66ac79cf59332ded53ea7e5bc11b3 (patch)
treee99c5071a37f1caec437428a2ba3be779e38d3e5
parent1a49b4de63a92d481e6d45ea33f324875d012182 (diff)
flacparse: Push tags before the header buffers are pushed
-rw-r--r--gst/audioparsers/gstflacparse.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/gst/audioparsers/gstflacparse.c b/gst/audioparsers/gstflacparse.c
index 765c73a1e..571166bbd 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;
}