ext/theora/theoradec.c: Post taglist actually on bus instead of just freeing it (fixes #327114 and totem bug #327080).

Original commit message from CVS:
* ext/theora/theoradec.c: (theora_handle_comment_packet):
Post taglist actually on bus instead of just freeing it
(fixes #327114 and totem bug #327080).
* ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet):
Use gst_element_found_tags_for_pad(), so that the tags
are sent downstream as an event as well.
This commit is contained in:
Tim-Philipp Müller 2006-01-16 15:19:55 +00:00
parent 71d80c4751
commit 2d15397f29
3 changed files with 18 additions and 6 deletions

View file

@ -1,3 +1,13 @@
2006-01-16 Tim-Philipp Müller <tim at centricular dot net>
* ext/theora/theoradec.c: (theora_handle_comment_packet):
Post taglist actually on bus instead of just freeing it
(fixes #327114 and totem bug #327080).
* ext/vorbis/vorbisdec.c: (vorbis_handle_comment_packet):
Use gst_element_found_tags_for_pad(), so that the tags
are sent downstream as an event as well.
2006-01-15 Thomas Vander Stichele <thomas at apestaart dot org>
* sys/ximage/ximagesink.c: (gst_ximage_buffer_finalize),

View file

@ -684,11 +684,15 @@ theora_handle_comment_packet (GstTheoraDec * dec, ogg_packet * packet)
}
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE,
GST_TAG_ENCODER_VERSION, dec->info.version_major,
GST_TAG_NOMINAL_BITRATE, dec->info.target_bitrate,
GST_TAG_VIDEO_CODEC, "Theora", NULL);
//gst_element_found_tags_for_pad (GST_ELEMENT (dec), dec->srcpad, 0, list);
gst_tag_list_free (list);
if (dec->info.target_bitrate > 0) {
gst_tag_list_add (list, GST_TAG_MERGE_REPLACE,
GST_TAG_BITRATE, dec->info.target_bitrate,
GST_TAG_NOMINAL_BITRATE, dec->info.target_bitrate, NULL);
}
gst_element_found_tags_for_pad (GST_ELEMENT (dec), dec->srcpad, list);
return GST_FLOW_OK;
}

View file

@ -568,7 +568,6 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
{
guint bitrate = 0;
gchar *encoder = NULL;
GstMessage *message;
GstTagList *list;
GstBuffer *buf;
@ -617,8 +616,7 @@ vorbis_handle_comment_packet (GstVorbisDec * vd, ogg_packet * packet)
GST_TAG_BITRATE, (guint) bitrate, NULL);
}
message = gst_message_new_tag ((GstObject *) vd, list);
gst_element_post_message (GST_ELEMENT (vd), message);
gst_element_found_tags_for_pad (GST_ELEMENT (vd), vd->srcpad, list);
return GST_FLOW_OK;
}