mirror of
				https://github.com/asterisk/asterisk.git
				synced 2025-10-31 10:47:18 +00:00 
			
		
		
		
	Merged revisions 66437 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r66437 | file | 2007-05-29 12:44:34 -0400 (Tue, 29 May 2007) | 2 lines Handle cases where a frame may have no data. (issue #9519 reported by dmb) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@66438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
		| @@ -2862,7 +2862,7 @@ int ast_rtp_write(struct ast_rtp *rtp, struct ast_frame *_f) | ||||
| 			ast_smoother_feed(rtp->smoother, _f); | ||||
| 		} | ||||
|  | ||||
| 		while ((f = ast_smoother_read(rtp->smoother))) | ||||
| 		while ((f = ast_smoother_read(rtp->smoother)) && (f->data)) | ||||
| 			ast_rtp_raw_write(rtp, f, codec); | ||||
| 	} else { | ||||
| 	        /* Don't buffer outgoing frames; send them one-per-packet: */ | ||||
| @@ -2870,7 +2870,8 @@ int ast_rtp_write(struct ast_rtp *rtp, struct ast_frame *_f) | ||||
| 			f = ast_frdup(_f);	/*! \bug XXX this might never be free'd. Why do we do this? */ | ||||
| 		else | ||||
| 			f = _f; | ||||
| 		ast_rtp_raw_write(rtp, f, codec); | ||||
| 		if (f->data) | ||||
| 			ast_rtp_raw_write(rtp, f, codec); | ||||
| 		if (f != _f) | ||||
| 			ast_frfree(f); | ||||
| 	} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user