mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-12-08 12:45:26 -05:00
Update "elapsed" and "offset" in the mp3entries on the main buffer in the corresponding codec callbacks.
This should fix FS#8040. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15360 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
d400e23e38
commit
aecca6693f
1 changed files with 10 additions and 0 deletions
|
|
@ -1473,11 +1473,15 @@ static void codec_set_elapsed_callback(unsigned int value)
|
||||||
|
|
||||||
latency = pcmbuf_get_latency();
|
latency = pcmbuf_get_latency();
|
||||||
if (value < latency)
|
if (value < latency)
|
||||||
|
{
|
||||||
curtrack_id3.elapsed = 0;
|
curtrack_id3.elapsed = 0;
|
||||||
|
bufgetid3(CUR_TI->id3_hid)->elapsed = 0;
|
||||||
|
}
|
||||||
else if (value - latency > curtrack_id3.elapsed ||
|
else if (value - latency > curtrack_id3.elapsed ||
|
||||||
value - latency < curtrack_id3.elapsed - 2)
|
value - latency < curtrack_id3.elapsed - 2)
|
||||||
{
|
{
|
||||||
curtrack_id3.elapsed = value - latency;
|
curtrack_id3.elapsed = value - latency;
|
||||||
|
bufgetid3(CUR_TI->id3_hid)->elapsed = value - latency;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1490,9 +1494,15 @@ static void codec_set_offset_callback(size_t value)
|
||||||
|
|
||||||
latency = pcmbuf_get_latency() * curtrack_id3.bitrate / 8;
|
latency = pcmbuf_get_latency() * curtrack_id3.bitrate / 8;
|
||||||
if (value < latency)
|
if (value < latency)
|
||||||
|
{
|
||||||
curtrack_id3.offset = 0;
|
curtrack_id3.offset = 0;
|
||||||
|
bufgetid3(CUR_TI->id3_hid)->offset = 0;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
|
{
|
||||||
curtrack_id3.offset = value - latency;
|
curtrack_id3.offset = value - latency;
|
||||||
|
bufgetid3(CUR_TI->id3_hid)->offset = value - latency;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void codec_advance_buffer_counters(size_t amount)
|
static void codec_advance_buffer_counters(size_t amount)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue