summaryrefslogtreecommitdiffstats
path: root/gst
diff options
context:
space:
mode:
authorSébastien Moutte <sebastien@moutte.net>2006-04-23 15:55:30 +0000
committerSébastien Moutte <sebastien@moutte.net>2006-04-23 15:55:30 +0000
commit0ba1bac2641b883ab642b9a2162a85ac0323137b (patch)
treec4c234cb47c04f7b2049f847509280ea6a0ba02d /gst
parentb58a224cd109acc1b077a3ec1dd7142b7604e5fe (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.c7
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)) {