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 782217 - qtdemux: GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0' failed
qtdemux: GStreamer-CRITICAL **: _gst_util_uint64_scale: assertion 'denom != 0...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
unspecified
Other Linux
: Normal normal
: 1.13.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2017-05-05 12:53 UTC by Carlos Garcia Campos
Modified: 2017-10-10 15:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch (1.05 KB, patch)
2017-10-06 10:00 UTC, Nael Ouedraogo
committed Details | Review

Description Carlos Garcia Campos 2017-05-05 12:53:13 UTC
This is happening in a lot of WebKit tests. The problem is in gst_qtdemux_configure_stream. Initially stream->n_samples is > 1, but I guess it's fragmented and n_samples_moof > 0 && duration_moof > 0 so n_samples is changed to n_samples_moof which is 1. With n_samples = 1 we end up calling gst_util_uint64_scale_round() with a 0 denom.
Comment 1 Sebastian Dröge (slomo) 2017-05-08 13:37:39 UTC
Can you provide a testcase for this? Should be reproducible with whatever input goes into qtdemux and gst-launch.
Comment 2 Enrique Ocaña González 2017-09-29 11:06:30 UTC
I have a test case:

gst-launch-1.0 souphttpsrc location='https://github.com/w3c/web-platform-tests/blob/master/media-source/mp4/test.mp4?raw=true' ! qtdemux ! fakesink

You can also download the file by yourself and use filesrc location='/tmp/test.mp4', of course.
Comment 3 Nael Ouedraogo 2017-10-06 10:00:56 UTC
Created attachment 361032 [details] [review]
Patch
Comment 4 Nael Ouedraogo 2017-10-06 10:08:14 UTC
Uploaded patch should fix the issue. I implemented the patch for v1.10.5.
Comment 5 Sebastian Dröge (slomo) 2017-10-10 15:04:19 UTC
commit 5874bafa4f17592fdee41d49bfe6f75c1d44f7ec (HEAD -> master)
Author: Nael Ouedraogo <nael.ouedraogo@crf.canon.fr>
Date:   Fri Sep 22 18:41:52 2017 +0200

    qtdemux: fix assert when moof containing one sample
    
    Avoid computing frame rate when a stream contain moof with only one
    sample, to avoid an assert. The moof is considered as still picture.
    
    The same is already done for one sample given in the moov.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=782217