[Live-devel] my performance benchmark of livemedia library, not satisfactory
Matt Schuckmann
matt at schuckmannacres.com
Thu Mar 12 12:02:22 PDT 2009
I'm highly suspicious of running live555 in multiple threads even if you
do follow the FAQ.
The FAQ basically suggests that you can run 2 independent copies of
Live555 in separate threads and those 2 copies can *NOT* interact except
via global variables. I don't know for sure but I don't think that is
not what Liu is after.
Furthermore I'd be very suspicious of even doing what is suggested in in
the FAQ.
I know of at least one place in the code where things could go very wrong:
The RTPInterface.cpp code uses 2 static hash tables when using RTP over
TCP. Should you run 2 separate threads of execution of Live555 in the
same process both threads would use the same copies of these static hash
tables and it would be very easy for them both to try to modify them at
the same time or one read while the other is writing and cause those
hash tables to be in an inconsistent state and probably cause a crash.
I don't know what other little bombs like this are out there waiting to
be discovered.
Matt S.
More information about the live-devel
mailing list