mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-31 11:32:38 +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>
|
2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||||
|
|
||||||
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
|
* gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
|
||||||
|
|
|
@ -1860,19 +1860,6 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
|
||||||
GNode *trak;
|
GNode *trak;
|
||||||
GNode *udta;
|
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);
|
mvhd = qtdemux_tree_get_child_by_type (qtdemux->moov_node, FOURCC_mvhd);
|
||||||
if (mvhd == NULL) {
|
if (mvhd == NULL) {
|
||||||
GST_LOG ("No mvhd node found.");
|
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);
|
/* trak = qtdemux_tree_get_sibling_by_type(trak, FOURCC_trak);
|
||||||
if(trak)qtdemux_parse_trak(qtdemux, trak);*/
|
if(trak)qtdemux_parse_trak(qtdemux, trak);*/
|
||||||
|
|
||||||
|
/* kid pads */
|
||||||
while ((trak = qtdemux_tree_get_sibling_by_type (trak, FOURCC_trak)) != NULL)
|
while ((trak = qtdemux_tree_get_sibling_by_type (trak, FOURCC_trak)) != NULL)
|
||||||
qtdemux_parse_trak (qtdemux, trak);
|
qtdemux_parse_trak (qtdemux, trak);
|
||||||
|
|
||||||
gst_element_no_more_pads (GST_ELEMENT (qtdemux));
|
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
|
static void
|
||||||
|
|
Loading…
Reference in a new issue