250 ms default fixed latency won't work well for some applications like wine.

Signed-off-by: Maarten Lankhorst <[email protected]>

---
diff --git a/src/modules/jack/module-jack-sink.c 
b/src/modules/jack/module-jack-sink.c
index ba4ea95..4270b15 100644
--- a/src/modules/jack/module-jack-sink.c
+++ b/src/modules/jack/module-jack-sink.c
@@ -296,6 +296,8 @@ int pa__init(pa_module*m) {
     unsigned i;
     const char **ports = NULL, **p;
     pa_sink_new_data data;
+    jack_nframes_t l;
+    size_t n;
 
     pa_assert(m);
 
@@ -443,6 +445,9 @@ int pa__init(pa_module*m) {
         }
     }
 
+    l = jack_port_get_total_latency(u->client, u->port[0]);
+    n = l * pa_frame_size(&u->sink->sample_spec);
+    pa_sink_set_fixed_latency(u->sink, pa_bytes_to_usec(n, 
&u->sink->sample_spec));
     pa_sink_put(u->sink);
 
     if (ports)
diff --git a/src/modules/jack/module-jack-source.c 
b/src/modules/jack/module-jack-source.c
index 13109f3..a1ec9f6 100644
--- a/src/modules/jack/module-jack-source.c
+++ b/src/modules/jack/module-jack-source.c
@@ -249,6 +249,8 @@ int pa__init(pa_module*m) {
     unsigned i;
     const char **ports = NULL, **p;
     pa_source_new_data data;
+    jack_nframes_t l;
+    size_t n;
 
     pa_assert(m);
 
@@ -388,6 +390,9 @@ int pa__init(pa_module*m) {
 
     }
 
+    l = jack_port_get_total_latency(u->client, u->port[0]);
+    n = l * pa_frame_size(&u->source->sample_spec);
+    pa_source_set_fixed_latency(u->source, pa_bytes_to_usec(n, 
&u->source->sample_spec));
     pa_source_put(u->source);
 
     if (ports)


_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to