[Live-devel] Design question: transferring control of sending RTP packets to source
Ross Finlayson
finlayson at live555.com
Tue Dec 11 10:18:42 PST 2007
>How would I transfer control of the sending of messages to the
>DirectShow pipeline i.e. every time a frame arrives in my DirectShow
>filter I want to send an RTP packet instead of the letting the
>aforementioned event loop of the live library schedule events?
You can't - you must use the event loop. ("LIVE555 Streaming Media"
code is event-based; the event loop is its core.)
You need to (somehow) make the arrival of a frame an event, which you
will handle in a "FramedSource" subclass (which you would write) - to
implement the "doGetNextFrame()" virtual function. Unfortunately I
don't know enough about "DirectShow" to say how you would do this,
but I suspect that you might need to write your own subclass of
"TaskScheduler" and use that instead of "BasicTaskScheduler".
>Do I need to write my own version of the MultiFramedRTPSink to
>transfer RTP control to the DirectShow pipeline
No, you won't need to write a new "RTPSink" subclass (other than the
one that you already have).
>and then call a method on my "FramedSource" subclass
That method already exists: "doGetNextFrame()".
--
Ross Finlayson
Live Networks, Inc.
http://www.live555.com/
More information about the live-devel
mailing list