mirror of
https://github.com/libretro/RetroArch.git
synced 2024-11-23 16:09:47 +00:00
(Audio/ALSA) Fill hw_params configuration space before trying to detect
float format. Otherwire detection will always fail.
This commit is contained in:
parent
f37d38bcd4
commit
8058735cdb
@ -83,12 +83,12 @@ static void *alsa_init(const char *device, unsigned rate, unsigned latency,
|
|||||||
if (snd_pcm_hw_params_malloc(¶ms) < 0)
|
if (snd_pcm_hw_params_malloc(¶ms) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
alsa->has_float = find_float_format(alsa->pcm, params);
|
|
||||||
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
|
|
||||||
|
|
||||||
if (snd_pcm_hw_params_any(alsa->pcm, params) < 0)
|
if (snd_pcm_hw_params_any(alsa->pcm, params) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
|
alsa->has_float = find_float_format(alsa->pcm, params);
|
||||||
|
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
|
||||||
|
|
||||||
if (snd_pcm_hw_params_set_access(
|
if (snd_pcm_hw_params_set_access(
|
||||||
alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED) < 0)
|
alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
@ -173,10 +173,11 @@ static void *alsa_thread_init(const char *device,
|
|||||||
TRY_ALSA(snd_pcm_open(&alsa->pcm, alsa_dev, SND_PCM_STREAM_PLAYBACK, 0));
|
TRY_ALSA(snd_pcm_open(&alsa->pcm, alsa_dev, SND_PCM_STREAM_PLAYBACK, 0));
|
||||||
|
|
||||||
TRY_ALSA(snd_pcm_hw_params_malloc(¶ms));
|
TRY_ALSA(snd_pcm_hw_params_malloc(¶ms));
|
||||||
|
TRY_ALSA(snd_pcm_hw_params_any(alsa->pcm, params));
|
||||||
|
|
||||||
alsa->has_float = alsathread_find_float_format(alsa->pcm, params);
|
alsa->has_float = alsathread_find_float_format(alsa->pcm, params);
|
||||||
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
|
format = alsa->has_float ? SND_PCM_FORMAT_FLOAT : SND_PCM_FORMAT_S16;
|
||||||
|
|
||||||
TRY_ALSA(snd_pcm_hw_params_any(alsa->pcm, params));
|
|
||||||
TRY_ALSA(snd_pcm_hw_params_set_access(
|
TRY_ALSA(snd_pcm_hw_params_set_access(
|
||||||
alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED));
|
alsa->pcm, params, SND_PCM_ACCESS_RW_INTERLEAVED));
|
||||||
TRY_ALSA(snd_pcm_hw_params_set_format(alsa->pcm, params, format));
|
TRY_ALSA(snd_pcm_hw_params_set_format(alsa->pcm, params, format));
|
||||||
|
Loading…
Reference in New Issue
Block a user