mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	audiohook.c: Fix MixMonitor crash when using the r() or t() options.
The built frame format in audiohook_read_frame_both() is now set to a signed linear format before the rx and tx frames are duplicated instead of only for the mixed audio frame duplication. ASTERISK-25322 #close Reported by Sean Pimental Change-Id: I86f85b5c48c49e4e2d3b770797b9d484250a1538
This commit is contained in:
		| @@ -326,6 +326,8 @@ static struct ast_frame *audiohook_read_frame_both(struct ast_audiohook *audioho | ||||
| 		ast_debug(1, "Failed to get %d samples from write factory %p\n", (int)samples, &audiohook->write_factory); | ||||
| 	} | ||||
|  | ||||
| 	frame.subclass.format = ast_format_cache_get_slin_by_rate(audiohook->hook_internal_samp_rate); | ||||
|  | ||||
| 	/* Basically we figure out which buffer to use... and if mixing can be done here */ | ||||
| 	if (read_buf && read_reference) { | ||||
| 		frame.data.ptr = buf1; | ||||
| @@ -352,8 +354,6 @@ static struct ast_frame *audiohook_read_frame_both(struct ast_audiohook *audioho | ||||
| 	/* Make the final buffer part of the frame, so it gets duplicated fine */ | ||||
| 	frame.data.ptr = final_buf; | ||||
|  | ||||
| 	frame.subclass.format = ast_format_cache_get_slin_by_rate(audiohook->hook_internal_samp_rate); | ||||
|  | ||||
| 	/* Yahoo, a combined copy of the audio! */ | ||||
| 	return ast_frdup(&frame); | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user