mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	core: Assert on memchunk divisibility by sample spec in pa_memblockq_push().
Earlier, -1 was returned if the memchunk size was not a multiple of the frame size. Now, it is verified unconditionally through an assertion. Error code -1 is still returned when the memblock queue is full. In those few cases where the return value of pa_memblockq_push() is checked, an overflow is assumed to be the reason in case an error code is returned.
This commit is contained in:
		
							parent
							
								
									3b3d26813f
								
							
						
					
					
						commit
						7e6e3b7044
					
				
					 2 changed files with 2 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -287,8 +287,7 @@ int pa_memblockq_push(pa_memblockq* bq, const pa_memchunk *uchunk) {
 | 
			
		|||
    pa_assert(uchunk->length > 0);
 | 
			
		||||
    pa_assert(uchunk->index + uchunk->length <= pa_memblock_get_length(uchunk->memblock));
 | 
			
		||||
 | 
			
		||||
    if (uchunk->length % bq->base)
 | 
			
		||||
        return -1;
 | 
			
		||||
    pa_assert_se(uchunk->length % bq->base == 0);
 | 
			
		||||
 | 
			
		||||
    if (!can_push(bq, uchunk->length))
 | 
			
		||||
        return -1;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -51,7 +51,7 @@ typedef struct pa_memblockq pa_memblockq;
 | 
			
		|||
 | 
			
		||||
   - ss:        Sample spec describing the queue contents. Only multiples
 | 
			
		||||
                of the frame size as implied by the sample spec are
 | 
			
		||||
                popped from the queue or should be pushed into it.
 | 
			
		||||
                allowed into the queue or can be popped from it.
 | 
			
		||||
 | 
			
		||||
   - prebuf:    If the queue runs empty wait until this many bytes are in
 | 
			
		||||
                queue again before passing the first byte out. If set
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue