summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/pcmbuf.c2
-rw-r--r--apps/playback.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/apps/pcmbuf.c b/apps/pcmbuf.c
index b67e889..8ab4ffa 100644
--- a/apps/pcmbuf.c
+++ b/apps/pcmbuf.c
@@ -652,7 +652,7 @@ void pcmbuf_mix(char *buf, long length)
length /= 2;
while (length-- > 0) {
- obuf[mixpos] = MIN(MAX(obuf[mixpos] + *ibuf*4, -32768), 32767);
+ obuf[mixpos] = MIN(MAX(obuf[mixpos]/4 + *ibuf, -32768), 32767);
ibuf++;
mixpos++;
diff --git a/apps/playback.c b/apps/playback.c
index 7c3d63c..99d58d8 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -297,13 +297,13 @@ bool codec_pcmbuf_insert_split_callback(void *ch1, void *ch2,
while (length > 0) {
/* This will prevent old audio from playing when skipping tracks. */
- if (ci.reload_codec || ci.stop_codec)
+ if ((ci.reload_codec || ci.stop_codec) && current_codec != CODEC_IDX_VOICE)
return true;
while ((dest = pcmbuf_request_buffer(dsp_output_size(length),
&output_size)) == NULL) {
sleep(1);
- if (ci.reload_codec || ci.stop_codec)
+ if ((ci.reload_codec || ci.stop_codec) && current_codec != CODEC_IDX_VOICE)
return true;
}
@@ -1676,7 +1676,7 @@ void audio_thread(void)
playlist_update_resume_info(audio_current_track());
- /* If there are no tracks in the playlist, then the playlist
+ /* If there are no tracks in the playlist, then the playlist
was empty or none of the filenames were valid. No point
in playing an empty playlist. */
if (playlist_amount() == 0) {