mirror of
				https://github.com/alsa-project/alsa-lib.git
				synced 2025-10-29 05:40:25 -04:00 
			
		
		
		
	pcm: handle start_treshold in snd_pcm_write_areas more robustly
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>
This commit is contained in:
		
							parent
							
								
									19e6349182
								
							
						
					
					
						commit
						c3fec78ddd
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		|  | @ -378,7 +378,7 @@ be started automatically from the device. For capture, if the application wants | |||
| 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 | ||||
| 
 | ||||
|  | @ -7721,7 +7721,8 @@ snd_pcm_sframes_t snd_pcm_write_areas(snd_pcm_t *pcm, const snd_pcm_channel_area | |||
| 			/* 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; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Jaroslav Kysela
						Jaroslav Kysela