I'm new to sipxtapi, and I'm not sure if this is the right place to report a
problem.

However, I found a problem in the media lib after a call to
sipxreinitialize(). This problem only occurs when DISABLE_LOCAL_AUDIO is
defined.

In SpeakerThreadWnt.cpp, a timer is initialized when there is no sound card,
in order to pulse the MediaLib.

   timerId = timeSetEvent(10, 0, TimerCallbackProc, GetCurrentThreadId(),
TIME_PERIODIC);

This timer is not destroyed when the SpkrThread is exited, and after the
call to sipxReinitialize(), the PostThreadMessage() in the
TimerCallbackProc() fails. This cause the medialib to stop processing
messages, and any call to mpCallFlowGraph.Synchronize() block forever at the
event.wait(), as the flowgraph never handles the synchronize message.

I added these two lines at the end of the SpkrThread, right after the while
(!bDone) {} message loop

if (timerId>0)
    timeKillEvent(timerId);

and now I can sipxReinitialize at will :)

Best regards,

stipus

_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to