[Live-devel] Problems with RTSPClient, CSeq variable and SANYO network cameras ...

Jeremy Noring jnoring at logitech.com
Fri Apr 2 09:14:06 PDT 2010


On Fri, Apr 2, 2010 at 1:10 AM, Ross Finlayson <finlayson at live555.com>wrote:

> I personally find your disdain for threads antiquated and naive
>>
>
> This shows a lack of understanding.  It's like saying that the designers of
> a bullet train have a "disdain" for air transportation, or conversely that
> the designers of an aircraft have a "disdain" for rail transport.  On the
> contrary.  We are talking about two completely different computation models,
> each with their pros and cons.
>
> I have been programming with threads since the mid 1980s - but for the
> LIVE555 libraries, I chose a single-threaded event-driven model instead.
>  This works well for the type of applications that these libraries are
> typically used for, especially given that lots of inexperienced programmers
> (far more than I had originally anticipated, actually) are using the
> software.
>
> If anyone is interested in this topic, I encourage them to view Professor
> John Ousterhout's slide presentation:
> http://www.softpanorama.org/People/Ousterhout/Threads/tsld001.htm(Personally, I wouldn't state the conclusion quite as strongly as he does,
> but - as a very experienced threads programmer myself - I agree with the
> general argument.)


I'd buy this.  But I think the library itself must run the way the FAQ
mentions; otherwise, it is seriously problematic to use in any realistic
manner.  It just makes sense to run one RTSPServer or RTSPClient per-thread
with its own event loop.  The truth of the matter is: the rest of the world
uses threads, and I can count the number of projects I participate in that
use an eventing model on one hand (on one finger, actually), and almost
every media API I use besides this one makes heavy use of threads.  Love
threads or hate them, it is often tricky to reconcile this disparity.

That said, I actually prefer the Live555 model for threading because it
makes sense always to have a dedicated thread servicing the network.  (doing
work on your network thread, besides servicing the network, is a bad idea)
But if I had to put multiple clients on a single thread...I'd basically be
screwed.  That doesn't mesh well with any decent media framework I can think
of.


Possibly, but remember that the "OP" used a "@gmail.com" address, which tags
> him as a noob (absence strong evidence to the contrary :-).  Unfortunately,
> I've found that such people frequently do not read the FAQ.
>

Yeah....we're probably not going to agree on that one.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20100402/09dea290/attachment.html>


More information about the live-devel mailing list