Hi there,

I think you're doing some 'utopic struggling' here...
I've been using live555 within a multi-threaded context : it worked, more or less, but I always saw my code as a dirty hack, and I was glad to see the asynchronous API appear. I'll be on Ross' side on this one, because I respect his choices (I don't mean I agree with all of them though ;-) ) You can always make suggestions, but you shouldn't insist like that, I'm afraid it's gonna rot into a sterile debate (or worse..)

By the way, nothing prevents you from implementing your own fork, with thread support (that would be a big work...)

Best regards,
Guillaume.


Le 18/11/2010 00:18, Jeremy Noring a écrit :
On Wed, Nov 17, 2010 at 3:23 PM, Ross Finlayson <[email protected] <mailto:[email protected]>> wrote:

    Well, I have to admire your stubbornness :-)  Even after having
    presented a perfect example of why that statement is false, you
    continue to insist otherwise.

I take it back, I will belabor the point.
Yes, this is "stubbornness," and no, you did not present a "perfect example of why that statement [was] false." The bottom line is yes, you can run Live555 in a threaded environment (I've been doing it for over a year now) so long as you have a dedicated thread for the event loop (your own FAQ states this). And there are plenty more ways of communicating changes to the event loop besides global variables (in fact, doing so is just sloppy-bad code, in my opinion; I struggled with some of Live555's crappy global variables that made running multiple independent instances with dedicated threads run in the same process space). Furthermore, there is _nothing_ wrong with setting a read-only boolean variable that the event loop then subsequently checks. There is almost zero functional difference between this and your global variable option. There's nothing stopping someone from doing it that way with the change I proposed, and I think saving an additional NULL check in exchange for potential threading woes isn't worth it (if you're looking to optimize, I can point you towards about a dozen things in your library that dwarf such a check). So fine, attribute it to "stubbornness," but again, the patch I posted here has not only been tested but it _works_. It does this in a threaded environment, which your own library is completely compatibile with given a few pretty obvious caveats (first and foremost, a dedicated thread for the event loop).


_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel


--
Guillaume FERRY
Bertin Technologies
Département Bertin Conseil
Activité Traitement de l'Information et du Contenu
/Tél/   01.39.30.62.09
/Fax/   01.39.30.62.45
/Mail/  [email protected]
/Web/   www.bertin.fr <http://www.bertin.fr>

_______________________________________________
live-devel mailing list
[email protected]
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to