X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=gr-audio-alsa%2Fsrc%2Faudio_alsa_sink.cc;h=c28e23fea64bfaa06e6800c752d1905e38963a9e;hb=a8e58dba4d820e0b66d89bf05af29c381e46eef9;hp=84bf49151af4d8f1a9ceb3ded9c6b64c8d544e35;hpb=ed4abf6f759a421bc845d9138f82df84bb4bbf96;p=debian%2Fgnuradio diff --git a/gr-audio-alsa/src/audio_alsa_sink.cc b/gr-audio-alsa/src/audio_alsa_sink.cc index 84bf4915..c28e23fe 100644 --- a/gr-audio-alsa/src/audio_alsa_sink.cc +++ b/gr-audio-alsa/src/audio_alsa_sink.cc @@ -90,8 +90,7 @@ audio_alsa_sink::audio_alsa_sink (int sampling_rate, d_period_size (0), d_buffer_size_bytes (0), d_buffer (0), d_worker (0), d_special_case_mono_to_stereo (false), - d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block), - d_change_in_progress(false) + d_nunderuns (0), d_nsuspends (0), d_ok_to_block(ok_to_block) { CHATTY_DEBUG = gr_prefs::singleton()->get_bool("audio_alsa", "verbose", false); @@ -225,11 +224,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) // FIXME check_topology may be called more than once. // Ensure that the pcm is in a state where we can still mess with the hw_params - d_change_in_progress = true; - - if (snd_pcm_state (d_pcm_handle) == SND_PCM_STATE_RUNNING) - snd_pcm_drop (d_pcm_handle); - bool special_case = nchan == 1 && d_special_case_mono_to_stereo; if (special_case) nchan = 2; @@ -238,7 +232,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) if (err < 0){ output_error_msg ("set_channels failed", err); - d_change_in_progress = false; return false; } @@ -246,7 +239,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) err = snd_pcm_hw_params(d_pcm_handle, d_hw_params); if (err < 0){ output_error_msg ("snd_pcm_hw_params failed", err); - d_change_in_progress = false; return false; } @@ -297,7 +289,6 @@ audio_alsa_sink::check_topology (int ninputs, int noutputs) default: assert (0); } - d_change_in_progress = false; return true; } @@ -496,13 +487,6 @@ audio_alsa_sink::write_buffer (const void *vbuffer, { const unsigned char *buffer = (const unsigned char *) vbuffer; - int change_counter = 10; - while (d_change_in_progress == true && change_counter >= 0) { - change_counter--; - usleep(10000); - } - d_change_in_progress = false; - while (nframes > 0){ int r = snd_pcm_writei (d_pcm_handle, buffer, nframes); if (r == -EAGAIN)