diff options
author | Max Kellermann <max@musicpd.org> | 2019-07-12 18:33:27 +0200 |
---|---|---|
committer | Max Kellermann <max@musicpd.org> | 2019-08-02 14:04:08 +0200 |
commit | 6de088140b2fb3afe2905ad3ea2e2d0648eb603f (patch) | |
tree | f254ad17aca1a3fc6f937bc7506facea900dcb2e | |
parent | 86d0534638b6854af663b77d7e082ea8c1af76bf (diff) |
lib/xiph/OggVisitor: invoke OnOggPacket() with the "E_O_S" packet
The "end of stream" packet is not special; it contains normal data,
and thus we should pass it to OnOggPacket().
This fixes one part of https://github.com/MusicPlayerDaemon/MPD/issues/601
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | src/lib/xiph/OggVisitor.cxx | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -1,6 +1,7 @@ ver 0.21.12 (not yet released) * decoder - opus: ignore case in replay gain tag names + - opus, vorbis: decode the "end of stream" packet * Windows - support backslash in relative URIs loaded from playlists diff --git a/src/lib/xiph/OggVisitor.cxx b/src/lib/xiph/OggVisitor.cxx index b975d8d17..04a02469f 100644 --- a/src/lib/xiph/OggVisitor.cxx +++ b/src/lib/xiph/OggVisitor.cxx @@ -69,12 +69,12 @@ OggVisitor::HandlePacket(const ogg_packet &packet) /* fail if BOS is missing */ throw std::runtime_error("BOS packet expected"); + OnOggPacket(packet); + if (packet.e_o_s) { EndStream(); return; } - - OnOggPacket(packet); } inline void |