gst/qtdemux/qtdemux.c: Also shove tags on kid pads.

Original commit message from CVS:
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Also shove tags on kid pads.
This commit is contained in:
Ronald S. Bultje 2005-01-10 16:24:14 +00:00
parent 5024a7c5b6
commit b3f034287c
2 changed files with 26 additions and 14 deletions

View file

@ -1,3 +1,8 @@
2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/qtdemux/qtdemux.c: (qtdemux_parse_tree):
Also shove tags on kid pads.
2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):

View file

@ -1860,19 +1860,6 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
GNode *trak;
GNode *udta;
udta = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_udta);
if (udta) {
qtdemux_parse_udta (qtdemux, udta);
if (qtdemux->tag_list) {
GST_DEBUG ("calling gst_element_found_tags with %s\n",
gst_structure_to_string (qtdemux->tag_list));
gst_element_found_tags (GST_ELEMENT (qtdemux), qtdemux->tag_list);
}
} else {
GST_LOG ("No udta node found.");
}
mvhd = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_mvhd);
if (mvhd == NULL) {
GST_LOG ("No mvhd node found.");
@ -1891,10 +1878,30 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
/* trak = qtdemux_tree_get_sibling_by_type(trak, FOURCC_trak);
if(trak)qtdemux_parse_trak(qtdemux, trak);*/
/* kid pads */
while ((trak = qtdemux_tree_get_sibling_by_type (trak, FOURCC_trak)) != NULL)
qtdemux_parse_trak (qtdemux, trak);
gst_element_no_more_pads (GST_ELEMENT (qtdemux));
/* tags */
udta = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_udta);
if (udta) {
qtdemux_parse_udta (qtdemux, udta);
if (qtdemux->tag_list) {
GstEvent *event;
gchar *t;
event = gst_event_new_tag (gst_tag_list_copy (qtdemux->tag_list));
gst_pad_event_default (qtdemux->sinkpad, event);
t = gst_structure_to_string (qtdemux->tag_list);
GST_DEBUG ("calling gst_element_found_tags with %s", t);
g_free (t);
gst_element_found_tags (GST_ELEMENT (qtdemux), qtdemux->tag_list);
}
} else {
GST_LOG ("No udta node found.");
}
}
static void