That would work. But it might also lead to crashing issues if people call setAuthenticationDatabase on something other than the primary Live555 thread. (I can envision a scenario where something calls setAuthenticationDatabase(NULL) at precisely the moment between the NULL check and the actual authentication with the UserAuthenticationDatabase*, which would result in dereferencing a null pointer).
And that is *precisely* why you should not be doing this. I've made it very clear (in the FAQ and elsewhere) that LIVE555 applications have a single thread of execution (using an event loop, rather than threads, for concurrency). Other threads should not access the library (except perhaps to set global variables - e.g., 'watch variables' that the event loop may use to detect 'events'). If you do otherwise, then you can't expect any support.
I know Live555 is "single threaded," so maybe you consider this entire line of reasoning invalid, but I think there's considerable room for error with setting the entire object to NULL.
Not if you use the library properly. -- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel