GNOME Bugzilla – Bug 519088
gst_mulawdec_chain() may call gst_util_uint64_scale_int() with denom=0
Last modified: 2008-02-28 08:36:45 UTC
Please describe the problem: The change in gst-plugins-good/gst/law/mulaw-decode.c:gst_mulawdec_chain() to calculate the duration from the rate and channels causes an assertion in gst_util_uint64_scale_int() if there is no caps with these values set (it will get a denom of 0). I know too little about the linking of a pipeline to tell whether this should have been prevented already at the time the pipeline was linked, or if it is allowed to reach gst_mulawdec_chain() without a caps which does not contains rate or channels. Steps to reproduce: gst-launch fakesrc ! mulawdec ! fakesink Actual results: Expected results: Does this happen every time? Other information:
Hm, in theory this should've been set already as set_caps() should be called before any chain functions. Well, fixed in CVS :) 2008-02-28 Sebastian Dröge <slomo@circular-chaos.org> * gst/law/mulaw-decode.c: (gst_mulawdec_chain): Return GST_FLOW_NOT_NEGOTIATED when the caps are not set yet on the srcpad. We need rate and channels before we can do any processing. Fixes bug #519088.