diff options
Diffstat (limited to 'src/queue')
-rw-r--r-- | src/queue/PlaylistEdit.cxx | 9 |
1 files changed, 5 insertions, 4 deletions
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(); } |