diff options
Diffstat (limited to '')
-rw-r--r-- | src/decoder/plugins/SidplayDecoderPlugin.cxx | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/decoder/plugins/SidplayDecoderPlugin.cxx b/src/decoder/plugins/SidplayDecoderPlugin.cxx index 83e4eb272..cd8dc395a 100644 --- a/src/decoder/plugins/SidplayDecoderPlugin.cxx +++ b/src/decoder/plugins/SidplayDecoderPlugin.cxx @@ -151,12 +151,11 @@ ParseContainerPath(Path path_fs) /* get the song length in seconds */ static SignedSongTime -get_song_length(Path path_fs) +get_song_length(const SidplayContainerPath &container) { if (songlength_database == nullptr) return SignedSongTime::Negative(); - const auto container = ParseContainerPath(path_fs); SidTuneMod tune(container.path.c_str()); if(!tune) { LogWarning(sidplay_domain, @@ -209,7 +208,7 @@ sidplay_file_decode(Decoder &decoder, Path path_fs) const int song_num = container.track; tune.selectSong(song_num); - auto duration = get_song_length(path_fs); + auto duration = get_song_length(container); if (duration.IsNegative() && default_songlength > 0) duration = SongTime::FromS(default_songlength); @@ -373,7 +372,7 @@ sidplay_scan_file(Path path_fs, tag_handler_invoke_tag(handler, handler_ctx, TAG_TRACK, track); /* time */ - const auto duration = get_song_length(path_fs); + const auto duration = get_song_length(container); if (!duration.IsNegative()) tag_handler_invoke_duration(handler, handler_ctx, SongTime(duration)); |