summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-08-16 16:30:23 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-08-16 16:30:23 +0000
commit51a630d417c919faa50180883acc9cf9b907f662 (patch)
tree371128d9be71dd274613de871bfc82898f2d8828 /gst
parentb010056978822daaf12fe44600625e45a19ea17f (diff)
gst/: Uncomment metadata and codec-name handling.
Original commit message from CVS: * gst/avi/gstavidemux.c: (gst_avi_demux_parse_stream), (gst_avi_demux_stream_header): * gst/qtdemux/qtdemux.c: (gst_qtdemux_change_state), (gst_qtdemux_add_stream), (qtdemux_parse_tree): Uncomment metadata and codec-name handling.
Diffstat (limited to 'gst')
-rw-r--r--gst/avi/gstavidemux.c13
-rw-r--r--gst/qtdemux/qtdemux.c23
2 files changed, 15 insertions, 21 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c
index 40ad6f8a..bd354935 100644
--- a/gst/avi/gstavidemux.c
+++ b/gst/avi/gstavidemux.c
@@ -1057,6 +1057,14 @@ gst_avi_demux_parse_stream (GstElement * element, GstBuffer * buf)
gst_element_add_pad (GST_ELEMENT (avi), pad);
GST_LOG_OBJECT (element, "Added pad %s", gst_pad_get_name (pad));
+ if (codec_name) {
+ GstTagList *list = gst_tag_list_new ();
+
+ gst_tag_list_add (list, GST_TAG_MERGE_APPEND, tag_name, codec_name, NULL);
+ gst_element_found_tags_for_pad (GST_ELEMENT (avi), pad, list);
+ g_free (codec_name);
+ }
+
return TRUE;
fail:
@@ -1879,8 +1887,9 @@ gst_avi_demux_stream_header (GstAviDemux * avi)
sub = gst_buffer_create_sub (buf, 4, GST_BUFFER_SIZE (buf) - 4);
gst_riff_parse_info (GST_ELEMENT (avi), sub, &t);
- if (t)
- gst_tag_list_free (t);
+ if (t) {
+ gst_element_found_tags (GST_ELEMENT (avi), t);
+ }
gst_buffer_unref (buf);
}
/* gst_riff_read_chunk() has already advanced avi->offset */
diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c
index 3a5dbcd2..3d09ef8c 100644
--- a/gst/qtdemux/qtdemux.c
+++ b/gst/qtdemux/qtdemux.c
@@ -476,10 +476,6 @@ gst_qtdemux_change_state (GstElement * element)
qtdemux->last_ts = GST_CLOCK_TIME_NONE;
qtdemux->need_discont = TRUE;
qtdemux->need_flush = FALSE;
- if (qtdemux->tag_list) {
- gst_tag_list_free (qtdemux->tag_list);
- qtdemux->tag_list = NULL;
- }
for (n = 0; n < qtdemux->n_streams; n++) {
gst_element_remove_pad (element, qtdemux->streams[n]->pad);
g_free (qtdemux->streams[n]->samples);
@@ -788,11 +784,7 @@ gst_qtdemux_add_stream (GstQTDemux * qtdemux,
gst_pad_get_name (stream->pad), stream->pad, qtdemux);
gst_element_add_pad (GST_ELEMENT (qtdemux), stream->pad);
if (list) {
- gst_tag_list_free (list);
-/*
- gst_element_found_tags_for_pad (GST_ELEMENT (qtdemux),
- stream->pad, 0, list);
-*/
+ gst_element_found_tags_for_pad (GST_ELEMENT (qtdemux), stream->pad, list);
}
}
@@ -1860,17 +1852,10 @@ qtdemux_parse_tree (GstQTDemux * qtdemux)
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_DEBUG ("calling gst_element_found_tags with %" GST_PTR_FORMAT,
+ qtdemux->tag_list);
gst_element_found_tags (GST_ELEMENT (qtdemux), qtdemux->tag_list);
-*/
+ qtdemux->tag_list = NULL;
}
} else {
GST_LOG ("No udta node found.");