mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-19 00:01:23 +00:00
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:
parent
5024a7c5b6
commit
b3f034287c
2 changed files with 26 additions and 14 deletions
|
@ -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):
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue