mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-06 04:30:28 +00:00
Add warned to ast_srtp to prevent errors on each frame from libsrtp
The first 9 frames are not reported as some devices dont use srtp from first frame these are suppresed. the warning is then output only once every 100 frames. git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@337541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -54,6 +54,7 @@ struct ast_srtp {
|
|||||||
srtp_t session;
|
srtp_t session;
|
||||||
const struct ast_srtp_cb *cb;
|
const struct ast_srtp_cb *cb;
|
||||||
void *data;
|
void *data;
|
||||||
|
int warned;
|
||||||
unsigned char buf[8192 + AST_FRIENDLY_OFFSET];
|
unsigned char buf[8192 + AST_FRIENDLY_OFFSET];
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -180,6 +181,8 @@ static struct ast_srtp *res_srtp_new(void)
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
srtp->warned = 1;
|
||||||
|
|
||||||
return srtp;
|
return srtp;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -382,7 +385,12 @@ static int ast_srtp_unprotect(struct ast_srtp *srtp, void *buf, int *len, int rt
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (res != err_status_ok && res != err_status_replay_fail ) {
|
if (res != err_status_ok && res != err_status_replay_fail ) {
|
||||||
ast_log(LOG_WARNING, "SRTP unprotect: %s\n", srtp_errstr(res));
|
if ((srtp->warned >= 10) && !((srtp->warned - 10) % 100)) {
|
||||||
|
ast_log(LOG_WARNING, "SRTP unprotect: %s %d\n", srtp_errstr(res), srtp->warned);
|
||||||
|
srtp->warned = 11;
|
||||||
|
} else {
|
||||||
|
srtp->warned++;
|
||||||
|
}
|
||||||
errno = EAGAIN;
|
errno = EAGAIN;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user