Commit 881d91f8 authored by Max Kellermann's avatar Max Kellermann

lib/xiph/OggFind: add parameter "synced"

parent 54d57fdc
......@@ -57,13 +57,14 @@ OggSeekPageAtOffset(OggSyncState &oy, ogg_stream_state &os, InputStream &is,
bool
OggSeekFindEOS(OggSyncState &oy, ogg_stream_state &os, ogg_packet &packet,
InputStream &is)
InputStream &is, bool synced)
{
if (!is.KnownSize())
return false;
if (is.GetRest() < 65536)
return OggFindEOS(oy, os, packet);
return (synced || oy.ExpectPageSeekIn(os)) &&
OggFindEOS(oy, os, packet);
if (!is.CheapSeeking())
return false;
......
......@@ -47,10 +47,13 @@ OggSeekPageAtOffset(OggSyncState &oy, ogg_stream_state &os, InputStream &is,
* Try to find the end-of-stream (EOS) packet. Seek to the end of the
* file if necessary.
*
* @param synced is the #OggSyncState currently synced? If not, then
* we need to use ogg_sync_pageseek() instead of ogg_sync_pageout(),
* which is more expensive
* @return true if the EOS packet was found
*/
bool
OggSeekFindEOS(OggSyncState &oy, ogg_stream_state &os, ogg_packet &packet,
InputStream &is);
InputStream &is, bool synced=true);
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment