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