mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
matroskademux: send global tags incrementally
Instead of sending only new tags once they are found, merge the taglist and send them incrementally.
This commit is contained in:
parent
af45021036
commit
7b2b619a8f
1 changed files with 4 additions and 3 deletions
|
@ -1424,14 +1424,15 @@ gst_matroska_demux_send_tags (GstMatroskaDemux * demux)
|
||||||
{
|
{
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
if (G_UNLIKELY (demux->common.global_tags != NULL)) {
|
if (G_UNLIKELY (demux->common.global_tags_changed)) {
|
||||||
GstEvent *tag_event;
|
GstEvent *tag_event;
|
||||||
gst_tag_list_add (demux->common.global_tags, GST_TAG_MERGE_REPLACE,
|
gst_tag_list_add (demux->common.global_tags, GST_TAG_MERGE_REPLACE,
|
||||||
GST_TAG_CONTAINER_FORMAT, "Matroska", NULL);
|
GST_TAG_CONTAINER_FORMAT, "Matroska", NULL);
|
||||||
GST_DEBUG_OBJECT (demux, "Sending global_tags %p : %" GST_PTR_FORMAT,
|
GST_DEBUG_OBJECT (demux, "Sending global_tags %p : %" GST_PTR_FORMAT,
|
||||||
demux->common.global_tags, demux->common.global_tags);
|
demux->common.global_tags, demux->common.global_tags);
|
||||||
|
|
||||||
tag_event = gst_event_new_tag (demux->common.global_tags);
|
tag_event =
|
||||||
|
gst_event_new_tag (gst_tag_list_copy (demux->common.global_tags));
|
||||||
|
|
||||||
for (i = 0; i < demux->common.src->len; i++) {
|
for (i = 0; i < demux->common.src->len; i++) {
|
||||||
GstMatroskaTrackContext *stream;
|
GstMatroskaTrackContext *stream;
|
||||||
|
@ -1441,7 +1442,7 @@ gst_matroska_demux_send_tags (GstMatroskaDemux * demux)
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_event_unref (tag_event);
|
gst_event_unref (tag_event);
|
||||||
demux->common.global_tags = NULL;
|
demux->common.global_tags_changed = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
g_assert (demux->common.src->len == demux->common.num_streams);
|
g_assert (demux->common.src->len == demux->common.num_streams);
|
||||||
|
|
Loading…
Reference in a new issue