On Fri, Apr 3, 2009 at 10:37 PM, George Evi <george.evi at ctcinc.ca> wrote: > Hi Benny, > > > > Thanks for your response. > > I have another question. I try to understand the media transmission flow > and I?m blocked with the logic of application. > > Here is the stack of application running on Nokia E61 (is generated with > Carbide v1.3): > > > > Thread [Thread id: 363] (Suspended: Breakpoint hit.) > > 5 pjmedia_delay_buf_put() > C:\Symbian\Carbide\voip-phone\SipPhone\pjmedia\src\pjmedia\delaybuf.c:266 > 0xf55c8ebc > > 4 pjmedia_port_put_frame() > C:\Symbian\Carbide\voip-phone\SipPhone\pjmedia\src\pjmedia\port.c:85 > 0xf55ca9ac > > 3 rec_cb() > C:\Symbian\Carbide\voip-phone\SipPhone\pjmedia\src\pjmedia\sound_port.c:139 > 0xf55cca2c > > 2 CPjAudioInputEngine::MaiscBufferCopied() > C:\Symbian\Carbide\voip-phone\SipPhone\pjmedia\src\pjmedia-audiodev\symb_mda_dev.cpp:464 > 0xf55df5f4 > > 1 Unknown (0xF52005A8)() 0xf52005a8 > > > > We can see that the audio frame is captured by ?MaiscBufferCopied()? > function which will run the callback function ?rec_cb()? and finally the > audio frame arrive in the ?delay buffer? passing through ?put_frame? > function from Conference module (the application uses the Conference > bridge). > > My question is when (or who) is reading the ?delay buffer? (which contains > the audio frames received from microphone) and transmits the data to > transport layer? > > That will be done by the audio device's playback callback, which will call get_frame() of the conference.c, and subsequently pjmedia_delay_buf_get(). cheers Benny -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090406/f4b23bd8/attachment-0001.html>