aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--rtp.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/rtp.c b/rtp.c
index 13dab38dc..ce85b4551 100644
--- a/rtp.c
+++ b/rtp.c
@@ -386,10 +386,12 @@ struct ast_frame *ast_rtcp_read(struct ast_rtp *rtp)
0, (struct sockaddr *)&sin, &len);
if (res < 0) {
- if (errno != EAGAIN)
- ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
if (errno == EBADF)
CRASH;
+ if (errno != EAGAIN) {
+ ast_log(LOG_WARNING, "RTP Read error: %s. Hanging up now.\n", strerror(errno));
+ return NULL;
+ }
return &null_frame;
}
@@ -453,10 +455,12 @@ struct ast_frame *ast_rtp_read(struct ast_rtp *rtp)
rtpheader = (unsigned int *)(rtp->rawdata + AST_FRIENDLY_OFFSET);
if (res < 0) {
- if (errno != EAGAIN)
- ast_log(LOG_WARNING, "RTP Read error: %s\n", strerror(errno));
if (errno == EBADF)
CRASH;
+ if (errno != EAGAIN) {
+ ast_log(LOG_WARNING, "RTP Read error: %s. Hanging up now.\n", strerror(errno));
+ return NULL;
+ }
return &null_frame;
}
if (res < hdrlen) {