Ticket #286 (closed enhancement: fixed)

Opened 4 years ago

Last modified 4 years ago

Wrong latency correction with tunnel ?

Reported by: Chimrod Owned by: lennart
Milestone: 0.9.11 Component: module-tunnel
Keywords: latency Cc:

Description

Hello,

In my network, I tried to get a surrond sound with 2 computer : one for the left side, and another one for the right side. The deviation between the two computers is slow ( I can hear a difference after 30mn ), but I tried to use module-tunnel and module-combine instead of rtp transmition.

As sound as module-combine try to adjust the frequency, the two channels are not synchronyzed anymore; there is a small latency on the remote computer wich I can notice immediately. Actually, it correct the frequency, but always with a constant latency between the two computers : there is no deviation, but the sounds are not synchronized, as if there is something missing in the latency calculation.

I look in the source, ( pulseaduio-0.9.10 ), and I correct, in the module/module-tunnel.c the stream_get_latency_callback function, replacing

#ifdef TUNNEL_SINK
    host_usec = sink_usec + transport_usec;
#else

by :

#ifdef TUNNEL_SINK
    host_usec = (sink_usec*2) + transport_usec;
#else

Now I have a true synchronization between the two computers. I didn't search the why of this solution : this work for me and I don't know if it will be the same for another one configuration, the source of pulseaudio is to huge for me for inspect this.

So, I send you this ticket, and saying that this work for me, and I'm not sure it will work on another one system.

And thanks for this wonderfull soft :-)

-- Chimrod

Change History

Changed 4 years ago by lennart

  • milestone set to 0.9.11

The latency stuff in the git version now works completely differently, and presumably much better. I am closing this now. If you still experience problems, feel free to reopen.

Changed 4 years ago by coling

  • status changed from new to closed
  • resolution set to fixed

I think Lennart forgot to do the actual closing bit ;)

Note: See TracTickets for help on using tickets.