Clean up page seeking a bit.
authorTimothy B. Terriberry <tterribe@xiph.org>
Mon, 1 Oct 2012 04:49:51 +0000 (21:49 -0700)
committerTimothy B. Terriberry <tterribe@xiph.org>
Mon, 1 Oct 2012 04:49:51 +0000 (21:49 -0700)
commitcf594de6e8713d602ee6c4b01332155cbfac55c9
treecef7b110c471fefa7c8017d7530a69aa8fb1caf5
parentbed73602d307ae5ed87cc2d4f9a8babd1170f77a
Clean up page seeking a bit.

* Guarantee pcm_start and pcm_end stay in range (not just move in
   the right direction).
* When we fail to find a page in the interval, back up by increasing
   chunk sizes just like op_get_prev_page_serial().
* Eliminate the special case for the last page in the interval.
* Force a straight bisection if we're backing up, but not decreasing
   the interval size rapidly enough, to limit the worst-case.
  This is guaranteed not to affect the first two iterations, so it
   has minimal impact on seeking in the normal case.
src/opusfile.c