diff options
author | Max Kellermann <max@duempel.org> | 2009-03-08 04:11:30 +0100 |
---|---|---|
committer | Max Kellermann <max@duempel.org> | 2009-03-08 04:11:30 +0100 |
commit | ab656a52da187dd09b4e400ca1fd13ab2f59e345 (patch) | |
tree | 59e4d36f9ec2e0cbd7f7b0cb0bdde29e428fc9ba /src/output | |
parent | 554a34fb958cfa15c00a81671a72079cae00ca5f (diff) | |
download | mpd-ab656a52da187dd09b4e400ca1fd13ab2f59e345.tar.gz mpd-ab656a52da187dd09b4e400ca1fd13ab2f59e345.tar.xz mpd-ab656a52da187dd09b4e400ca1fd13ab2f59e345.zip |
alsa: determine buffer_time if not already known
This patch fixes a theoretical (but practically impossible) flaw: the
variable "buffer_time" may be uninitialized when it is used.
Initialize the variable with snd_pcm_hw_params_get_buffer_time().
Diffstat (limited to 'src/output')
-rw-r--r-- | src/output/alsa_plugin.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/output/alsa_plugin.c b/src/output/alsa_plugin.c index 489d4f32b..923d70ad8 100644 --- a/src/output/alsa_plugin.c +++ b/src/output/alsa_plugin.c @@ -309,6 +309,11 @@ configure_hw: &buffer_time, NULL); if (err < 0) goto error; + } else { + err = snd_pcm_hw_params_get_buffer_time(hwparams, &buffer_time, + NULL); + if (err < 0) + buffer_time = 0; } if (period_time_ro == 0 && buffer_time >= 10000) { |