[Asterisk-Dev] RFC3389 problem a little more info..
cf at internetit.dk
cf at internetit.dk
Thu Sep 9 00:08:06 MST 2004
Thanks
Claus
----- Original Message -----
From: "Mark Spencer" <markster at digium.com>
To: "Rob Gagnon" <rob at networkip.net>; "Asterisk Developers Mailing List" <asterisk-dev at lists.digium.com>
Sent: Thursday, September 09, 2004 5:37 AM
Subject: Re: [Asterisk-Dev] RFC3389 problem a little more info..
> Should be fixed in CVS...
>
> Mark
>
> On Tue, 7 Sep 2004, Rob Gagnon wrote:
>
> > Well, somehow rtp->f.data is not a valid pointer yet. Anyhone familiar want to take this one? or post it on bugs.?
> >
> > ----- Original Message -----
> > From: cf at internetit.dk
> > To: asterisk-dev at lists.digium.com
> > Sent: Tuesday, September 07, 2004 11:28 AM
> > Subject: [Asterisk-Dev] RFC3389 problem a little more info..
> >
> >
> > Hi Again,
> >
> > Added some more info in rtp.c, and this the problem:
> >
> > RFC3389: 5 bytes, level 0...
> > RFC3389: Copying 5 bytes....
> > Segmentation fault
> >
> > static struct ast_frame *process_rfc3389(struct ast_rtp *rtp, unsigned char *data, int len)
> > {
> > struct ast_frame *f = NULL;
> > /* Convert comfort noise into audio with various codecs. Unfortunately this doesn't
> > totally help us out becuase we don't have an engine to keep it going and we are not
> > guaranteed to have it every 20ms or anything */
> > #if 1
> > printf("RFC3389: %d bytes, level %d...\n", len, rtp->lastrxformat);
> > #endif
> > if (!(rtp->flags & FLAG_3389_WARNING)) {
> > ast_log(LOG_NOTICE, "RFC3389 support incomplete. Turn off on client if possible\n");
> > rtp->flags |= FLAG_3389_WARNING;
> > }
> > /* Must have at least one byte */
> > if (!len) {
> > printf("RFC3389: Lenghth is -1 or null bytes.... \n");
> > return NULL;
> > }
> > if (len < 24) {
> > printf("RFC3389: Copying %d bytes.... \n", len);
> > rtp->f.datalen = len - 1;
> > memcpy(rtp->f.data, data + 1, len - 1);
> > printf("RFC3389: Copying finished %d bytes.... \n", len);
> > } else {
> > printf("RFC3389: Copying 0 bytes.... \n");
> > rtp->f.datalen = 0;
> > }
> > printf("RFC3389: Preparing return.... \n");
> > rtp->f.frametype = AST_FRAME_CNG;
> > rtp->f.subclass = data[0] & 0x7f;
> > rtp->f.datalen = len - 1;
> > rtp->f.samples = 0;
> > rtp->f.delivery.tv_usec = rtp->f.delivery.tv_sec = 0;
> > f = &rtp->f;
> > printf("RFC3389: Returning f.... \n");
> > return f;
> > }
> >
> > Does this occur because the len is set but the data isn't there??
> >
> > Kind regards
> >
> > Claus
> >
> >
> > ------------------------------------------------------------------------------
> >
> >
> > _______________________________________________
> > Asterisk-Dev mailing list
> > Asterisk-Dev at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-dev
> > To UNSUBSCRIBE or update options visit:
> > http://lists.digium.com/mailman/listinfo/asterisk-dev
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
> http://lists.digium.com/mailman/listinfo/asterisk-dev
>
More information about the asterisk-dev
mailing list