summaryrefslogtreecommitdiffstats
path: root/firmware/target/hosted/pcm-alsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/hosted/pcm-alsa.c')
-rw-r--r--firmware/target/hosted/pcm-alsa.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/firmware/target/hosted/pcm-alsa.c b/firmware/target/hosted/pcm-alsa.c
index 928187993e..7daf485f18 100644
--- a/firmware/target/hosted/pcm-alsa.c
+++ b/firmware/target/hosted/pcm-alsa.c
@@ -50,6 +50,7 @@
#include "pcm-internal.h"
#include "pcm_mixer.h"
#include "pcm_sampr.h"
+#include "audiohw.h"
#include <pthread.h>
#include <signal.h>
@@ -320,7 +321,7 @@ void cleanup(void)
void pcm_play_dma_init(void)
{
int err;
-
+ audiohw_preinit();
if ((err = snd_pcm_open(&handle, device, SND_PCM_STREAM_PLAYBACK, 0)) < 0)
{
@@ -343,6 +344,8 @@ void pcm_play_dma_init(void)
exit(EXIT_FAILURE);
}
+ pcm_dma_apply_settings();
+
#ifdef USE_ASYNC_CALLBACK
pthread_mutexattr_t attr;
pthread_mutexattr_init(&attr);
@@ -352,7 +355,6 @@ void pcm_play_dma_init(void)
tick_add_task(pcm_tick);
#endif
-
atexit(cleanup);
return;
}
@@ -469,6 +471,7 @@ const void * pcm_play_dma_get_peak_buffer(int *count)
void pcm_play_dma_postinit(void)
{
+ audiohw_postinit();
}