Don't crash if an RTP instance can't be created. This could occur when an

invalid bindaddr was specified in gtalk.conf.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Sean Bright 2009-05-22 20:01:11 +00:00
parent d6759e0117
commit de6498b2d3
1 changed files with 5 additions and 1 deletions

View File

@ -947,7 +947,11 @@ static struct gtalk_pvt *gtalk_alloc(struct gtalk *client, const char *us, const
tmp->initiator = 1;
}
/* clear codecs */
tmp->rtp = ast_rtp_instance_new(NULL, sched, &bindaddr, NULL);
if (!(tmp->rtp = ast_rtp_instance_new(NULL, sched, &bindaddr, NULL))) {
ast_log(LOG_ERROR, "Failed to create a new RTP instance (possibly an invalid bindaddr?)\n");
ast_free(tmp);
return NULL;
}
ast_rtp_instance_set_prop(tmp->rtp, AST_RTP_PROPERTY_RTCP, 1);
ast_rtp_codecs_payloads_clear(ast_rtp_instance_get_codecs(tmp->rtp), tmp->rtp);