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 632070 - qtmux: infinite loop
qtmux: infinite loop
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.21
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-13 15:33 UTC by Andy Wingo
Modified: 2010-10-13 15:52 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Andy Wingo 2010-10-13 15:33:01 UTC
Verily does qtmux do this:


  /* bring frame numerator into a range that ensures both reasonable resolution
   * as well as a fair duration */
  rate = adjust_rate (framerate_num);

after having pulled framerate_num from caps. adjust_rate is this:

/* scale rate up or down by factor of 10 to fit into [1000,10000] interval */
static guint32
adjust_rate (guint64 rate)
{
  while (rate >= 10000)
    rate /= 10;

  while (rate < 1000)
    rate *= 10;

  return (guint32) rate;
}

Negative numerators are excluded by caps. Positive numerators work fine here. But numerators of 0, on the other hand, do not :)
Comment 1 Mark Nauwelaerts 2010-10-13 15:52:09 UTC
commit 231d4d9bdc59e602b70285df0231e064ca2ae624
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Wed Oct 13 17:47:29 2010 +0200

    qtmux: prevent infinite loop when adjusting framerate
    
    Fixes #632070.