Displaying 12 results from an estimated 12 matches for "jitter_buffer_put".
Did you mean:
jitter_buffer_get
2009 Jan 30
2
Jitter buffer (speex_jitter.h) usage
...r.c wrapper seems to maintain (buffer?) one
packet-frame ("current_packet") in addition to the packets already
tracked by the JitterBuffer itself. Why is this necessary?
Correspondingly, how is the internal JitterBuffer state affected by
calling jitter_buffer_get (and _tick) before jitter_buffer_put has a
chance to deliver the first packet of a stream? Should this be avoided?
jitter_buffer_get can return JITTER_BUFFER_INSERTION and
JITTER_BUFFER_MISSING. In both situations speex_jitter_buffer.c makes
the codec interpolate a frame. How are these conditions different, and
is there a bet...
2007 Apr 18
3
Problems with the Speex Jitter Buffer
...ket(Packet* packet)
{
m_Mutex.Aquire();
char buff[320];
JitterBufferPacket p;
m_Decoder->DecompressPacket(packet, buff, 320);
p.data = buff;
p.len = 320;
p.timestamp = packet->SequenceNumber() * m_Ticks;
p.span = m_Ticks;
jitter_buffer_put(m_JitterBuffer, &p);
}
m_Mutex.Release();
delete packet;
}
void BeatJitterBuffer::GetSound(char* buffer, size_t maxLength)
{
int ret;
if (320 == maxLength)
{
JitterBufferPacket packet;
packet.data = buffer;
m_Mutex.Aquire();
ret = ji...
2008 Apr 09
3
Jitter Buffer fix for frozen sender
...e jitter buffer would "freeze" under the following condition:
- The sender and receiver are in sync.
- The sender machine freezes for a few seconds while the receiver does not.
- This causes all the packets sent by the sender to have a timestamp
that is too low to be considered, meaning jitter_buffer_put ditches it
before it checks if lost_count > 20 to reset.
- The jitter buffer will never reset on its own and will discard all
incoming packets.
The patch moves the check for lost_count > 20 before the check if the
packet is "hopelessly late". If lost_count > 20, something is...
2007 Apr 20
2
Problems with the Speex Jitter Buffer
...char buff[320];
>> JitterBufferPacket p;
>> m_Decoder->DecompressPacket(packet, buff, 320);
>> p.data = buff;
>> p.len = 320;
>> p.timestamp = packet->SequenceNumber() * m_Ticks;
>> p.span = m_Ticks;
>> jitter_buffer_put(m_JitterBuffer, &p);
>> }
>>
>> m_Mutex.Release();
>> delete packet;
>> }
>>
>> void BeatJitterBuffer::GetSound(char* buffer, size_t maxLength)
>> {
>> int ret;
>>
>> if (320 == maxLength)
>> {
>>...
2007 Apr 20
0
Problems with the Speex Jitter Buffer
...tex.Aquire();
> char buff[320];
> JitterBufferPacket p;
> m_Decoder->DecompressPacket(packet, buff, 320);
> p.data = buff;
> p.len = 320;
> p.timestamp = packet->SequenceNumber() * m_Ticks;
> p.span = m_Ticks;
> jitter_buffer_put(m_JitterBuffer, &p);
> }
>
> m_Mutex.Release();
> delete packet;
> }
>
> void BeatJitterBuffer::GetSound(char* buffer, size_t maxLength)
> {
> int ret;
>
> if (320 == maxLength)
> {
> JitterBufferPacket packet;
> packe...
2008 Apr 11
0
Jitter Buffer fix for frozen sender
...uot;freeze" under the following condition:
>
> - The sender and receiver are in sync.
> - The sender machine freezes for a few seconds while the receiver does not.
> - This causes all the packets sent by the sender to have a timestamp
> that is too low to be considered, meaning jitter_buffer_put ditches it
> before it checks if lost_count > 20 to reset.
> - The jitter buffer will never reset on its own and will discard all
> incoming packets.
>
> The patch moves the check for lost_count > 20 before the check if the
> packet is "hopelessly late". If lost_c...
2009 Jan 31
0
Jitter buffer (speex_jitter.h) usage
...t, decodes the first frame it contains, and keeps the
rest for the next time. If you only use one frame per packet (which most
people do), it's not necessary to do that.
> Correspondingly, how is the internal JitterBuffer state affected by
> calling jitter_buffer_get (and _tick) before jitter_buffer_put has a
> chance to deliver the first packet of a stream? Should this be avoided?
At this point, this should probably be avoided (I've heard of problems
when doing that), but eventually this is a case the jitter buffer should
be able to handle.
> jitter_buffer_get can return JITTER_BUFF...
2009 Dec 02
0
The generic Jitter Buffer and its use
...peex-NB and AMR-NB (and probably also other narrowband codecs) produce
20 ms frames and the sampling frequency is 8000 Hz (is that right?). So,
the timestamp of arriving audio frames will be in multiples of 160.
If a frame (or more frames) arrives from the remote side inside a RTP
packet, I invoke jitter_buffer_put() successively on the received
frames, right?
If my audio output stream runs out of data and requires new frame to
play, I invoke jitter_buffer_get(), right?
The questions that I have are:
- what does the method jitter_buffer_get() return when it has no frame?
JITTER_BUFFER_MISSING? In this case,...
2007 Apr 20
0
Problems with the Speex Jitter Buffer
...JitterBufferPacket p;
>>> m_Decoder->DecompressPacket(packet, buff, 320);
>>> p.data = buff;
>>> p.len = 320;
>>> p.timestamp = packet->SequenceNumber() * m_Ticks;
>>> p.span = m_Ticks;
>>> jitter_buffer_put(m_JitterBuffer, &p);
>>> }
>>>
>>> m_Mutex.Release();
>>> delete packet;
>>> }
>>>
>>> void BeatJitterBuffer::GetSound(char* buffer, size_t maxLength)
>>> {
>>> int ret;
>>>
>>> if...
2008 Sep 15
1
Jitter Buffer issues
...ing it.
My first problem is minor with jitter_buffer_init(int step_size). The
initialization of buffer_margin I think this should be 1 not 0.
/*FIXME: Should this be 0 or 1?*/
jitter->buffer_margin = 0;
With it set to 0 there is a problem if jitter_buffer_get() is called
before jitter_buffer_put(). This cause all packets to be discarded due
to every new packet being late. With jitter->buffer_margin = 1; there is
no problem with the calling order.
My second problem happens when there is a dropout in the connection. If
the packets are postponed during the dropout and multiple packets wit...
2008 Mar 29
0
GCC/ELF Visibility patch
...)
@@ -325,7 +325,7 @@
}
/** Destroy jitter buffer */
-void jitter_buffer_destroy(JitterBuffer *jitter)
+EXPORT void jitter_buffer_destroy(JitterBuffer *jitter)
{
jitter_buffer_reset(jitter);
speex_free(jitter);
@@ -365,7 +365,7 @@
/** Put one packet into the jitter buffer */
-void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet)
+EXPORT void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet)
{
int i,j;
int late;
@@ -459,7 +459,7 @@
}
/** Get one packet from the jitter buffer */
-int jitter_buffer_get(JitterBuffer *jitter, JitterBuff...
2008 Mar 29
2
GCC/ELF Visibility patch (fwd)
...)
@@ -325,7 +325,7 @@
}
/** Destroy jitter buffer */
-void jitter_buffer_destroy(JitterBuffer *jitter)
+EXPORT void jitter_buffer_destroy(JitterBuffer *jitter)
{
jitter_buffer_reset(jitter);
speex_free(jitter);
@@ -365,7 +365,7 @@
/** Put one packet into the jitter buffer */
-void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet)
+EXPORT void jitter_buffer_put(JitterBuffer *jitter, const JitterBufferPacket *packet)
{
int i,j;
int late;
@@ -459,7 +459,7 @@
}
/** Get one packet from the jitter buffer */
-int jitter_buffer_get(JitterBuffer *jitter, JitterBuff...