After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 745973 - matroskademux: gst_tag_list_insert: assertion 'GST_IS_TAG_LIST (into)' failed
matroskademux: gst_tag_list_insert: assertion 'GST_IS_TAG_LIST (into)' failed
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other All
: Normal normal
: 1.5.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-03-10 16:49 UTC by Ramiro Polla
Modified: 2015-03-28 15:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
backtrace (24.16 KB, text/plain)
2015-03-10 16:49 UTC, Ramiro Polla
  Details
quick patch (661 bytes, patch)
2015-03-10 17:02 UTC, Ramiro Polla
none Details | Review
another quick patch (672 bytes, patch)
2015-03-10 17:45 UTC, Ramiro Polla
none Details | Review
Patch to fix sending of tags in matroskademux (6.21 KB, patch)
2015-03-14 17:38 UTC, Ramiro Polla
committed Details | Review

Description Ramiro Polla 2015-03-10 16:49:20 UTC
Created attachment 299027 [details]
backtrace

matroskademux hits an assertion while sending pending_tags on a file created with gstreamer itself.

To reproduce:
$ gst-launch-1.0 -e videotestsrc ! x264enc ! h264parse ! matroskamux ! filesink location=output.mkv sync=true
(hit CTRL+C)
$ gst-launch-1.0 playbin uri=file://$PWD/output.mkv
Comment 1 Ramiro Polla 2015-03-10 17:02:30 UTC
Created attachment 299031 [details] [review]
quick patch

Attached patch "fixes" the issue, but I suppose a taglist will be silently discarded.
Comment 2 Ramiro Polla 2015-03-10 17:45:08 UTC
Created attachment 299040 [details] [review]
another quick patch

This patch doesn't discard the taglist immediately, but gst_matroska_demux_send_event() is not called afterwards to deal with the pending tags, so they are still ignored.
Comment 3 Ramiro Polla 2015-03-14 17:38:57 UTC
Created attachment 299412 [details] [review]
Patch to fix sending of tags in matroskademux
Comment 4 Thiago Sousa Santos 2015-03-14 18:25:14 UTC
commit 0fad053497d46bba8b9785ae9c33fa29368ed7a1
Author: Ramiro Polla <ramiro.polla@collabora.co.uk>
Date:   Sat Mar 14 16:39:09 2015 +0100

    matroskademux: fix sending of tags
    
    * Fix critical when new tags are found after segment event has already
      been sent.
    * Send global tags before stream tags.
    * Split sending of tags out of gst_matroska_demux_send_event() into its
      own function.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=745973
Comment 5 Thiago Sousa Santos 2015-03-28 15:05:31 UTC
These commits were follow ups to this bug, leaving them here for reference

commit d56b11af56b53157fca03e9b21aa827164d10a00
Author: Thiago Santos <thiagoss@osg.samsung.com>
Date:   Fri Mar 27 18:58:31 2015 -0300

    matroska: store stream tags and push as updated
    
    New tags can be found on different parts of the file, so this patch
    keeps the stream taglists around for the life cycle of the pad
    and adds those new tags as found. Then a new tag is found, the
    pad's is marked with a tags changed flag, making the element push
    a new tag event on the next check. Before this, we were sending
    only the newly found tags, as the element was losing its taglist
    when pushing the event.

commit 7b2b619a8f9a9329a979dd7d96a339a8740c57d0
Author: Ramiro Polla <ramiro.polla@collabora.co.uk>
Date:   Sun Mar 15 14:40:36 2015 +0100

    matroskademux: send global tags incrementally
    
    Instead of sending only new tags once they are found, merge the taglist
    and send them incrementally.