[asterisk-dev] [Code Review] 4605: translate.c: Only select audio codecs to determine the best translation choice.
rmudgett
reviewboard at asterisk.org
Wed Apr 8 21:18:32 CDT 2015
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4605/
-----------------------------------------------------------
Review request for Asterisk Developers.
Bugs: ASTERISK-21777 and ASTERISK-24380
https://issues.asterisk.org/jira/browse/ASTERISK-21777
https://issues.asterisk.org/jira/browse/ASTERISK-24380
Repository: Asterisk
Description
-------
Given a source capability of h264 and ulaw, a destination capability of
h264 and g722 then ast_translator_best_choice() would pick h264 as the
best choice even though h264 is a video codec and Asterisk only supports
translation of audio codecs. When the audio starts flowing, there are
warnings about a codec mismatch when the channel tries to write a frame to
the peer.
* Made ast_translator_best_choice() only select audio codecs.
* Restore a check in channel.c:set_format() lost after v1.8 to prevent
trying to set a non-audio codec.
This patch is a partial fix for ASTERISK-21777 as the v11 version of
ast_translator_best_choice() does the same thing. However, chan_sip
somehow sets the nativeformats capabilities to just h264 or empty.
This patch will be backported to v11 as a partial fix for ASTERISK-21777.
Diffs
-----
/branches/13/main/translate.c 434447
/branches/13/main/channel.c 434447
Diff: https://reviewboard.asterisk.org/r/4605/diff/
Testing
-------
Modified chan_pjsip.c:chan_pjsip_new() to force inclusion of the h264
video codec in the native capabilities. Without the patch I get the path
translation warnings. With the patch I don't get the warnings.
Thanks,
rmudgett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20150409/8ad5066a/attachment.html>
More information about the asterisk-dev
mailing list