mp4mux: pipeline never starts playing when specifying the moov-recovery-file option
The moov-recovery-file
option seems to be broken in (at least) 1.18.5:
$ gst-launch-1.0 --version
gst-launch-1.0 version 1.18.5
GStreamer 1.18.5
https://www.archlinux.org/
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
^C^Z
[1]+ Stopped gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
$ killall -9 gst-launch-1.0
$
[1]+ Killed gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux moov-recovery-file=out.recover ! filesink location=out.mp4
$
$ du out.mp4 out.recover
0 out.mp4
0 out.recover
When removing the moov-recovery-file option, the pipeline works:
$ gst-launch-1.0 -e videotestsrc ! video/x-raw,width=1920,height=1080 ! x264enc ! h264parse ! mp4mux ! filesink location=out.mp4
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Redistribute latency...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
^Chandling interrupt.
Interrupt: Stopping pipeline ...
EOS on shutdown enabled -- Forcing EOS on the pipeline
Waiting for EOS...
Got EOS from element "pipeline0".
EOS received - stopping pipeline...
Execution ended after 0:00:06.243538418
Setting pipeline to NULL ...
Freeing pipeline ...
$ du out.mp4
1356 out.mp4