From a757eebfbbc90f71e70580feb29ed5b95f029f18 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 16 Mar 2022 15:39:01 +0100 Subject: [PATCH] decoder/OggSyncState: allow skipping up to 64 kB after seek This is more of what we did in commit 70bd35abe2ab because it turns out there are Ogg-Opus files with pages larger than 40 kB. Closes https://github.com/MusicPlayerDaemon/MPD/issues/1487 --- NEWS | 2 ++ src/lib/xiph/OggSyncState.cxx | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 317ea0e46..ca04f464d 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,6 @@ ver 0.23.7 (not yet released) +* decoder + - opus: fix missing song length on high-latency files ver 0.23.6 (2022/03/14) * protocol diff --git a/src/lib/xiph/OggSyncState.cxx b/src/lib/xiph/OggSyncState.cxx index a36dd6243..3401b68e8 100644 --- a/src/lib/xiph/OggSyncState.cxx +++ b/src/lib/xiph/OggSyncState.cxx @@ -67,7 +67,7 @@ OggSyncState::ExpectPageIn(ogg_stream_state &os) bool OggSyncState::ExpectPageSeek(ogg_page &page) { - size_t remaining_skipped = 32768; + size_t remaining_skipped = 65536; while (true) { int r = ogg_sync_pageseek(&oy, &page);