From 5719207dfa14cfed63e0446f7f7a8343575a465f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 26 Oct 2015 17:16:20 +0100 Subject: [PATCH] gme: don't loop forever, fall back to GME's default play length Fixes http://bugs.musicpd.org/view.php?id=4432 --- NEWS | 1 + src/decoder/plugins/GmeDecoderPlugin.cxx | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index ee3c318b3..463701e35 100644 --- a/NEWS +++ b/NEWS @@ -3,6 +3,7 @@ ver 0.19.11 (not yet released) - ape: fix buffer overflow * decoder - ffmpeg: fix crash due to wrong avio_alloc_context() call + - gme: don't loop forever, fall back to GME's default play length * encoder - flac: fix crash with 32 bit playback * mixer diff --git a/src/decoder/plugins/GmeDecoderPlugin.cxx b/src/decoder/plugins/GmeDecoderPlugin.cxx index bbe2596c9..b47e9ea66 100644 --- a/src/decoder/plugins/GmeDecoderPlugin.cxx +++ b/src/decoder/plugins/GmeDecoderPlugin.cxx @@ -156,7 +156,7 @@ gme_file_decode(Decoder &decoder, Path path_fs) return; } - const int length = ti->length; + const int length = ti->play_length; gme_free_info(ti); const SignedSongTime song_len = length > 0 @@ -239,9 +239,9 @@ gme_scan_file(Path path_fs, assert(ti != nullptr); - if (ti->length > 0) + if (ti->play_length > 0) tag_handler_invoke_duration(handler, handler_ctx, - SongTime::FromMS(ti->length)); + SongTime::FromMS(ti->play_length)); if (ti->song != nullptr) { if (gme_track_count(emu) > 1) {