[Live-devel] How to bypass streamlimit causes by EventTriggerIDs
Ross Finlayson
finlayson at live555.com
Wed Jun 1 19:06:14 PDT 2011
>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
>
>"m_EventTriggerId =
>envir().taskScheduler().createEventTrigger(deliverFrame0);"
>
>generates only 32 EventTriggerID´s, so that I
>have a maximum of 32 stream receivers.
>Now my question: Is it possible to solve that
>problem without generating more RTSP-Server with
>different TaskScheduler on different ports?
Sorry for the long delay in responding to this.
(I've been traveling for the past two months, and
am way behind on email.)
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
1/ Defining a subclass of "BasicTaskScheduler", and
2/ Reimplementing the virtual functions
virtual EventTriggerId
createEventTrigger(TaskFunc* eventHandlerProc);
virtual void deleteEventTrigger(EventTriggerId eventTriggerId);
virtual void
triggerEvent(EventTriggerId eventTriggerId, void*
clientData = NULL);
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.
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20110601/a37f0648/attachment.html>
More information about the live-devel
mailing list