Hi Alexander

Thanks a lot, I will try this tomorrow.

Regards,
  Martin Meuli

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Alexander Chemeris
Sent: Dienstag, 24. Oktober 2006 17:15
To: Martin Meuli
Cc: [email protected]
Subject: Re: [sipxtapi-dev] Memory Overwrite in
MprDejitter::getAveBufferLength(int pt)

Hello,

On 10/24/06, Martin Meuli <[EMAIL PROTECTED]> wrote:
> int MprDejitter::getAveBufferLength(int pt)
> {
>         if((mFrameCount[pt]==0)||(mPacketCount[pt]==0)) return 0;
>         int iAve = mPacketCount[pt] / mFrameCount[pt];
>         mPacketCount[pt]=0;
>         mFrameCount[pt] = 0;
>         return iAve;
> }
Try this:
int MprDejitter::getAveBufferLength(int pt)
{
   int codecIndex = mBufferLookup[pt];
   if (codecIndex < 0)
      return 0;

   if((mFrameCount[codecIndex]==0)||(mPacketCount[codecIndex]==0))
return 0;
   int iAve = mPacketCount[codecIndex] / mFrameCount[codecIndex];
   mPacketCount[codecIndex]=0;
   mFrameCount[codecIndex] = 0;
   return iAve;
}

Or, better, just this:
int MprDejitter::getAveBufferLength(int payload)
{
   int codecIndex = mBufferLookup[payload];
   if (codecIndex < 0)
      return 0;

   return mNumPackets[codecIndex];
}

This problem was introduced by merge from main branch. I fixed some
similar errors
before merging it to sipXtapi-media-update branch, but not all (did
not noticed this).
If you will still have problems with sipXtapi branch, try
sipXtapi-media-update.


Regards,
Alexander Chemeris.

_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to