can not recover video file: GstQTMoovRecover:qtmoovrecover0: Broken file could not be parsed correctly
Submitted by Maud
Link to original bug (#796703)
Description
Hello,
I'm trying to use the qtmoovrecover, but when I run the corresponding pipeline it issues an error and recovered file is empty.
In order to reproduce my issue I got a video using the following pipeline:
gst-launch-1.0 -v videotestsrc is-live=true ! x264enc ! qtmux moov-recovery-file=test.mrf ! filesink location=test.mov
as I did not put the "-e" option EOS is not sent and the file is not readable (I want to simulate an application's crash)
then I run the command:
gst-launch-1.0 qtmoovrecover broken-input=test.mov recovery-input=test.mrf fixed-output=test-recovered.mov
the output of this command is:
Setting pipeline to PAUSED ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstQTMoovRecover:qtmoovrecover0: Broken file could not be parsed correctly
Additional debug info:
gstqtmoovrecover.c(229): gst_qt_moov_recover_run (): /GstQTMoovRecover:qtmoovrecover0
Execution ended after 0:00:00.000135241
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
(please find more log in the attached file)
I noticed that not matter how long I let the first pipeline run the size of the mrf is always the same:
-rw-rw-r-- 1 maud maud 12993848 juin 28 11:46 test.mov
-rw-rw-r-- 1 maud maud 728 juin 28 11:45 test.mrf
-rw-rw-r-- 1 maud maud 0 juin 28 11:49 test-rec.mov
even if I terminate my first pipeline, which generates the video, using the "-e" option and send an EOS on termination, the result is the same.
the output file of the recovering pipeline is empty and so not exploitable.
best regards
Maud
Version: 1.x