From 7c25d83f1cc4c7db2d2d3f4506525dd056b885e8 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Fri, 29 Aug 2014 12:14:27 +0200 Subject: Tag: use SignedSongTime for the song duration --- src/queue/PlaylistEdit.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/queue/PlaylistEdit.cxx') diff --git a/src/queue/PlaylistEdit.cxx b/src/queue/PlaylistEdit.cxx index 20d459732..22a88dc46 100644 --- a/src/queue/PlaylistEdit.cxx +++ b/src/queue/PlaylistEdit.cxx @@ -463,18 +463,19 @@ playlist::SetSongIdRange(PlayerControl &pc, unsigned id, } DetachedSong &song = queue.Get(position); - if (song.GetTag().time > 0) { + + const auto duration = song.GetTag().duration; + if (!duration.IsNegative()) { /* validate the offsets */ - const unsigned duration = song.GetTag().time; - if (start.ToMS() / 1000u > duration) { + if (start > duration) { error.Set(playlist_domain, int(PlaylistResult::BAD_RANGE), "Invalid start offset"); return false; } - if (end.ToMS() / 1000u > duration) + if (end >= duration) end = SongTime::zero(); } -- cgit v1.2.3