[gstreamer-bugs] [Bug 628174] New: New gstvalue checks cause trouble in thoggen
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Fri Aug 27 19:17:26 PDT 2010
https://bugzilla.gnome.org/show_bug.cgi?id=628174
GStreamer | gstreamer (core) | git
Summary: New gstvalue checks cause trouble in thoggen
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: NEW
Severity: normal
Priority: Normal
Component: gstreamer (core)
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: thaytan at mad.scientist.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
I tried to rip a DVD last night, and got an assertion in
gst_value_set_fraction_range() at:
g_return_if_fail (((gdouble) start->data[0].v_int) /
((gdouble) start->data[1].v_int) <
((gdouble) end->data[0].v_int) / ((gdouble) end->data[1].v_int));
This check was introduced in:
commit 4d8320e4c66e4b58d78ddff97b63f3ece46327ce
Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date: Mon Jun 14 15:30:08 2010 +0200
gstvalue: Add some more assertions and checks for valid input parameters
I don't understand the failure. start has a strange value, but the result
should still meet the check. I suspect the problem comes from the 'double'
calculation calculating strangely because the values are right up at the int32
limits. In any case, doing double calcs in the fraction paths seems like a bad
idea - so far, we've managed to largely avoid floating point operations except
for the rate params.
(gdb) print *start
$1 = {g_type = 1601467239, data = {{v_int = 1970037110, v_uint = 1970037110,
v_long = 1970037110, v_ulong = 1970037110,
v_int64 = 7310291509518819702, v_uint64 = 7310291509518819702,
v_float = 2.99648145e+32, v_double = 5.0241924449441303e+180,
v_pointer = 0x756c6176}, {v_int = 1919311732, v_uint = 1919311732,
v_long = 1919311732, v_ulong = 1919311732,
v_int64 = 7598807741463158644, v_uint64 = 7598807741463158644,
v_float = 4.56300467e+30, v_double = 9.7538516110743229e+199,
v_pointer = 0x72665f74}}}
(gdb) print *end
$2 = {g_type = 224, data = {{v_int = 2147483647, v_uint = 2147483647,
v_long = 2147483647, v_ulong = 2147483647, v_int64 = 2147483647,
v_uint64 = 2147483647, v_float = nan(0x7fffff),
v_double = 1.0609978949885705e-314, v_pointer = 0x7fffffff}, {v_int = 1,
v_uint = 1, v_long = 1, v_ulong = 1, v_int64 = 1, v_uint64 = 1,
v_float = 1.40129846e-45, v_double = 4.9406564584124654e-324,
v_pointer = 0x1}}}
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list