[asterisk-commits] file: branch 1.4 r83400 - /branches/1.4/channels/chan_sip.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Fri Sep 21 08:34:34 CDT 2007
Author: file
Date: Fri Sep 21 08:34:32 2007
New Revision: 83400
URL: http://svn.digium.com/view/asterisk?view=rev&rev=83400
Log:
Fix video under certain circumstances. It would have been possible for the formats on the channel to not contain the video format.
(closes issue #10782)
Reported by: cwhuang
Modified:
branches/1.4/channels/chan_sip.c
Modified: branches/1.4/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/branches/1.4/channels/chan_sip.c?view=diff&rev=83400&r1=83399&r2=83400
==============================================================================
--- branches/1.4/channels/chan_sip.c (original)
+++ branches/1.4/channels/chan_sip.c Fri Sep 21 08:34:32 2007
@@ -3901,7 +3901,7 @@
struct ast_variable *v = NULL;
int fmt;
int what;
- int needvideo = 0;
+ int needvideo = 0, video = 0;
{
const char *my_name; /* pick a good name */
@@ -3930,15 +3930,19 @@
/* Select our native format based on codec preference until we receive
something from another device to the contrary. */
- if (i->jointcapability) /* The joint capabilities of us and peer */
+ if (i->jointcapability) { /* The joint capabilities of us and peer */
what = i->jointcapability;
- else if (i->capability) /* Our configured capability for this peer */
+ video = i->jointcapability & AST_FORMAT_VIDEO_MASK;
+ } else if (i->capability) { /* Our configured capability for this peer */
what = i->capability;
- else
+ video = i->capability & AST_FORMAT_VIDEO_MASK;
+ } else {
what = global_capability; /* Global codec support */
+ video = global_capability & AST_FORMAT_VIDEO_MASK;
+ }
/* Set the native formats for audio and merge in video */
- tmp->nativeformats = ast_codec_choose(&i->prefs, what, 1) | (i->jointcapability & AST_FORMAT_VIDEO_MASK);
+ tmp->nativeformats = ast_codec_choose(&i->prefs, what, 1) | video;
if (option_debug > 2) {
char buf[BUFSIZ];
ast_log(LOG_DEBUG, "*** Our native formats are %s \n", ast_getformatname_multiple(buf, BUFSIZ, tmp->nativeformats));
More information about the asterisk-commits
mailing list