diff options
author | Sébastien Moutte <sebastien@moutte.net> | 2006-04-23 15:55:30 +0000 |
---|---|---|
committer | Sébastien Moutte <sebastien@moutte.net> | 2006-04-23 15:55:30 +0000 |
commit | 0ba1bac2641b883ab642b9a2162a85ac0323137b (patch) | |
tree | c4c234cb47c04f7b2049f847509280ea6a0ba02d /gst | |
parent | b58a224cd109acc1b077a3ec1dd7142b7604e5fe (diff) |
gst/matroska/matroska-demux.c: Fix a bad conversion using gst_guint64_to_gdouble. fabs ((gdouble) demux->index[entry]...
Original commit message from CVS:
* gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek):
Fix a bad conversion using gst_guint64_to_gdouble.
fabs ((gdouble) demux->index[entry].time - (gdouble) seek_pos) can not be
replaced by fabs (gst_guint64_to_gdouble (demux->index[entry].time - seek_pos)) as the
difference could be negative. fabs (gst_guint64_to_gdouble (demux->index[entry].time) -
gst_guint64_to_gdouble (seek_pos)) is the good solution. Thanks to Tim who has seen my
mistake.
Diffstat (limited to 'gst')
-rw-r--r-- | gst/matroska/matroska-demux.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c index 0458a98f..8f6a1463 100644 --- a/gst/matroska/matroska-demux.c +++ b/gst/matroska/matroska-demux.c @@ -1043,9 +1043,10 @@ gst_matroskademux_do_index_seek (GstMatroskaDemux * demux, gint64 seek_pos, for (n = 0; n < demux->num_indexes; ++n) { gdouble d_entry, d_this; - d_entry = - fabs (gst_guint64_to_gdouble (demux->index[entry].time - seek_pos)); - d_this = fabs (gst_guint64_to_gdouble (demux->index[n].time - seek_pos)); + d_entry = fabs (gst_guint64_to_gdouble (demux->index[entry].time) - + gst_guint64_to_gdouble (seek_pos)); + d_this = fabs (gst_guint64_to_gdouble (demux->index[n].time) - + gst_guint64_to_gdouble (seek_pos)); if (d_this < d_entry && (demux->index[n].time < segment_stop || segment_stop == -1)) { |