diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/playback.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c index 6f5084e14a..0dc142a42f 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -2498,10 +2498,13 @@ bool audio_has_changed_track(void) | |||
2498 | void audio_play(long offset) | 2498 | void audio_play(long offset) |
2499 | { | 2499 | { |
2500 | logf("audio_play"); | 2500 | logf("audio_play"); |
2501 | if (playing) | 2501 | if (playing && offset <= 0) |
2502 | queue_post(&audio_queue, Q_AUDIO_NEW_PLAYLIST, 0); | 2502 | queue_post(&audio_queue, Q_AUDIO_NEW_PLAYLIST, 0); |
2503 | else | 2503 | else |
2504 | { | 2504 | { |
2505 | if (playing) | ||
2506 | audio_stop(); | ||
2507 | |||
2505 | playing = true; | 2508 | playing = true; |
2506 | queue_post(&audio_queue, Q_AUDIO_PLAY, (void *)offset); | 2509 | queue_post(&audio_queue, Q_AUDIO_PLAY, (void *)offset); |
2507 | } | 2510 | } |