GNOME Bugzilla – Bug 308633
Matroska muxer always fails
Last modified: 2005-07-01 17:22:47 UTC
Running gst-launch-0.8 sinesrc ! matroskamux ! filesink location=t.mkv ends with RUNNING pipeline ... ERROR: from element /pipeline0/matroskamux0: Could not multiplex stream. Additional debug info: matroska-mux.c(1136): gst_matroska_mux_loop: /pipeline0/matroskamux0: No data Execution ended after 1 iterations (sum 64911000 ns, average 64911000 ns, min 64911000 ns, max 64911000 ns). Tested with CVS version
I have found the source of the bug: gst_matroska_mux_prepare_data (mux) is called in the _loop function before gst_matroska_mux_start (mux); The problem is that gst_matroska_mux_prepare_data assumes that mux->sink[i].track->num is > 0 for at least one sink pad but the track nums are set to valid numbers only in gst_matroska_mux_start. One solution would be to remove the test mux->sink[i].track->num > 0 from gst_matroska_mux_prepare_data This should be OK since there is still test GST_PAD_IS_USABLE (mux->sink[i].track->pad) and all usable pads will get track->num later in gst_matroska_mux_start
Yes, good point. Will apply after release.
Applied, thanks.