<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"><base href="x-msg://1559/"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; ">In all the examples I have seen, media sessions are added to the server before the event loop is started.<o:p></o:p></div><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><o:p> </o:p></div><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: 'Courier New'; background-color: white; position: static; z-index: auto; ">Is it safe to call <span style="font-family: Consolas; ">addServerMediaSession while the server is already running?</span></pre></div></div></blockquote><div><br></div>Yes.</div><div><br></div><div><br><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; "><div class="WordSection1" style="page: WordSection1; "><pre style="margin: 0in 0in 0.0001pt; font-size: 10pt; font-family: 'Courier New'; background-color: white; position: static; z-index: auto; "><span style="font-family: Consolas; "><o:p></o:p></span></pre><div style="margin: 0in 0in 0.0001pt; font-size: 11pt; font-family: Calibri, sans-serif; "><span style="font-family: Consolas; font-size: 11pt; ">Of course addServerMediaSession is necessarily called form a different thread than the one event loop.</span></div></div></div></blockquote><div><br></div>No!  You *cannot* call any LIVE555 library function (except "TaskScheduler::triggerEvent()") from a non-event-loop thread.  I have explained this in the FAQ, and on this mailing list far many more times than I can count!</div><div><br></div><div>You can call "addServerMediaSession()" - from the event loop thread - at any time, but if you do this after you've already called "doEventLoop()" - i..e., while you're running in the event loop - then (obviously) you must do this from an event handler.  So, you'll need to set up an event handler function that calls "addServerMediaSession()", and set up an event that gets handled by this event handler.</div><div><br></div><div>The best way to do this from a separate thread is to first (in the LIVE555 thread) create an event trigger using "TashScheduler::createEventTrigger()", and then (in the separate thread) call "TaskScheduler::triggerEvent()".  For details, see "UsageEnvironment/include/UsageEnvironment.hh", and also the example in "liveMedia/DeviceSource.cpp".</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>