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
This commit is contained in:
Max Kellermann 2019-07-12 18:33:27 +02:00
parent 86d0534638
commit 6de088140b
2 changed files with 3 additions and 2 deletions

1
NEWS
View File

@ -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

View File

@ -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