two problems with latest matroska mux/demux

Glen Diener grd at loganmill.net
Fri Jul 24 14:51:12 PDT 2015


I have run into two problems with the matroska plugins in
plugins-good, working with the latest development build, as of July
24, 2015.


First, I can't get matroskamux to write track tags unless I set the
'streamable' property to true.  As a simple demo:

$ gst-launch-1.0 -e videotestsrc ! taginject tags=comment=hello !
matroskamux ! filesink location=x.mkv

After control-c, running "mkvinfo x.mkv"  indicates the 'comment' tag
is not set. Rerunning with streamable=true:

$ gst-launch-1.0 -e videotestsrc ! taginject tags=title=hello !
matroskamux streamable=true ! filesink location=x.mkv

...and mkvinfo verifies that the tag is now set.  I can see from the
source code (matroskamux.c, line 2573) that this is intentional
behavior.  Can someone suggest why this is so?  I modified
matroskamux.c to delete this requirement: this  fixed it for me, and
nothing has blown up so far.


Second, and more vexing, I can not get gstreamer to report track tags
at all. I know they are in there (mkvinfo tells me so), but I can't
extract them in my own application code and, it seems, neither can
gst-launch. For example:

$ gst-launch-1.0 -e videotestsrc ! taginject tags=comment=hello !
matroskamux streamable=true ! filesink location=x.mkv

mvkinfo verifies that the tag is set. But the following only reports
the implicit tags:

$ gst-launch-1.0 -t filesrc location=./x.mkv ! matroskademux ! fakesink

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
FOUND TAG      : found by element "fakesink0".
container format: Matroska
FOUND TAG      : found by element "fakesink0".
     video codec: Uncompressed planar YUV 4:4:4
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...

Am I missing something, or is this just broken?

Thanks,

-grd


More information about the gstreamer-devel mailing list