<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><blockquote type="cite" class="">The best way to use the LIVE555 library is to have *exactly one* thread that calls LIVE555 functions.<br class=""></blockquote><br class="">How do you do 2 RTSP inputs?<br class=""></div></blockquote><div><br class=""></div></div>Within the event loop.<div class=""><br class=""></div><div class="">Each RTSP source would have its own “RTSPClient” object.  You can create an arbitrary number of such objects (one for each RTSP source), and call the LIVE555 “RTSPClient” functions that send the “DESCRIBE”, “SETUP”, “PLAY” etc. RTSP commands on each one.  Note that these functions do not block.  Instead, you specify an (optional) ‘response handler function’ that will get called - from the event loop - after each RTSP response arrives.</div><div class=""><br class=""></div><div class="">In this ‘event-based’ application model, it is the event loop - rather than multiple threads - that gives you concurrency.  (Admittedly, this can be hard for some people to wrap their heads around, if they’re not familiar with event-based programming.)</div><div class=""><br class=""></div><div class="">If anyone's interested, note the code for our “testRTSPClient” demo application (included in the LIVE555 distribution), in which you can specify (on the command line) an arbitrary number (>=1) of “<a href="rtsp://“" class="">rtsp://“</a> URLs that you want to stream from.  This uses a single thread, with a single event loop (i.e., “doEventLoop()” call).</div><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>