1
0
Fork 0
forked from len0rd/rockbox
foxbox/lib/rbcodec
Adam Sampson 1f8ea9fe27 Opus: update resume offset correctly while playing.
The codec wasn't calling ci->set_offset() while decoding; as a result,
the saved offset in ci.id3->offset was only updated at the start of the
file and when seeking.

To reproduce the problem in the simulator or on a real device:
- Start playing an Opus file.
- Let it play until 15s, then turn the player off.
- Turn back on and resume playback. This'll resume correctly from 15s
  (using time-based resume, I think, as the offset was 0?).
- Let it play until 30s, then turn the player off again.
- Turn back on and resume playback. This'll resume from 15s, based on
  the initial position from last time, when it should resume from 30s.

I believe this will also fix FS#12799 ("Resuming opus file from bookmark
is not working correctly").

Change-Id: Iba67368e0029c968ef802693767e0722719bc38b
2016-09-07 19:44:37 +02:00
..
codecs Opus: update resume offset correctly while playing. 2016-09-07 19:44:37 +02:00
dsp iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
metadata Fix warning in WMA Pro and remove a c++ comment. 2014-11-28 23:04:50 +01:00
test _BSD_SOURCE is deprecated, and we're supposed to use _DEFAULT_SOURCE now. 2016-03-18 21:27:15 +01:00
platform.h Enable buflib and core_alloc for warble. 2015-01-19 21:30:03 +01:00
rbcodec.make Make fixepoint.c as a shared library (libfixedpoint.a). 2013-04-26 00:11:04 +02:00
rbcodecconfig-example.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
rbcodecplatform-unix.h Enable buflib and core_alloc for warble. 2015-01-19 21:30:03 +01:00
SOURCES three new DSPs 2015-01-19 19:34:01 +01:00