two problems with latest matroska mux/demux

grd grd at loganmill.net
Fri Jul 24 17:04:26 PDT 2015


Thanks for your quick reply!

Here's a simple patch that for the first issue ( user-tags not written out
by matroskamux unless the streamable property is set to true).  This simply
disables a particular test for the streamable property:

diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index 9f79175..ff0971e 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -2729,7 +2729,8 @@ gst_matroska_mux_start (GstMatroskaMux * mux)
     gst_ebml_write_master_finish (ebml, master);
   }
 
-  if (mux->streamable) {
+  //  if (mux->streamable) {
+  if (1) {  // Write tags regardless of value of mux->streamable
     const GstTagList *tags;
     gboolean has_main_tags;

Re the second problem, I'm not sure what the write vocabulary is for this:
I'm referring to user-supplied metadata tags associated with individual
streams...  Here's an example of gstreamer-created mvk where I added a
comment=hello tag.  mvkvinfo clearly shows it in the file:

$ mkvinfo x.mkv
+ EBML head
|+ Doc type: matroska
|+ Doc type version: 2
|+ Doc type read version: 2
+ Segment, size unknown
|+ Tags
| + Tag
|  + Targets
|   + TrackUID: 1575943898053001244
|  + Simple
|   + Name: COMMENTS
|   + String: hello
|+ Segment information
| + Segment UID: 0xa5 0x38 0x5e 0xc9 0xd0 0x2d 0xc2 0x66 0xee 0x2a 0x66 0x30
0x03 0xd6 0x0c 0x13
| + Timecode scale: 1000000
| + Muxing application: GStreamer matroskamux version 1.5.2.1
| + Writing application: GStreamer Matroska muxer
| + Date: Fri Jul 24 23:48:46 2015 UTC
|+ Segment tracks
| + A track
|  + Track number: 1 (track ID for mkvmerge & mkvextract: 0)
|  + Track type: video
|  + Track UID: 1575943898053001244
|  + Default duration: 33.333ms (30.000 frames/fields per second for a video
track)
|  + Name: Video
|  + Video track
|   + Pixel width: 320
|   + Pixel height: 240
|   + Colour space: length 4, data: 0x49 0x34 0x32 0x30
|  + Codec ID: V_UNCOMPRESSED
|+ Cluster


...gst-launch, however, with a -t argument, claims to find the "container
format" and "video codec" tags: I believe these are added explicitly by
matroskamux. But the "comment" tag is not reported:


$ 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 ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 0:00:00.182888340
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...

thanks,

-grd



--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/two-problems-with-latest-matroska-mux-demux-tp4672845p4672847.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list