[vlc-devel] why netsync unicast?

Gildas Bazin gbazin at altern.org
Thu Dec 6 20:03:19 CET 2007


On Thu, 2007-12-06 at 11:59 -0600, Ryan Nowakowski wrote:
> On Thu, Dec 06, 2007 at 07:39:23PM +0200, Rémi Denis-Courmont wrote:
> > Le Thursday 06 December 2007 09:39:08 Ryan Nowakowski, vous avez écrit :
> > > Is there any reason why netsync uses udp unicast?  It seems like a
> > > perfect application for multicast!  It would scale better that way.
> > 
> > I may be wrong, but I think it could use multicast by simply putting a 
> > multicast address in the configuration.
> > 
> > Of course, the real problem is that netsync is fairly broken and unmaintained 
> > at the moment.
> 
> Well, the way it's written right now, the master responds to time sync
> requests from each client.  It looks like:
> 
> unicast: client2 -> masterclient: time request packet
> unicast: masterclient -> client2: time response packet
> unicast: client3 -> masterclient: time request packet
> unicast: masterclient -> client3: time response packet
> ...and so on
> 
> Simply using a multicast address in the configuration might work but you
> would still have the scalability issue where time sync is O(N) where N
> is the number of clients.  I propose this: 
> 
> multicast: client2 joins group
> multicast: client3 joins group
> multicast: masterclient -> group: time response packet(at some regular interval)
> multicast: masterclient -> group: time response packet
> multicast: masterclient -> group: time response packet
> ...and so on
> 
> Then netsync can scale at O(1).  Maybe this should be a new control
> module called multicast-netsync?  By the way, what exactly is broken
> about netsync at the moment?  It works fine for me in 0.8.6.
> 

netsync works fine in 0.8.6 but is broken in the current development
version of VLC.

--
Gildas




More information about the vlc-devel mailing list