<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
--></style><title>Re: [Live-devel] How to bypass streamlimit causes
by Event</title></head><body>
<blockquote type="cite" cite><font face="Arial" size="-1">I am using
live555 to stream several network cameras. For that I generate one
RTSP-Server and for every camera a subsession on this server with a
new URL. To signal the TaskScheduler, that there is a new frame for a
stream, I use a EventTriggerID. Every stream has his own
EventTriggerID. Now I got the problem, that the EventTriggerID is
generated by a bitmask (0x80000000), and the line</font></blockquote>
<blockquote type="cite" cite><font face="Arial"
size="-1"> </font></blockquote>
<blockquote type="cite" cite><font face="Courier New" size="-1"
color="#010001">"m_EventTriggerId</font><font face="Courier New"
size="-1"> =<font color="#010001"> envir</font>().<font
color="#010001">taskScheduler</font>().<font
color="#010001">createEventTrigger</font>(<font
color="#010001">deliverFrame0</font>);"</font></blockquote>
<blockquote type="cite" cite><font face="Arial"
size="-1"> </font></blockquote>
<blockquote type="cite" cite><font face="Arial" size="-1">generates
only 32 EventTriggerID´s, so that I have a maximum of 32 stream
receivers.</font></blockquote>
<blockquote type="cite" cite><font face="Arial" size="-1">Now my
question: Is it possible to solve that problem without generating more
RTSP-Server with different TaskScheduler on different
ports?</font></blockquote>
<div><br></div>
<div>Sorry for the long delay in responding to this. (I've been
traveling for the past two months, and am way behind on email.)</div>
<div><br></div>
<div>Note that the implementation of 'event triggers' that we provide
(for the "BasicTaskScheduler" class) is just one possible
implementation. You can - if you wish - provide your own
implementation, by</div>
<div><x-tab> </x-tab>1/
Defining a subclass of "BasicTaskScheduler", and</div>
<div><x-tab> </x-tab>2/
Reimplementing the virtual functions</div>
<div><x-tab>
</x-tab><x-tab>
</x-tab>virtual EventTriggerId createEventTrigger(TaskFunc*
eventHandlerProc);</div>
<div><x-tab>
</x-tab><x-tab>
</x-tab>virtual void deleteEventTrigger(EventTriggerId
eventTriggerId);</div>
<div><x-tab>
</x-tab><x-tab>
</x-tab>virtual void triggerEvent(EventTriggerId eventTriggerId, void*
clientData = NULL);</div>
<div><br></div>
<div>Note that "EventTriggerId" must remain a
"u_int32_t", so you won't be able to change that. So
you won't be able to continue to use it as a 'bit mask', if you want
to support more than 32 triggers. But you can implement event
triggers any way you choose.</div>
<x-sigsep><pre>--
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>