[alsa-devel] snd-bebob and PrismSound Orpheus fails with snd_pcm_hw_params_set_channels
Mike Ood
jh1ood at gmail.com
Fri Apr 24 09:30:21 CEST 2015
I am now trying with my capture program, "myprog.cpp" instead of "aplay.c".
-------------------------------
% alsacap ; alscap -R
-------------------------------
Card 2, ID `Orpheus', name `Orpheus'
Device 0, ID `BeBoB', name `Orpheus PCM', 1 subdevices (1 available)
12 channels, sampling rate 44100..44100 Hz
Sample formats: S16_LE, S32_LE
Subdevice 0, name `subdevice #0'
Card 2, ID `Orpheus', name `Orpheus'
Device 0, ID `BeBoB', name `Orpheus PCM', 1 subdevices (1 available)
10 channels, sampling rate 44100..44100 Hz
Sample formats: S32_LE
Subdevice 0, name `subdevice #0'
-------------------------------
% myprog hw:2,0 44100 10
-------------------------------
Sound::Sound: sound_device = hw:2,0, rate = 44100, channels = 10
Sound::asound_set_hwparams: begin...
Sound::asound_set_hwparams: buffer_time = 92879, dir = 1
Sound::asound_set_hwparams: buffer_size = 4096
Sound::asound_set_hwparams: period_time = 46439 , dir = 1
Sound::asound_set_hwparams: period_size = 2048, dir = 0
Sound::asound_set_hwparams: Unable to set hw params: Connection timed out
Sound::Sound: setting of hwparams failed. Connection timed out
-------------------------------
Sound::asound_set_hwparams(snd_pcm_t *, snd_pcm_hw_params_t *)
-------------------------------
err = snd_pcm_hw_params_any(handle, params);
err = snd_pcm_hw_params_set_rate_resample(handle, params, resample);
err = snd_pcm_hw_params_set_access(handle, params,
err = snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S32_LE);
//if Orphesu
err = snd_pcm_hw_params_set_format(handle, params, SND_PCM_FORMAT_S16);
//else
err = snd_pcm_hw_params_set_channels(handle, params, channels);
err = snd_pcm_hw_params_set_rate_near(handle, params, &rrate, 0);
err = snd_pcm_hw_params_set_buffer_time_near(handle, params, &buffer_time,
err = snd_pcm_hw_params_get_buffer_size(params, &size);
err = snd_pcm_hw_params_set_period_time_near(handle, params, &period_time,
err = snd_pcm_hw_params_get_period_size(params, &size, &dir);
err = snd_pcm_hw_params(handle, params);
if (err < 0) {
cout << "Sound::asound_set_hwparams: Unable to set hw params: "
<< snd_strerror(err) << endl;
return err;
}
-------------------------------
No messages were found in % demsg and % cat /var/log/syslog
concerning the above run of % myprog.
So is it (partly) due to "Connection timed out"?
Mike Ood
More information about the Alsa-devel
mailing list