From: Joshua Colp Date: Tue, 29 May 2007 16:44:34 +0000 (+0000) Subject: Handle cases where a frame may have no data. (issue #9519 reported by dmb) X-Git-Tag: 1.4.5~108 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=13afc81f91c0e80e486565677f9f99930063439f;p=thirdparty%2Fasterisk.git Handle cases where a frame may have no data. (issue #9519 reported by dmb) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@66437 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/main/rtp.c b/main/rtp.c index 8a74fb2223..9f2eb7f839 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2743,7 +2743,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: */ @@ -2752,7 +2752,8 @@ int ast_rtp_write(struct ast_rtp *rtp, struct ast_frame *_f) } 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); }