Skip to content

Some question about code in speex_jitter_buffer.c #12

@chapayGhub

Description

@chapayGhub

I can not understand why we make speex_decode_int of jitter->current_packet 2 times
first time after get packet from buffer, after set flag valid_bits to 1, second time at next speex_jitter_get call

speex_jitter_buffer.c:

void speex_jitter_get(SpeexJitter *jitter, spx_int16_t *out, int *current_timestamp) {
   //....
   if (jitter->valid_bits)
   {
//
//         here we decode last received packet to out second time
//
      ret = speex_decode_int(jitter->dec, &jitter->current_packet, out);
      //...
   }
   
   //....

//     
//        here we decode last received packet to out first time
//
      ret = speex_decode_int(jitter->dec, &jitter->current_packet, out);
      if (ret == 0)
      {
         jitter->valid_bits = 1;
     }
//....
}

Thanks!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions