summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-10-29 15:10:30 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-10-29 15:10:30 +0000
commitaecca6693fe7effd5f22098c284d17927a113d27 (patch)
tree210966a2716727dd42f006351ec4f91583afe914 /apps
parentd400e23e38daeed71e0cabcf065b55c1d15023d7 (diff)
downloadrockbox-aecca6693fe7effd5f22098c284d17927a113d27.tar.gz
rockbox-aecca6693fe7effd5f22098c284d17927a113d27.zip
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
Diffstat (limited to 'apps')
-rw-r--r--apps/playback.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/apps/playback.c b/apps/playback.c
index e42f9b172d..239dc7bc0f 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -1473,11 +1473,15 @@ static void codec_set_elapsed_callback(unsigned int value)
1473 1473
1474 latency = pcmbuf_get_latency(); 1474 latency = pcmbuf_get_latency();
1475 if (value < latency) 1475 if (value < latency)
1476 {
1476 curtrack_id3.elapsed = 0; 1477 curtrack_id3.elapsed = 0;
1478 bufgetid3(CUR_TI->id3_hid)->elapsed = 0;
1479 }
1477 else if (value - latency > curtrack_id3.elapsed || 1480 else if (value - latency > curtrack_id3.elapsed ||
1478 value - latency < curtrack_id3.elapsed - 2) 1481 value - latency < curtrack_id3.elapsed - 2)
1479 { 1482 {
1480 curtrack_id3.elapsed = value - latency; 1483 curtrack_id3.elapsed = value - latency;
1484 bufgetid3(CUR_TI->id3_hid)->elapsed = value - latency;
1481 } 1485 }
1482} 1486}
1483 1487
@@ -1490,9 +1494,15 @@ static void codec_set_offset_callback(size_t value)
1490 1494
1491 latency = pcmbuf_get_latency() * curtrack_id3.bitrate / 8; 1495 latency = pcmbuf_get_latency() * curtrack_id3.bitrate / 8;
1492 if (value < latency) 1496 if (value < latency)
1497 {
1493 curtrack_id3.offset = 0; 1498 curtrack_id3.offset = 0;
1499 bufgetid3(CUR_TI->id3_hid)->offset = 0;
1500 }
1494 else 1501 else
1502 {
1495 curtrack_id3.offset = value - latency; 1503 curtrack_id3.offset = value - latency;
1504 bufgetid3(CUR_TI->id3_hid)->offset = value - latency;
1505 }
1496} 1506}
1497 1507
1498static void codec_advance_buffer_counters(size_t amount) 1508static void codec_advance_buffer_counters(size_t amount)