Author: sayer Date: 2009-05-07 23:05:12 +0200 (Thu, 07 May 2009) New Revision: 1371
Added: branches/wb/doc/media_processing_flow.txt Log: man, this had me confused too many times Added: branches/wb/doc/media_processing_flow.txt =================================================================== --- branches/wb/doc/media_processing_flow.txt 2009-05-07 20:42:56 UTC (rev 1370) +++ branches/wb/doc/media_processing_flow.txt 2009-05-07 21:05:12 UTC (rev 1371) @@ -0,0 +1,93 @@ + +AmMediaprocessor loops every 10ms through all +sessions it processes. On those where rtp_str +(which is of type RTPAudio) says +sendIntReached()==true, it executes the following +loop. + + + RTPAudio Session + | +-------------------+ | +RtpAudio::receive()| +-------------- | +RtpAudio::get() | | IN | + | | input::put() | + | +-------------- | time + | +-------------- | + | | OUT | + | | output::get() | + | +-------------- | +RtpAudio::put() | v +-------------------+ +============================================= +AmAudio::put is + upMix() + encode() + write() + +AmAudio::get is + read() + decode() + downMix() + +AmRtpAudio overwrites some AmAudio functions: +============================================= +RtpAudio::receive() + AmRtpStream::receive() + AmAudio::decode() + AmAudio::downMix() + playout_buffer->write() + +RtpAudio::get() + RtpAudio::read() + playout_buffer->read() + input::put() + AmAudio::upMix() + AmAudio::encode() + AmAudio::write() + + output::get() + AmAudio::read() + AmAudio::decode() + AmAudio::downMix() + +RtpAudio::put() + upMix() + encode() + write() + RtpStream::send() + +=== with size ========================================== +RtpAudio::receive() + size = AmRtpStream::receive() + size = AmAudio::decode(size) + size = AmAudio::downMix(size) + playout_buffer->write(size) + +time_millisec = getFrameLength() +rcvd_audio_len = RtpAudio::get(time_millisec) + = RtpAudio::read(time_millisec*SYSTEM_SAMPLERATE) + = playout_buffer->read(PCM16_S2B(time_millisec*SYSTEM_SAMPLERATE)) + + input::put(rcvd_audio_len) + size = AmAudio::upMix(rcvd_audio_len) + size = AmAudio::encode(size) + size = AmAudio::write(size) + +time_millisec = getFrameLength() + output::get(time_millisec) + samples = time_millisec * fmt->rate + size = calcBytesToRead(samples) + size = AmAudio::read(size) + size = AmAudio::decode(size) + size = AmAudio::downMix(size) + +AmAudio::put(size) +size = upMix(size) +size = encode(size) +write(size) + RtpStream::send(size) + + + + Property changes on: branches/wb/doc/media_processing_flow.txt ___________________________________________________________________ Name: svn:eol-style + native _______________________________________________ Semsdev mailing list [email protected] http://lists.iptel.org/mailman/listinfo/semsdev
