Handle continued packets in bisection search.
authorTimothy B. Terriberry <tterribe@xiph.org>
Sun, 6 Dec 2015 23:29:21 +0000 (15:29 -0800)
committerTimothy B. Terriberry <tterribe@xiph.org>
Sun, 6 Dec 2015 23:29:21 +0000 (15:29 -0800)
commit41c29626afbd020448e2a192e01f6bcc275d0300
tree114475b1dfccaa084170692dd1e41c1127d77487
parentd12f4d30cf0a5056d51ce795a5a9aabb65693eda
Handle continued packets in bisection search.

If the packet where we wanted to start decoding was continued from
 a previous page, and _other_ packets ended on that previous page,
 we wouldn't feed the previous page to the ogg_stream_state.
That meant we wouldn't get the packet we wanted, and would fail with
 OP_EBADLINK (because the starting PCM offset of the first packet we
 did decode would already be after the one we wanted).

Instead, check for continued packet data and feed in an extra page
 to prime the stream state.

Thanks to Simon Jackson for the report and the excellent test case.
src/opusfile.c