After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 796703 - can not recover video file: GstQTMoovRecover:qtmoovrecover0: Broken file could not be parsed correctly
can not recover video file: GstQTMoovRecover:qtmoovrecover0: Broken file cou...
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.x
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-06-28 10:05 UTC by Maud
Modified: 2018-11-03 15:31 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Maud 2018-06-28 10:05:49 UTC
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
Comment 1 GStreamer system administrator 2018-11-03 15:31:29 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/487.