mirror of
https://github.com/libretro/RetroArch
synced 2025-04-10 15:45:19 +00:00
Merge pull request #11531 from Oschowa/alsa_float_detection
(Audio/ALSA) Fill hw_params configuration space before trying to detect float format.
This commit is contained in:
commit
664e6fa526
@ -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…
x
Reference in New Issue
Block a user