diff options
Diffstat (limited to 'firmware/pcm.c')
-rw-r--r-- | firmware/pcm.c | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/firmware/pcm.c b/firmware/pcm.c index ea451a0b9f..0b5b49ebab 100644 --- a/firmware/pcm.c +++ b/firmware/pcm.c | |||
@@ -213,6 +213,7 @@ static void pcm_play_data_start(unsigned char *start, size_t size) | |||
213 | if (start && size) | 213 | if (start && size) |
214 | { | 214 | { |
215 | logf(" pcm_play_dma_start"); | 215 | logf(" pcm_play_dma_start"); |
216 | pcm_apply_settings(); | ||
216 | pcm_play_dma_start(start, size); | 217 | pcm_play_dma_start(start, size); |
217 | pcm_playing = true; | 218 | pcm_playing = true; |
218 | pcm_paused = false; | 219 | pcm_paused = false; |
@@ -234,8 +235,6 @@ void pcm_play_data(pcm_more_callback_type get_more, | |||
234 | 235 | ||
235 | pcm_callback_for_more = get_more; | 236 | pcm_callback_for_more = get_more; |
236 | 237 | ||
237 | pcm_apply_settings(); | ||
238 | |||
239 | logf(" pcm_play_data_start"); | 238 | logf(" pcm_play_data_start"); |
240 | pcm_play_data_start(start, size); | 239 | pcm_play_data_start(start, size); |
241 | 240 | ||
@@ -256,21 +255,17 @@ void pcm_play_pause(bool play) | |||
256 | pcm_play_dma_pause(true); | 255 | pcm_play_dma_pause(true); |
257 | pcm_paused = true; | 256 | pcm_paused = true; |
258 | } | 257 | } |
259 | else | 258 | else if (pcm_get_bytes_waiting() > 0) |
260 | { | 259 | { |
260 | logf(" pcm_play_dma_pause"); | ||
261 | pcm_apply_settings(); | 261 | pcm_apply_settings(); |
262 | 262 | pcm_play_dma_pause(false); | |
263 | if (pcm_get_bytes_waiting() > 0) | 263 | pcm_paused = false; |
264 | { | 264 | } |
265 | logf(" pcm_play_dma_pause"); | 265 | else |
266 | pcm_play_dma_pause(false); | 266 | { |
267 | pcm_paused = false; | 267 | logf(" pcm_play_dma_start: no data"); |
268 | } | 268 | pcm_play_data_start(NULL, 0); |
269 | else | ||
270 | { | ||
271 | logf(" pcm_play_dma_start: no data"); | ||
272 | pcm_play_data_start(NULL, 0); | ||
273 | } | ||
274 | } | 269 | } |
275 | } | 270 | } |
276 | else | 271 | else |