aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_alsa.c
diff options
context:
space:
mode:
Diffstat (limited to 'channels/chan_alsa.c')
-rw-r--r--channels/chan_alsa.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/channels/chan_alsa.c b/channels/chan_alsa.c
index 7e6e4d410..79bc313cd 100644
--- a/channels/chan_alsa.c
+++ b/channels/chan_alsa.c
@@ -367,7 +367,8 @@ static snd_pcm_t *alsa_card_init(char *dev, snd_pcm_stream_t stream)
} else
ast_log(LOG_DEBUG, "Opening device %s in %s mode\n", dev, (stream == SND_PCM_STREAM_CAPTURE) ? "read" : "write");
- snd_pcm_hw_params_alloca(&hwparams);
+ hwparams = alloca(snd_pcm_hw_params_sizeof());
+ memset(hwparams, 0, snd_pcm_hw_params_sizeof());
snd_pcm_hw_params_any(handle, hwparams);
err = snd_pcm_hw_params_set_access(handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED);
@@ -416,7 +417,8 @@ static snd_pcm_t *alsa_card_init(char *dev, snd_pcm_stream_t stream)
if (err < 0)
ast_log(LOG_ERROR, "Couldn't set the new hw params: %s\n", snd_strerror(err));
- snd_pcm_sw_params_alloca(&swparams);
+ swparams = alloca(snd_pcm_sw_params_sizeof());
+ memset(swparams, 0, snd_pcm_sw_params_sizeof());
snd_pcm_sw_params_current(handle, swparams);
#if 1