[asterisk-dev] [Code Review] 4605: translate.c: Only select audio codecs to determine the best translation choice.

rmudgett reviewboard at asterisk.org
Fri Apr 10 11:24:56 CDT 2015


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/4605/
-----------------------------------------------------------

(Updated April 10, 2015, 11:24 a.m.)


Review request for Asterisk Developers.


Bugs: ASTERISK-21777, ASTERISK-24380 and ASTERISK-24841
    https://issues.asterisk.org/jira/browse/ASTERISK-21777
    https://issues.asterisk.org/jira/browse/ASTERISK-24380
    https://issues.asterisk.org/jira/browse/ASTERISK-24841


Repository: Asterisk


Description (updated)
-------

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 is an intermediate patch for a series of patches aimed at improving
translation path choices for ASTERISK-24841.

This patch is a complete enough fix for ASTERISK-21777 as the v11 version
of ast_translator_best_choice() does the same thing.  However, chan_sip.c
still somehow tries to call ast_codec_choose() which then calls
ast_best_codec() with a capability set that doesn't contain any audio
formats for the incoming call.  The remaining warning message seems to be
a benign transient.


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/20150410/acfa1626/attachment.html>


More information about the asterisk-dev mailing list