summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2015-10-26 17:16:20 +0100
committerMax Kellermann <max@duempel.org>2015-10-26 17:16:20 +0100
commit5719207dfa14cfed63e0446f7f7a8343575a465f (patch)
tree3b4f512326882604aaef0009c0ae7f3d2c514961
parenta84fbbe32716ecee9c8a02b50251097fc35709ec (diff)
gme: don't loop forever, fall back to GME's default play length
Fixes http://bugs.musicpd.org/view.php?id=4432
-rw-r--r--NEWS1
-rw-r--r--src/decoder/plugins/GmeDecoderPlugin.cxx6
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) {