Add op_get_last_page() for calculating duration.
authorTimothy B. Terriberry <tterribe@xiph.org>
Tue, 13 Nov 2012 00:34:43 +0000 (16:34 -0800)
committerTimothy B. Terriberry <tterribe@xiph.org>
Tue, 13 Nov 2012 00:34:43 +0000 (16:34 -0800)
commit4dcf9b0d60aea983bd40995a444109c4ddf2b7d3
treefe20699ebb39adb1591c2afada96707d265c36da
parent99c3c5e98a375c00478311c4d986ed2471d5d949
Add op_get_last_page() for calculating duration.

Using op_get_prev_page_serial() meant if there were valid pages
 from another stream, we would re-scan them all repeatedly until we
 managed to back up, a page at a time, to a chunk with a page from
 the preferred stream with a valid granule position.
Breaking this case into its own function means we can guarantee we
 only scan each page once, and that we can stop as soon as we hit a
 page from a different link (in the unlikely event that the stream
 has no pages with valid timestamps).
src/opusfile.c