diff --git a/libs/backends/alsa/zita-alsa-pcmi.cc b/libs/backends/alsa/zita-alsa-pcmi.cc index 27b63c94f5..70200b64e1 100644 --- a/libs/backends/alsa/zita-alsa-pcmi.cc +++ b/libs/backends/alsa/zita-alsa-pcmi.cc @@ -53,6 +53,7 @@ Alsa_pcmi::Alsa_pcmi ( : _fsamp (fsamp) , _fsize (fsize) , _play_nfrag (play_nfrag) + , _real_nfrag (play_nfrag) , _capt_nfrag (capt_nfrag) , _debug (debug) , _state (-1) @@ -367,7 +368,7 @@ void Alsa_pcmi::printinfo (void) fprintf (stdout, "\n nchan : %d\n", _play_nchan); fprintf (stdout, " fsamp : %d\n", _fsamp); fprintf (stdout, " fsize : %ld\n", _fsize); - fprintf (stdout, " nfrag : %d\n", _play_nfrag); + fprintf (stdout, " nfrag : %d\n", _real_nfrag); fprintf (stdout, " format : %s\n", snd_pcm_format_name (_play_format)); } else fprintf (stdout, " not enabled\n"); @@ -484,10 +485,9 @@ void Alsa_pcmi::initialise (const char *play_name, const char *capt_name, const _state = -4; return; } - if (snd_pcm_hw_params_get_periods (_play_hwpar, &nfrag, &dir) || (nfrag != _play_nfrag) || dir) + if (snd_pcm_hw_params_get_periods (_play_hwpar, &_real_nfrag, &dir) || (_real_nfrag != _play_nfrag) || dir) { - if (_debug & DEBUG_INIT) fprintf (stderr, "Alsa_pcmi warning: requested %u periods for playback, using %u.\n", _play_nfrag, nfrag); - _play_nfrag = nfrag; // this is later used during pcm_start + if (_debug & DEBUG_INIT) fprintf (stderr, "Alsa_pcmi warning: requested %u periods for playback, using %u.\n", _play_nfrag, _real_nfrag); } snd_pcm_hw_params_get_format (_play_hwpar, &_play_format); diff --git a/libs/backends/alsa/zita-alsa-pcmi.h b/libs/backends/alsa/zita-alsa-pcmi.h index 48c2396c19..c9c8c31697 100644 --- a/libs/backends/alsa/zita-alsa-pcmi.h +++ b/libs/backends/alsa/zita-alsa-pcmi.h @@ -154,6 +154,7 @@ private: unsigned int _fsamp; snd_pcm_uframes_t _fsize; unsigned int _play_nfrag; + unsigned int _real_nfrag; unsigned int _capt_nfrag; unsigned int _debug; int _state;