From a757eebfbbc90f71e70580feb29ed5b95f029f18 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@musicpd.org>
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);