Oh, my fault. I had to mention that I can't use threads and locking mechanisms for efficiency reasons (highloaded application).<div>I need to make rtsp/rtp stream processing with least possible overhead. Event loop is libevent-based. </div>
<div>But thanks you, again, for advices!:)</div><div>I have no questions anymore<br><div><br><div class="gmail_quote">On Fri, Feb 24, 2012 at 4:05 PM, Andrey Utkin <span dir="ltr"><<a href="mailto:andrey.krieger.utkin@gmail.com">andrey.krieger.utkin@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">2012/2/24 Dmitry Volyntsev <<a href="mailto:xeioexception@gmail.com">xeioexception@gmail.com</a>>:<br>
<div class="im">> OK, if so. May be I wrong.<br>
> Could you, please, explain how can I integrate the libavformat rtsp protocol<br>
> to my program, in case it already has own global event loop.<br>
> Using libavformat in case of rtsp format leads to blockage of my event loop<br>
> from time to time.<br>
<br>
</div>I don't quite know yet how your event loop looks like, and what<br>
functions it serves.<br>
I'd propose running libavformat reading in a separate thread.<br>
Using struct/object with context data of your application, and mutex,<br>
you can track how much data you have processed, when did you receive<br>
last data portion, use that data actually etc.<br>
For immediate interruption (closing) of stream reading, use<br>
avio_open2() int_cb parameter (see libavformat/avio.h).<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
</font></span><div class="HOEnZb"><div class="h5">Andrey Utkin<br>
_______________________________________________<br>
Libav-user mailing list<br>
<a href="mailto:Libav-user@ffmpeg.org">Libav-user@ffmpeg.org</a><br>
<a href="http://ffmpeg.org/mailman/listinfo/libav-user" target="_blank">http://ffmpeg.org/mailman/listinfo/libav-user</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Be happy,<div>Best regards,<br><div>Dmitry Volyntsev</div></div><br>
</div></div>