| Index: media/audio/linux/alsa_wrapper.cc
|
| ===================================================================
|
| --- media/audio/linux/alsa_wrapper.cc (revision 160378)
|
| +++ media/audio/linux/alsa_wrapper.cc (working copy)
|
| @@ -71,76 +71,17 @@
|
| return snd_pcm_name(handle);
|
| }
|
|
|
| -int AlsaWrapper::ConfigureHwParams(snd_pcm_t* handle,
|
| - snd_pcm_hw_params_t* hw_params,
|
| - snd_pcm_format_t format,
|
| - snd_pcm_access_t access,
|
| - unsigned int channels,
|
| - unsigned int rate,
|
| - int soft_resample,
|
| - unsigned int latency) {
|
| - int err = 0;
|
| - if ((err = snd_pcm_hw_params_any(handle, hw_params)) < 0)
|
| - return err;
|
| -
|
| - if ((err = snd_pcm_hw_params_set_rate_resample(handle, hw_params,
|
| - soft_resample)) < 0) {
|
| - return err;
|
| - }
|
| -
|
| - if ((err = snd_pcm_hw_params_set_format(handle, hw_params, format)) < 0)
|
| - return err;
|
| -
|
| - int dir = 0;
|
| - unsigned new_rate = rate;
|
| - if ((err = snd_pcm_hw_params_set_rate_near(handle, hw_params,
|
| - &new_rate, &dir)) < 0) {
|
| - return err;
|
| - }
|
| -
|
| - if ((err = snd_pcm_hw_params_set_access(handle, hw_params, access)) < 0)
|
| - return err;
|
| -
|
| - if ((err = snd_pcm_hw_params_set_channels(handle, hw_params, channels)) < 0)
|
| - return err;
|
| -
|
| - unsigned buffer_time = latency;
|
| - if (buffer_time == 0) {
|
| - if ((err = snd_pcm_hw_params_get_buffer_time_max(hw_params,
|
| - &buffer_time, 0)) < 0) {
|
| - return err;
|
| - }
|
| - if (buffer_time > 500000)
|
| - buffer_time = 500000;
|
| - }
|
| -
|
| - unsigned period_time = buffer_time / 4;
|
| - if ((err = snd_pcm_hw_params_set_period_time_near(handle, hw_params,
|
| - &period_time, 0)) < 0) {
|
| - return err;
|
| - }
|
| -
|
| - err = snd_pcm_hw_params_set_buffer_time_near(handle, hw_params,
|
| - &buffer_time, 0);
|
| - return err;
|
| -}
|
| -
|
| int AlsaWrapper::PcmSetParams(snd_pcm_t* handle, snd_pcm_format_t format,
|
| snd_pcm_access_t access, unsigned int channels,
|
| unsigned int rate, int soft_resample,
|
| unsigned int latency) {
|
| - int err = 0;
|
| - snd_pcm_hw_params_t* hw_params;
|
| - if ((err = snd_pcm_hw_params_malloc(&hw_params)) < 0)
|
| - return err;
|
| -
|
| - if ((err = ConfigureHwParams(handle, hw_params, format, access, channels,
|
| - rate, soft_resample, latency)) >= 0) {
|
| - err = snd_pcm_hw_params(handle, hw_params);
|
| - }
|
| -
|
| - snd_pcm_hw_params_free(hw_params);
|
| - return err;
|
| + return snd_pcm_set_params(handle,
|
| + format,
|
| + access,
|
| + channels,
|
| + rate,
|
| + soft_resample,
|
| + latency);
|
| }
|
|
|
| int AlsaWrapper::PcmGetParams(snd_pcm_t* handle, snd_pcm_uframes_t* buffer_size,
|
|
|