diff options
-rw-r--r-- | apps/playback.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/apps/playback.c b/apps/playback.c index c145e0589b..a1f098b148 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -1436,7 +1436,8 @@ void audio_thread(void) | |||
1436 | ci.stop_codec = true; | 1436 | ci.stop_codec = true; |
1437 | ci.reload_codec = false; | 1437 | ci.reload_codec = false; |
1438 | ci.seek_time = 0; | 1438 | ci.seek_time = 0; |
1439 | pcm_crossfade_init(); | 1439 | if (!pcm_crossfade_init()) |
1440 | pcm_flush_audio(); | ||
1440 | audio_play_start((int)ev.data); | 1441 | audio_play_start((int)ev.data); |
1441 | playlist_update_resume_info(audio_current_track()); | 1442 | playlist_update_resume_info(audio_current_track()); |
1442 | break ; | 1443 | break ; |
@@ -1651,19 +1652,9 @@ void audio_prev(void) | |||
1651 | 1652 | ||
1652 | void audio_ff_rewind(int newpos) | 1653 | void audio_ff_rewind(int newpos) |
1653 | { | 1654 | { |
1654 | int counter; | ||
1655 | |||
1656 | logf("rewind: %d", newpos); | 1655 | logf("rewind: %d", newpos); |
1657 | /* Keep playback paused until seek is complete. */ | ||
1658 | if (playing) { | 1656 | if (playing) { |
1659 | ci.seek_time = newpos+1; | 1657 | ci.seek_time = newpos+1; |
1660 | counter = 30; | ||
1661 | pcm_flush_audio(); | ||
1662 | while (ci.seek_time) { | ||
1663 | sleep(10); | ||
1664 | if (counter-- == 0) | ||
1665 | break ; | ||
1666 | } | ||
1667 | pcm_play_stop(); | 1658 | pcm_play_stop(); |
1668 | } | 1659 | } |
1669 | } | 1660 | } |