Allow decoding forward instead of seeking.
authorTimothy B. Terriberry <tterribe@xiph.org>
Sun, 10 Feb 2013 04:40:16 +0000 (20:40 -0800)
committerTimothy B. Terriberry <tterribe@xiph.org>
Sun, 10 Feb 2013 04:54:56 +0000 (20:54 -0800)
commit3cc27477538da445397eada4f609992165f4906b
tree077cc204f53c74cf653c753e6c78ffd9a236096d
parentb4cdfcc760394cec9a33647b7acd272c91397ccc
Allow decoding forward instead of seeking.

This lets us seek forward by small amounts (currently less than
 90 ms) by decoding forward instead of actually seeking.
This is often a good idea, since we would have to decode at least
 80 ms of pre-roll anyway.
This optimization also handles the case of seeking to what is
 already the current position cheaply.

This became relatively easy after we dropped op_pcm_seek_page()
 from the public API.
However, because others may look to libopusfile's seeking code as a
 model, we've added an OP_SMALL_FOOTPRINT #define to cordon off
 some of these complex sections of code that are deeply specific to
 libopusfile's design, ancillary to the main seeking algorithm,
 and relatively unimportant to overall seeking performance.
src/opusfile.c