Another fix for audio_get_buffer() on hwcodec by Thomas Martitz.
Some functions must only be called when audio is already initialized, due to talk <-> audio interdependency, same as on swcodec. This makes hwcodec boot and play music again. Voice menus also working again, talk clips not yet. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30738 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
889690c0f6
commit
0aa12a9717
1 changed files with 5 additions and 2 deletions
|
@ -142,6 +142,7 @@ static bool checked_for_cuesheet = false;
|
|||
|
||||
static const char mpeg_thread_name[] = "mpeg";
|
||||
static unsigned int audio_thread_id;
|
||||
static bool audio_is_initialized;
|
||||
static unsigned int mpeg_errno;
|
||||
|
||||
static bool playing = false; /* We are playing an MP3 stream */
|
||||
|
@ -558,8 +559,9 @@ unsigned char * audio_get_buffer(bool talk_buf, size_t *buffer_size)
|
|||
{
|
||||
(void)talk_buf; /* always grab the voice buffer for now */
|
||||
|
||||
audio_hard_stop();
|
||||
|
||||
if (audio_is_initialized)
|
||||
audio_hard_stop();
|
||||
|
||||
if (!buffer_size) /* special case for talk_init() */
|
||||
return NULL;
|
||||
|
||||
|
@ -3017,6 +3019,7 @@ void audio_init(void)
|
|||
dbg_cnt2us(0);
|
||||
#endif /* !SIMULATOR */
|
||||
#endif /* DEBUG */
|
||||
audio_is_initialized = true;
|
||||
}
|
||||
|
||||
#endif /* CONFIG_CODEC != SWCODEC */
|
||||
|
|
Loading…
Reference in a new issue