[Asterisk-Dev] rtp jitterbuffer synchronization question

Steve Kann stevek at stevek.com
Wed Apr 6 06:32:21 MST 2005


Slav Klenov wrote:

> Hello * core developers,
>
> Currently I'm working on jitterbuffer integration in rtp.c. My 
> previous experience with chan_sip jb
> integration showed some synchronization issues, so I'm trying to be 
> very careful with this now.
>
> Basicly what I'm doing is:
> - from chan_sip (in example) create an rtp in callback mode which adds 
> rtpread() into the chan_sip
>  io context - rtpread() will be always invoked from 
> chan_sip::do_monitor(), right?
> - rtpread(), when invoked, puts frames into the jitterbuff.
> - I have another function, which is scheduled to get frames from the 
> jitterbuff and delivers them
>  to the channel.
>
> The problem is that all these activities should be stopped when the 
> channel is distroyed (or maybe
> even earler - on hangup or when the network socket is closed???)
>
> My question is:
> Is it possible (not only for chan_sip, but for all rtp channels) 
> rtpread() to be invoked after
> rtp_destroy()?


It seems that rtpread will end up being called from ast_io_wait, which 
presently gets called from chan_sip.   I suppose it could get called 
after rtp_destroy only if a packet arrives on the UDP socket associated 
with the io record, and the rtp io record is still there, but it seems 
the record gets removed in ast_rtp_destroy.


>
> Thanks,
> Slav
> _______________________________________________
> Asterisk-Dev mailing list
> Asterisk-Dev at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-dev
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev
>




More information about the asterisk-dev mailing list