mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-10-29 05:40:27 -04:00 
			
		
		
		
	utils: add debugable spa_memcpy
This commit is contained in:
		
							parent
							
								
									c2cb74a146
								
							
						
					
					
						commit
						74cf412f47
					
				
					 5 changed files with 25 additions and 14 deletions
				
			
		|  | @ -239,6 +239,17 @@ struct spa_param_info { | |||
| 	strerror(_err);			\ | ||||
| }) | ||||
| 
 | ||||
| #ifdef SPA_DEBUG_MEMCPY | ||||
| #define spa_memcpy(d,s,n)						\ | ||||
| ({									\ | ||||
| 	fprintf(stderr, "%s:%u %s() memcpy(%p, %p, %zd)\n",		\ | ||||
| 		__FILE__, __LINE__, __func__, (d), (s), (size_t)(n));	\ | ||||
| 	memcpy(d,s,n);							\ | ||||
| }) | ||||
| #else | ||||
| #define spa_memcpy(d,s,n)	memcpy(d,s,n) | ||||
| #endif | ||||
| 
 | ||||
| #ifdef __cplusplus | ||||
| } /* extern "C" */ | ||||
| #endif | ||||
|  |  | |||
|  | @ -716,9 +716,9 @@ again: | |||
| 		l0 = SPA_MIN(n_bytes, maxsize - offs); | ||||
| 		l1 = n_bytes - l0; | ||||
| 
 | ||||
| 		memcpy(dst, src + offs, l0); | ||||
| 		spa_memcpy(dst, src + offs, l0); | ||||
| 		if (l1 > 0) | ||||
| 			memcpy(dst + l0, src, l1); | ||||
| 			spa_memcpy(dst + l0, src, l1); | ||||
| 
 | ||||
| 		state->ready_offset += n_bytes; | ||||
| 
 | ||||
|  | @ -811,9 +811,9 @@ push_frames(struct state *state, | |||
| 		l0 = SPA_MIN(n_bytes, d[0].maxsize - offs); | ||||
| 		l1 = n_bytes - l0; | ||||
| 
 | ||||
| 		memcpy(SPA_MEMBER(d[0].data, offs, void), src, l0); | ||||
| 		spa_memcpy(SPA_MEMBER(d[0].data, offs, void), src, l0); | ||||
| 		if (l1 > 0) | ||||
| 			memcpy(d[0].data, src + l0, l1); | ||||
| 			spa_memcpy(d[0].data, src + l0, l1); | ||||
| 
 | ||||
| 		d[0].chunk->offset = index; | ||||
| 		d[0].chunk->size = n_bytes; | ||||
|  |  | |||
|  | @ -39,7 +39,7 @@ channelmix_copy_sse(void *data, int n_dst, void *dst[n_dst], | |||
| 	} | ||||
| 	else if (v == VOLUME_NORM) { | ||||
| 		for (i = 0; i < n_dst; i++) | ||||
| 			memcpy(d[i], s[i], n_samples * sizeof(float)); | ||||
| 			spa_memcpy(d[i], s[i], n_samples * sizeof(float)); | ||||
| 	} | ||||
| 	else { | ||||
| 		for (i = 0; i < n_dst; i++) { | ||||
|  |  | |||
|  | @ -49,7 +49,7 @@ channelmix_copy(void *data, int n_dst, void *dst[n_dst], | |||
| 	} | ||||
| 	else if (v == VOLUME_NORM) { | ||||
| 		for (i = 0; i < n_dst; i++) | ||||
| 			memcpy(d[i], s[i], n_samples * sizeof(float)); | ||||
| 			spa_memcpy(d[i], s[i], n_samples * sizeof(float)); | ||||
| 	} | ||||
| 	else { | ||||
| 		for (i = 0; i < n_dst; i++) | ||||
|  |  | |||
|  | @ -95,13 +95,13 @@ conv_copy8d(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT src | |||
| { | ||||
| 	uint32_t i; | ||||
| 	for (i = 0; i < n_channels; i++) | ||||
| 		memcpy(dst[i], src[i], n_samples); | ||||
| 		spa_memcpy(dst[i], src[i], n_samples); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| conv_copy8(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT src[], uint32_t n_channels, uint32_t n_samples) | ||||
| { | ||||
| 	memcpy(dst[0], src[0], n_samples * n_channels); | ||||
| 	spa_memcpy(dst[0], src[0], n_samples * n_channels); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
|  | @ -110,13 +110,13 @@ conv_copy16d(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT sr | |||
| { | ||||
| 	uint32_t i; | ||||
| 	for (i = 0; i < n_channels; i++) | ||||
| 		memcpy(dst[i], src[i], n_samples * sizeof(int16_t)); | ||||
| 		spa_memcpy(dst[i], src[i], n_samples * sizeof(int16_t)); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| conv_copy16(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT src[], uint32_t n_channels, uint32_t n_samples) | ||||
| { | ||||
| 	memcpy(dst[0], src[0], n_samples * sizeof(int16_t) * n_channels); | ||||
| 	spa_memcpy(dst[0], src[0], n_samples * sizeof(int16_t) * n_channels); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
|  | @ -124,13 +124,13 @@ conv_copy24d(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT sr | |||
| { | ||||
| 	uint32_t i; | ||||
| 	for (i = 0; i < n_channels; i++) | ||||
| 		memcpy(dst[i], src[i], n_samples * 3); | ||||
| 		spa_memcpy(dst[i], src[i], n_samples * 3); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| conv_copy24(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT src[], uint32_t n_channels, uint32_t n_samples) | ||||
| { | ||||
| 	memcpy(dst[0], src[0], n_samples * 3 * n_channels); | ||||
| 	spa_memcpy(dst[0], src[0], n_samples * 3 * n_channels); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
|  | @ -138,13 +138,13 @@ conv_copy32d(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT sr | |||
| { | ||||
| 	uint32_t i; | ||||
| 	for (i = 0; i < n_channels; i++) | ||||
| 		memcpy(dst[i], src[i], n_samples * sizeof(int32_t)); | ||||
| 		spa_memcpy(dst[i], src[i], n_samples * sizeof(int32_t)); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| conv_copy32(void *data, void * SPA_RESTRICT dst[], const void * SPA_RESTRICT src[], uint32_t n_channels, uint32_t n_samples) | ||||
| { | ||||
| 	memcpy(dst[0], src[0], n_samples * sizeof(int32_t) * n_channels); | ||||
| 	spa_memcpy(dst[0], src[0], n_samples * sizeof(int32_t) * n_channels); | ||||
| } | ||||
| 
 | ||||
| static void | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Wim Taymans
						Wim Taymans