From 0ba1bac2641b883ab642b9a2162a85ac0323137b Mon Sep 17 00:00:00 2001 From: Sébastien Moutte Date: Sun, 23 Apr 2006 15:55:30 +0000 Subject: 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. --- ChangeLog | 10 ++++++++++ gst/matroska/matroska-demux.c | 7 ++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 5b8d8c94..e5354347 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-04-23 Sebastien Moutte + + * 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. + 2006-04-21 Sebastien Moutte * gst/matroska/matroska-demux.c: (gst_matroskademux_do_index_seek): 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)) { -- cgit