[Live-devel] Another question about connecting a single source to multiple sinks (eg file output and decoder) using a Frame Duplicator / Tee Sink

Dave McMordie mcmordie at viionsystems.com
Tue Nov 22 08:02:34 PST 2011


Hi all,



Like many others, I am interested in connecting a single source to multiple
sinks in order to write the stream to disk in a playable format (AVI in my
case) and also display it.  I have reviewed various posts on the topic:



http://lists.live555.com/pipermail/live-devel/2006-July/004648.html

http://lists.live555.com/pipermail/live-devel/2006-May/004454.html

http://lists.live555.com/pipermail/live-devel/2011-October/013919.html



To summarize advice seems to be to simply write the output in a filter, not
using the AviFileSink class, because we do not yet have a general purpose
‘Frame Duplicator’ class (what I would have called a Tee Sink).



My questions for the community are these:



1.       Would having a fully implemented Tee-sink / Frame Duplicator class
offer significant advantages over ad-hoc methods of replicating a stream
(eg. inside filters)?

2.       How difficult would it be to implement this class (any gotchas, or
should it be straightforward)?

3.       Can anyone provide an outline of what this class would need to do?

a.       Create a MediaSink and two or more FramedSources as members

b.      Dispatch frame data from afterGettingFrame of the MediaSink to each
of the afterGettingFunctions of the FramedSource..?



I am not an expert with this library, but I might be willing to take a
first crack at this class if it is not going to be a huge commitment and
looks like an efficient way to solve the problem.



As I look closely at this, it looks to me like a challenge may be that
inheriting from both MediaSink and FramedSource could result in some
clashes.



Any guidance would be appreciated.



Best,


Dave McMordie
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111122/e7b20672/attachment.html>


More information about the live-devel mailing list