#include <iax2jitter.h>
Inheritance diagram for IAX2JitterBuffer:
Public Member Functions | |
IAX2JitterBuffer () | |
~IAX2JitterBuffer () | |
virtual PBoolean | OnReadPacket (RTP_DataFrame &frame, PBoolean loop) |
void | NewFrameFromNetwork (RTP_DataFrame *newFrame) |
void | CloseDown () |
Protected Attributes | |
PendingRtpDataFrames | receivedFrames |
IAX2JitterBuffer::IAX2JitterBuffer | ( | ) |
Build a jitter buffer for this connection, which defaults to 8khz
IAX2JitterBuffer::~IAX2JitterBuffer | ( | ) |
Stop the jitter buffer thread in this class, which allows the jitter buffer to close down nicely
virtual PBoolean IAX2JitterBuffer::OnReadPacket | ( | RTP_DataFrame & | frame, | |
PBoolean | loop | |||
) | [virtual] |
This class instance collects data from the outside world in this method.
frame | Frame read from the RTP session |
loop | If PTrue, loop as long as data is available, if PFalse, only process once |
Implements OpalJitterBuffer.
void IAX2JitterBuffer::NewFrameFromNetwork | ( | RTP_DataFrame * | newFrame | ) | [inline] |
Have receive a new frame from the network. Place it on the internal list
void IAX2JitterBuffer::CloseDown | ( | ) | [inline] |
Terminate this intance of the jitter buffer permanently, which is required prior to destruction. This closedown mechanism is a bit different to that used in this libraries SIP/H.323 rtp code. However, that code has one socket per media stream. IAX2 and its use of one socket for all streams makes life difficult - we cannot just close that one main socket and close this stream.
PendingRtpDataFrames IAX2JitterBuffer::receivedFrames [protected] |
The list of frames just read from the network