diff options
-rw-r--r-- | channels/chan_gtalk.c | 8 | ||||
-rw-r--r-- | channels/chan_jingle.c | 8 | ||||
-rw-r--r-- | doc/rtp-packetization.txt | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/channels/chan_gtalk.c b/channels/chan_gtalk.c index 4958ccdb4..bab6f9217 100644 --- a/channels/chan_gtalk.c +++ b/channels/chan_gtalk.c @@ -857,6 +857,9 @@ static struct gtalk_pvt *gtalk_alloc(struct gtalk *client, const char *us, const if (!(tmp = ast_calloc(1, sizeof(*tmp)))) { return NULL; } + + memcpy(&tmp->prefs, &client->prefs, sizeof(struct ast_codec_pref)); + if (sid) { ast_copy_string(tmp->sid, sid, sizeof(tmp->sid)); ast_copy_string(tmp->them, them, sizeof(tmp->them)); @@ -917,6 +920,11 @@ static struct ast_channel *gtalk_new(struct gtalk *client, struct gtalk_pvt *i, what = i->capability; else what = global_capability; + + /* Set Frame packetization */ + if (i->rtp) + ast_rtp_codec_setpref(i->rtp, &i->prefs); + tmp->nativeformats = ast_codec_choose(&i->prefs, what, 1) | (i->jointcapability & AST_FORMAT_VIDEO_MASK); fmt = ast_best_codec(tmp->nativeformats); diff --git a/channels/chan_jingle.c b/channels/chan_jingle.c index 1d3032465..87fb37955 100644 --- a/channels/chan_jingle.c +++ b/channels/chan_jingle.c @@ -726,6 +726,9 @@ static struct jingle_pvt *jingle_alloc(struct jingle *client, const char *from, if (!(tmp = ast_calloc(1, sizeof(*tmp)))) { return NULL; } + + memcpy(&tmp->prefs, &client->prefs, sizeof(tmp->prefs)); + if (sid) { ast_copy_string(tmp->sid, sid, sizeof(tmp->sid)); ast_copy_string(tmp->from, from, sizeof(tmp->from)); @@ -777,6 +780,11 @@ static struct ast_channel *jingle_new(struct jingle *client, struct jingle_pvt * what = i->capability; else what = global_capability; + + /* Set Frame packetization */ + if (i->rtp) + ast_rtp_codec_setpref(i->rtp, &i->prefs); + tmp->nativeformats = ast_codec_choose(&i->prefs, what, 1) | (i->jointcapability & AST_FORMAT_VIDEO_MASK); fmt = ast_best_codec(tmp->nativeformats); diff --git a/doc/rtp-packetization.txt b/doc/rtp-packetization.txt index 647375a98..c558a538e 100644 --- a/doc/rtp-packetization.txt +++ b/doc/rtp-packetization.txt @@ -11,6 +11,8 @@ or global level: chan_skinny chan_h323 chan_ooh323 (Asterisk-Addons) + chan_gtalk + chan_jingle Configuration ------- |