Refactor audio thread to run both recording and playback.

Eliminates the pcmrec thread and keeps playback and recording engine
operation mutually-exclusive.

audio_thread.c contains the audio thread which branches to the
correct engine depending upon the request. It also handles the main
audio initialization.

Moves pcm_init into main.c just before dsp_init because I don't want
that one in audio_init in the new file.

(Also makes revision df6e1bc pointless ;)

Change-Id: Ifc1db24404e6d8dd9ac42d9f4dfbc207aa9a26e1
This commit is contained in:
Michael Sevakis 2013-05-31 02:41:02 -04:00
parent df6e1bcce5
commit 5857c44017
11 changed files with 553 additions and 564 deletions

View file

@ -87,6 +87,7 @@
#endif
#if (CONFIG_CODEC == SWCODEC)
#include "audio_thread.h"
#include "playback.h"
#include "tdspeed.h"
#endif
@ -386,6 +387,7 @@ static void init(void)
storage_init();
#if CONFIG_CODEC == SWCODEC
pcm_init();
dsp_init();
#endif
settings_reset();
@ -422,10 +424,6 @@ static void init(void)
audio_init();
#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_RECORDING)
pcm_rec_init();
#endif
settings_apply_skins();
}
@ -641,6 +639,7 @@ static void init(void)
}
#if CONFIG_CODEC == SWCODEC
pcm_init();
dsp_init();
#endif
@ -727,10 +726,6 @@ static void init(void)
audio_init();
CHART("<audio_init");
#if (CONFIG_CODEC == SWCODEC) && defined(HAVE_RECORDING)
pcm_rec_init();
#endif
/* runtime database has to be initialized after audio_init() */
cpu_boost(false);