/*----- RTP interface functions */
static int jingle_set_rtp_peer(struct ast_channel *chan, struct ast_rtp *rtp,
struct ast_rtp *vrtp, int codecs, int nat_active);
-static struct ast_rtp *jingle_get_rtp_peer(struct ast_channel *chan);
+static enum ast_rtp_get_result jingle_get_rtp_peer(struct ast_channel *chan, struct ast_rtp **rtp);
static int jingle_get_codec(struct ast_channel *chan);
/*! \brief PBX interface structure for channel registration */
return res;
}
-static struct ast_rtp *jingle_get_rtp_peer(struct ast_channel *chan)
+static enum ast_rtp_get_result jingle_get_rtp_peer(struct ast_channel *chan, struct ast_rtp **rtp)
{
struct jingle_pvt *p = chan->tech_pvt;
- struct ast_rtp *rtp = NULL;
+ enum ast_rtp_get_result res = AST_RTP_GET_FAILED;
if (!p)
- return NULL;
+ return res;
+
ast_mutex_lock(&p->lock);
- if (p->rtp)
- rtp = p->rtp;
+ if (p->rtp) {
+ *rtp = p->rtp;
+ res = AST_RTP_TRY_NATIVE;
+ }
ast_mutex_unlock(&p->lock);
- return rtp;
+
+ return res;
}
static int jingle_get_codec(struct ast_channel *chan)