[gst-devel] Re: Distributed pipelines and modular synthesis ramble

Dan George dgeorge at ridgerun.com
Tue Feb 27 20:05:25 CET 2001


Oops. Sorry. Here is the link.

http://www.cs.wustl.edu/~schmidt/PDF/av_chapter.pdf

Dan

-----Original Message-----
From: gstreamer-devel-admin at lists.sourceforge.net
[mailto:gstreamer-devel-admin at lists.sourceforge.net]On Behalf Of Dan
George
Sent: Tuesday, February 27, 2001 11:59 AM
To: gstreamer-devel at lists.sourceforge.net
Subject: RE: [gst-devel] Re: Distributed pipelines and modular synthesis
ramble


Check out this paper regarding CORBA and AV streaming. Section 4 addresses
performance.

Dan

-----Original Message-----
From: gstreamer-devel-admin at lists.sourceforge.net
[mailto:gstreamer-devel-admin at lists.sourceforge.net]On Behalf Of Wim
Taymans
Sent: Tuesday, February 27, 2001 9:49 AM
To: gstreamer-devel at lists.sourceforge.net
Subject: [gst-devel] Re: Distributed pipelines and modular synthesis
ramble


<snip>

> Now 1) is much easier to implement than 2) because it just needs someone
to
> write the bridge source-sink pair and instant distribution. However I see
a
> big problem here. Consider this situation (sorry for all the ASCII art!):
>
>s P1===S1s . . S3=
>sssssssssssssssss ==P3
>ss P2===S2s . . S4=/
>
> This time the network is spread accross three diferent machines. My
concern
> is that since the S's don't really know anything about the P's there will
> be a serious synchronisation problem. Supposing P1 and P2 are two audio
> sources which are to be mixed by P3. I can't see how S3 and S4 will be
able
> to synchronise their inputs so that the P1 and P2 signals are aligned
> properly in the mix. The same would apply to the render farm example.

Here's a possible solution:

P1 and P2 send attach a timestamp to the media data they produce. The
timestamps travel along with the media data through the pipelines and
eventually go over the wire to P3. The timestamps can be changed by some
intermediate plugins too (a delay, for example). P3 will mix the media
samples based on the timestamps.

some things to consider:

 - global sync of the clock.
 - delay introduced by the net connection. This will typically create a QoS
  message that travels from P3 (or intermediate elements) down the wire
  to P1/P2 to inform them to reduce/augment the number of packets they
  send out.
 - state changes. how do we handle them on remote pipelines? the scheduler
  changes could make it possible to propagate the state change along with
the
  data?
 - intermachine connections could be handled with a custom element or with
  something standard like RTP, SCTP?

In short I'm not afraid of this :) It'll work...

Wim Taymans






_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.sourceforge.net
http://lists.sourceforge.net/lists/listinfo/gstreamer-devel





More information about the gstreamer-devel mailing list