Page 1 of 1

netsync module (still)

Posted: 18 May 2007 20:36
by shadowspawn
Ok here's my configuration.

I have a dedicated server that's set using the latest VLC 0.8.6b and have it streaming using the defaults. I don't enter in an IP address or a name for the HTTP stream names because that locks it up (tried on allot of computers, maybe you just can't simply add in DNS or IP in the HTTP with the latest, dunno, but this is the only way it works)

Network Sync, selected Act as Master, specified the IP address. Ok first of all I'm not sure if this is a specification to ACT as the ip address because it's a multi-homed server or not, but for the sake of argument I put it in there.

Q1: What IP address does it grab for the master? is this right, that you are specifying the IP address of the server? What about DNS names?

ok so...

It streams from a separate machine client. No biggie. Shut down, restarted the VLC app. I went to the "Network Stream" and specified the master's IP address (figured since I don't know the answer to Q1, it might as well be the primary address to test)

Q2: So if this is the specification "only" of the master, does it accept a FQDN?

I went to another client, specified the IP address of the master the same as the other client.

It's STILL not sync'd perfectly; not even close.

It's up to around 10msec if that (and who knows, it just "sounds like it's in an echo chamber")

Is this as accurate as the netsync module can do?

I do engine work with q2/q3 and udp. Everything is processed per frame. Every "client" streams and processes frames by what comes from the server. The client is allowed some slack but is brought up to speed even if frames need to be skipped, and is adjustable client-side if needed either automatically or manually.

Does the netsync client/server module in VLC not act the same way? The client drops out of sync after a few frames and is forced to come back to whatever the master is....? I mean not every darned frame, but enough so it's not audible.

I poked around at the code, but I don't understand if it's even really hooked into the "rendering" frame code at all or how it's called.

-edit-
Is this a buffer issue? Should I jack up the buffers on all the clients to some obscene number... or would that mess with something else?

Also this page:
http://wiki.videolan.org/Documentation:Modules/netsync

Do I need to fire open just one "listen" client (not the streaming server) as the "client master"? That's playing the stream or not... or do I need a different machine as the streaming sync master? Or can the streaming server handle being the sync master? So confused... I don't understand why there can't be a sync/buffer +/- spec somewhere in the protocol and a simple checkbox "force sync on clients", and the clients read and interpret that way and obey the server's settings.
/-edit-