mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-02 04:22:27 +00:00
tools: gst-play: seek at least in steps of a second
In case of very short files we might end up seeking in steps of a fraction of a second, which is silly and gives the impression that seeking doesn't actually work. Make minimum seek step a second instead.
This commit is contained in:
parent
f9e6d38bf9
commit
2b0e71f4de
1 changed files with 6 additions and 2 deletions
|
@ -708,7 +708,7 @@ relative_seek (GstPlay * play, gdouble percent)
|
|||
{
|
||||
GstQuery *query;
|
||||
gboolean seekable = FALSE;
|
||||
gint64 dur = -1, pos = -1;
|
||||
gint64 dur = -1, pos = -1, step;
|
||||
|
||||
g_return_if_fail (percent >= -1.0 && percent <= 1.0);
|
||||
|
||||
|
@ -727,7 +727,11 @@ relative_seek (GstPlay * play, gdouble percent)
|
|||
if (!seekable || dur <= 0)
|
||||
goto seek_failed;
|
||||
|
||||
pos = pos + dur * percent;
|
||||
step = dur * percent;
|
||||
if (ABS (step) < GST_SECOND)
|
||||
step = (percent < 0) ? -GST_SECOND : GST_SECOND;
|
||||
|
||||
pos = pos + step;
|
||||
if (pos > dur) {
|
||||
if (!play_next (play)) {
|
||||
g_print ("\n%s\n", _("Reached end of play list."));
|
||||
|
|
Loading…
Reference in a new issue