diff options
Diffstat (limited to 'apps/playback.c')
-rw-r--r-- | apps/playback.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/apps/playback.c b/apps/playback.c index 24c268ffc4..8b498f265e 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -2028,8 +2028,11 @@ static int audio_fill_file_buffer(void) | |||
2028 | /* Must reset the buffer before use if trashed or voice only - voice | 2028 | /* Must reset the buffer before use if trashed or voice only - voice |
2029 | file size shouldn't have changed so we can go straight from | 2029 | file size shouldn't have changed so we can go straight from |
2030 | AUDIOBUF_STATE_VOICED_ONLY to AUDIOBUF_STATE_INITIALIZED */ | 2030 | AUDIOBUF_STATE_VOICED_ONLY to AUDIOBUF_STATE_INITIALIZED */ |
2031 | if (buffer_state != AUDIOBUF_STATE_INITIALIZED) | 2031 | if (buffer_state != AUDIOBUF_STATE_INITIALIZED || |
2032 | !pcmbuf_is_same_size()) | ||
2033 | { | ||
2032 | audio_reset_buffer(AUDIOBUF_STATE_INITIALIZED); | 2034 | audio_reset_buffer(AUDIOBUF_STATE_INITIALIZED); |
2035 | } | ||
2033 | 2036 | ||
2034 | logf("Starting buffer fill"); | 2037 | logf("Starting buffer fill"); |
2035 | 2038 | ||
@@ -2510,6 +2513,11 @@ static void audio_start_playback(size_t offset, unsigned int flags) | |||
2510 | #ifndef PLATFORM_HAS_VOLUME_CHANGE | 2513 | #ifndef PLATFORM_HAS_VOLUME_CHANGE |
2511 | sound_set_volume(global_settings.volume); | 2514 | sound_set_volume(global_settings.volume); |
2512 | #endif | 2515 | #endif |
2516 | #ifdef HAVE_PLAY_FREQ | ||
2517 | settings_apply_play_freq(global_settings.play_frequency, true); | ||
2518 | #endif | ||
2519 | pcmbuf_update_frequency(); | ||
2520 | |||
2513 | /* Be sure channel is audible */ | 2521 | /* Be sure channel is audible */ |
2514 | pcmbuf_fade(false, true); | 2522 | pcmbuf_fade(false, true); |
2515 | 2523 | ||
@@ -3755,6 +3763,7 @@ void INIT_ATTR playback_init(void) | |||
3755 | mutex_init(&id3_mutex); | 3763 | mutex_init(&id3_mutex); |
3756 | track_list_init(); | 3764 | track_list_init(); |
3757 | buffering_init(); | 3765 | buffering_init(); |
3766 | pcmbuf_update_frequency(); | ||
3758 | add_event(PLAYBACK_EVENT_VOICE_PLAYING, false, playback_voice_event); | 3767 | add_event(PLAYBACK_EVENT_VOICE_PLAYING, false, playback_voice_event); |
3759 | #ifdef HAVE_CROSSFADE | 3768 | #ifdef HAVE_CROSSFADE |
3760 | /* Set crossfade setting for next buffer init which should be about... */ | 3769 | /* Set crossfade setting for next buffer init which should be about... */ |