The start_treshold is defined as unsigned, so fix the condition
to allow using values avobe LONG_MAX.
Also, fix the documentation for the 64-bit platforms (INTMAX -> LONG_MAX).
Fixes: https://github.com/alsa-project/alsa-lib/issues/374
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
to read count of samples equal or greater then the stream will be started.
If you want to use explicit start (#snd_pcm_start), you can
set this value greater than ring buffer size (in samples), but use the
-constant MAXINT is not a bad idea.
+constant LONG_MAX or the boundary value is not a bad idea.
\par Stop threshold
/* some plugins might automatically start the stream */
state = __snd_pcm_state(pcm);
if (state == SND_PCM_STATE_PREPARED &&
- hw_avail >= (snd_pcm_sframes_t) pcm->start_threshold) {
+ hw_avail >= 0 &&
+ (snd_pcm_uframes_t) hw_avail >= pcm->start_threshold) {
err = __snd_pcm_start(pcm);
if (err < 0)
goto _end;