GNOME Bugzilla – Bug 745973
matroskademux: gst_tag_list_insert: assertion 'GST_IS_TAG_LIST (into)' failed
Last modified: 2015-03-28 15:05:31 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
Created attachment 299031 [details] [review] quick patch Attached patch "fixes" the issue, but I suppose a taglist will be silently discarded.
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.
Created attachment 299412 [details] [review] Patch to fix sending of tags in matroskademux
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
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.