[Speex-dev] encode return 0
    Andrea Laperuta 
    andrea.laperuta at digint.it
       
    Wed Oct 10 01:34:14 PDT 2007
    
    
  
Hi.
 
I’m trying to use the speex library in c#, everything seems to works right,
when I call the speex_encode_int function it always return 0, any help would
be appreciated.
 
Here’s the sequence of calls:
                //Initialization
      _Mode = speex_lib_get_mode(0);
      _State = speex_encoder_init(_Mode);
 
      fixed (int* __FrameSize = &_FrameSize, __Complexity = &_Complexity,
__SamplingRate = &_SamplingRate)
      {
        speex_encoder_ctl(_State, 3 /*SPEEX_GET_FRAME_SIZE*/, __FrameSize);
        speex_encoder_ctl(_State, 16 /*SPEEX_SET_COMPLEXITY*/,
__Complexity);
        speex_encoder_ctl(_State, 24 /*SPEEX_SET_SAMPLING_RATE*/,
__SamplingRate);
      }
 
      _Bits = new SpeexBits();
 
//Data encoding
    public byte[] ProcessData(byte[] ABuffer, int ADataSize)
    {
      int OutputDataSize;
      short[] TempData = new short[ADataSize];
      for (int Index = ADataSize-1; Index >= 0; Index--)
        TempData[Index] = (short)((ABuffer[Index] << 8) ^ 0x8000);      
 
      fixed (short* __TempData = &TempData[0])
      {
        fixed (void* __Bits = &_Bits)
        {
          if (speex_encode_int(_State, __TempData, __Bits) == 1)
          {
            fixed (void* __Buffer = _Buffer)
              OutputDataSize = speex_bits_write(__Bits, __Buffer,
_Buffer.Length);
            speex_bits_reset(__Bits);
          }
          else
            return null;
        }
      }
      byte[] Result = new byte[OutputDataSize];
      for (int Index = 0; Index < OutputDataSize; Index++)
        Result[Index] = (byte)(_Buffer[Index] >> 8);
      return Result;
    }
 
 
Thank you in advance.
 
Regards,
   Andrew.
Andrea Laperuta 
Solution Architect & Team Leader
DigInt Srl
Via Dei Pioppi n. 18/A
20024 Garbagnate Milanese (MI)
Tel. +39 0299020206
Fax. +39 029958518
web: HYPERLINK "http://www.ikon-corp.it/"www.digint.it
* HYPERLINK "mailto:andrea.laperuta at ikon-corp.it"andrea.laperuta at digint.it
 
No virus found in this outgoing message.
Checked by AVG Free Edition. 
Version: 7.5.488 / Virus Database: 269.14.6/1060 - Release Date: 09/10/2007
16.43
 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20071010/6222d047/attachment.htm
    
    
More information about the Speex-dev
mailing list