By Date: <-- -->
By Thread: <-- -->

SipxMediaLib how the decoder buffering scheme works?



I don't know if this will help, but here's a little pseudo-code call
flow I put together for myself when I was digging into the code a bit.

   - joe


Incoming RTP stream (NetInTask thread)
======================================
NetInTask::run
    ::get1Msg
        MprFromNet::pushPacket
            if (RTP)
                getMyDejitter()->MprDejitter::pushPacket   [END THREAD]
                CRTPHeader::ParseRTPHeader
                mpiRTPDispatch->CRTCPRender::ForwardRTPHeader
                    (updates m_ulRemoteSSRC)
                    CReceiverReport::SetRTPStatistics
                        (updates jitter stats)
            if (RTCP)
                mpiRTCPDispatch->CRTCPSource::ProcessPacket


Voice Frame Handling (MediaTask Thread)
=======================================
MpMediaTask::handleWaitForSignal    (Called every 10ms tick)
    Loop for each managed flow graph that's "started":
    {
        MpFlowGraphBase::processNextFrame
            Loop for each resource (in "execution" order):
            {
                MpResource::processFrame
                    this->doProcessFrame   (pure virtual)
            }
    }

MprDecode::doProcessFrame
    MprDejitter::pullPacket
    MpdSipxPcmu::FrameIncrement
    MprDejitter::getAveBufferLength
    MpdSipxPcmu::reportBufferLength
    MpdSipxPcmu::decodeIn
    MprDecode::pushIntoCodecBuffer
        mpConnection->getJBinst
        ::JB_RecIn
            MpJitterBuffer::ReceivePacket
                MpdSipxPcmu::decode
                    G711U_Decoder
                        ULawToLinear
    outBuf = ::JB_RecOut
        MpJitterBuffer::GetSamples
    (send outBuf to connected resource, i.e. Bridge)


-----Original Message-----
From: sipx-dev-bounces (at) list.sipfoundry.org
[mailto:sipx-dev-bounces (at) list.sipfoundry.org] On Behalf Of albert
Sent: Wednesday, February 01, 2006 8:28 AM
To: sipx-dev (at) list.sipfoundry.org
Subject: [sipX-dev] SipxMediaLib how the decoder buffering scheme works?

hi to all,

i would like to ask if somebody can show me how the SipxMediaLib decoder

process works.. especially the buffering scheme(jitter buffer or the 
codec buffer).
_______________________________________________
sipx-dev mailing list
sipx-dev (at) list.sipfoundry.org
List Archive: http://list.sipfoundry.org/archive/sipx-dev
_______________________________________________
sipx-dev mailing list
sipx-dev (at) list.sipfoundry.org
List Archive: http://list.sipfoundry.org/archive/sipx-dev