Hi, In the liveMedia FAQ section it is written: "(Note that "triggerEvent()" is the only LIVE555 function that may be called from an external (i.e., non-LIVE555) thread.)".
We use this possibility and trigger an event from a non-LIVE555 thread. Sometimes an the event "disappears" ie. it is signalled using triggerEvent() but the eventHandler is not called. The LIVE555 changelog has the following entry: 2015.03.16: - Made a small change to the "BasicTaskScheduler" implementation to reduce the likelihood of a race condition with external thread(s) calling "triggerEvent()". Is it correct that there is a non-zero possibility, that the event will disappear due to the variables BasicTaskScheduler0::fTriggersAwaitingHandling and BasicTaskScheduler0::fTriggeredEventClientDatas being accessed concurrently by the LIVE555 thread and a non-LIVE555 thread? The behaviour is not immediately obvious from the FAQ and the function description, but we think it is what we "see" and a workaround to re-trigger the event at a later time seems to work for now. Do you also see an issue here? virtual void triggerEvent(EventTriggerId eventTriggerId, void* clientData = NULL) = 0; // Causes the (previously-registered) handler function for the specified event to be handled (from the event loop). // The handler function is called with "clientData" as parameter. // Note: This function (unlike other library functions) may be called from an external thread // - to signal an external event. (However, "triggerEvent()" should not be called with the // same 'event trigger id' from different threads.) Best Regards Jan Rørgaard Hansen Lead Software Developer Communication Solutions Business Area Surveillance Tel.: + 45 3638 3000 Call me on: Skype<skype:jan.r.han...@dk.saabgroup.com?call> E-mail: jan.r.han...@dk.saabgroup.com<mailto:jan.r.han...@dk.saabgroup.com> [Saab_rgb_150px] Saab Danmark A/S Porten 6 DK - 6400 Sonderborg www.saabgroup.com<http://www.saabgroup.com/> This e-mail is private and confidential between the sender and the addressee. In the event of misdirection, the recipient is prohibited from using, copying or disseminating it or information in it. Please notify the above if any misdirection.
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel