Displaying 6 results from an estimated 6 matches for "jitter_buffer_ok".
2007 Apr 18
3
Problems with the Speex Jitter Buffer
...acket;
}
void BeatJitterBuffer::GetSound(char* buffer, size_t maxLength)
{
int ret;
if (320 == maxLength)
{
JitterBufferPacket packet;
packet.data = buffer;
m_Mutex.Aquire();
ret = jitter_buffer_get(m_JitterBuffer, &packet, 0);
if(ret != JITTER_BUFFER_OK)
{
ZeroMemory(packet.data, maxLength);
}
jitter_buffer_tick(m_JitterBuffer);
jitter_buffer_update_delay(m_JitterBuffer, &packet, NULL);
m_Mutex.Release();
}
else
{
ZeroMemory(buffer, maxLength);
}
}
2007 Apr 20
2
Problems with the Speex Jitter Buffer
...;
>>
>> if (320 == maxLength)
>> {
>> JitterBufferPacket packet;
>> packet.data = buffer;
>>
>> m_Mutex.Aquire();
>>
>> ret = jitter_buffer_get(m_JitterBuffer, &packet, 0);
>>
>> if(ret != JITTER_BUFFER_OK)
>> {
>> ZeroMemory(packet.data, maxLength);
>> }
>>
>> jitter_buffer_tick(m_JitterBuffer);
>> jitter_buffer_update_delay(m_JitterBuffer, &packet, NULL);
>> m_Mutex.Release();
>> }
>> else...
2007 Dec 31
2
Re: Problem with beta 3 jitter buffer
Daniel Schmidt a ?crit :
> I found the cause of the problem. The function shift_timings can
> produce overflows in the timing array if the jitter is huge or the
> time units are very short. After changing the timing values' type from
> spx_int16_t to spx_int32_t it seems to work.
Hmm, I always assumed there wouldn't be any overflows. What parameter
range are you using that
2007 Apr 20
0
Problems with the Speex Jitter Buffer
...size_t maxLength)
> {
> int ret;
>
> if (320 == maxLength)
> {
> JitterBufferPacket packet;
> packet.data = buffer;
>
> m_Mutex.Aquire();
>
> ret = jitter_buffer_get(m_JitterBuffer, &packet, 0);
>
> if(ret != JITTER_BUFFER_OK)
> {
> ZeroMemory(packet.data, maxLength);
> }
>
> jitter_buffer_tick(m_JitterBuffer);
> jitter_buffer_update_delay(m_JitterBuffer, &packet, NULL);
> m_Mutex.Release();
> }
> else
> {
> ZeroMemory(b...
2008 Jan 01
0
Re: Problem with beta 3 jitter buffer
...insertions or concealment, so I'm
> not sure what's the problem. The app definitely needs to use the
> returned span correctly.
The speex_jitter_buffer presented in the manual and used by
speexclient always interpolates/inserts one speex frame if
jitter_buffer_get doesn't return JITTER_BUFFER_OK without taking
packet->span into account. Therefore my question was if this is
correct or the number of frames to insert (before calling
jitter_buffer_get again) must be determined by packet->span or if the
jitter buffer can be used in both ways.
Best regards,
Daniel
2007 Apr 20
0
Problems with the Speex Jitter Buffer
...xLength)
>>> {
>>> JitterBufferPacket packet;
>>> packet.data = buffer;
>>>
>>> m_Mutex.Aquire();
>>>
>>> ret = jitter_buffer_get(m_JitterBuffer, &packet, 0);
>>>
>>> if(ret != JITTER_BUFFER_OK)
>>> {
>>> ZeroMemory(packet.data, maxLength);
>>> }
>>>
>>> jitter_buffer_tick(m_JitterBuffer);
>>> jitter_buffer_update_delay(m_JitterBuffer, &packet, NULL);
>>> m_Mutex.Release();
&g...