]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Fix chan_h323 compilation
authorKinsey Moore <kmoore@digium.com>
Fri, 6 Sep 2013 15:58:04 +0000 (15:58 +0000)
committerKinsey Moore <kmoore@digium.com>
Fri, 6 Sep 2013 15:58:04 +0000 (15:58 +0000)
This fixes the things in chan_h323 that were missed or ignored in the
great channel opaquification and gets chan_h323 back into a compiling
state.

(closes issue ASTERISK-22365)
Reported by: Dmitry Melekhov
Patches:
    chan_h323.patch uploaded by Dmitry Melekhov

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@398510 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_h323.c

index 9fae0390c41a6804a0532430fb401a21208a91e3..e292973931fb5abd8f30fff6aa029d20997f60fd 100644 (file)
@@ -346,8 +346,8 @@ static void __oh323_update_info(struct ast_channel *c, struct oh323_pvt *pvt)
                if (h323debug)
                        ast_debug(1, "Preparing %s for new native format\n", ast_channel_name(c));
                ast_format_cap_from_old_bitfield(ast_channel_nativeformats(c), pvt->nativeformats);
-               ast_set_read_format(c, &c->readformat);
-               ast_set_write_format(c, &c->writeformat);
+               ast_set_read_format(c, ast_channel_readformat(c));
+               ast_set_write_format(c, ast_channel_writeformat(c));
        }
        if (pvt->needhangup) {
                if (h323debug)
@@ -787,8 +787,8 @@ static struct ast_frame *oh323_rtp_read(struct oh323_pvt *pvt)
 
                                pvt->nativeformats = ast_format_to_old_bitfield(&f->subclass.format);
 
-                               ast_set_read_format(pvt->owner, &pvt->owner->readformat);
-                               ast_set_write_format(pvt->owner, &pvt->owner->writeformat);
+                               ast_set_read_format(pvt->owner, ast_channel_readformat(pvt->owner));
+                               ast_set_write_format(pvt->owner, ast_channel_writeformat(pvt->owner));
                                ast_channel_unlock(pvt->owner);
                        }
                        /* Do in-band DTMF detection */
@@ -854,7 +854,10 @@ static int oh323_write(struct ast_channel *c, struct ast_frame *frame)
                if (!(ast_format_cap_iscompatible(ast_channel_nativeformats(c), &frame->subclass.format))) {
                        char tmp[256];
                        ast_log(LOG_WARNING, "Asked to transmit frame type '%s', while native formats is '%s' (read/write = %s/%s)\n",
-                               ast_getformatname(&frame->subclass.format), ast_getformatname_multiple(tmp, sizeof(tmp), ast_channel_nativeformats(c)), ast_getformatname(&c->readformat), ast_getformatname(&c->writeformat));
+                               ast_getformatname(&frame->subclass.format),
+                               ast_getformatname_multiple(tmp, sizeof(tmp), ast_channel_nativeformats(c)),
+                               ast_getformatname(ast_channel_readformat(c)),
+                               ast_getformatname(ast_channel_writeformat(c)));
                        return 0;
                }
        }
@@ -1061,10 +1064,10 @@ static struct ast_channel *__oh323_new(struct oh323_pvt *pvt, int state, const c
 
                pvt->nativeformats = ast_format_cap_to_old_bitfield(ast_channel_nativeformats(ch));
                ast_best_codec(ast_channel_nativeformats(ch), &tmpfmt);
-               ast_format_copy(&ch->writeformat, &tmpfmt);
-               ast_format_copy(&ch->rawwriteformat, &tmpfmt);
-               ast_format_copy(&ch->readformat, &tmpfmt);
-               ast_format_copy(&ch->rawreadformat, &tmpfmt);
+               ast_format_copy(ast_channel_writeformat(ch), &tmpfmt);
+               ast_format_copy(ast_channel_rawwriteformat(ch), &tmpfmt);
+               ast_format_copy(ast_channel_readformat(ch), &tmpfmt);
+               ast_format_copy(ast_channel_rawreadformat(ch), &tmpfmt);
                if (!pvt->rtp)
                        __oh323_rtp_create(pvt);
 #if 0
@@ -2079,11 +2082,15 @@ static void setup_rtp_connection(unsigned call_reference, const char *remoteIp,
                        if (!(ast_format_cap_identical(ast_channel_nativeformats(pvt->owner), pvt_native))) {
                                if (h323debug) {
                                        char tmp[256], tmp2[256];
-                                       ast_debug(1, "Native format changed to '%s' from '%s', read format is %s, write format is %s\n", ast_getformatname_multiple(tmp, sizeof(tmp), pvt_native), ast_getformatname_multiple(tmp2, sizeof(tmp2), ast_channel_nativeformats(pvt->owner)), ast_getformatname(&pvt->owner->readformat), ast_getformatname(&pvt->owner->writeformat));
+                                       ast_debug(1, "Native format changed to '%s' from '%s', read format is %s, write format is %s\n",
+                                               ast_getformatname_multiple(tmp, sizeof(tmp), pvt_native),
+                                               ast_getformatname_multiple(tmp2, sizeof(tmp2), ast_channel_nativeformats(pvt->owner)),
+                                               ast_getformatname(ast_channel_readformat(pvt->owner)),
+                                               ast_getformatname(ast_channel_readformat(pvt->owner)));
                                }
                                ast_format_cap_copy(ast_channel_nativeformats(pvt->owner), pvt_native);
-                               ast_set_read_format(pvt->owner, &pvt->owner->readformat);
-                               ast_set_write_format(pvt->owner, &pvt->owner->writeformat);
+                               ast_set_read_format(pvt->owner, ast_channel_readformat(pvt->owner));
+                               ast_set_write_format(pvt->owner, ast_channel_writeformat(pvt->owner));
                        }
                        if (pvt->options.progress_audio)
                                ast_queue_control(pvt->owner, AST_CONTROL_PROGRESS);