diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/playback.c | 10 |
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 | ||
1498 | static void codec_advance_buffer_counters(size_t amount) | 1508 | static void codec_advance_buffer_counters(size_t amount) |