summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/pulsecore/source.c')
-rw-r--r--src/pulsecore/source.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
index 426906eb..c767abcf 100644
--- a/src/pulsecore/source.c
+++ b/src/pulsecore/source.c
@@ -577,8 +577,6 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
pa_hashmap_put(s->thread_info.outputs, PA_UINT32_TO_PTR(o->index), pa_source_output_ref(o));
- pa_source_output_update_max_rewind(o, s->thread_info.max_rewind);
-
pa_assert(!o->thread_info.attached);
o->thread_info.attached = TRUE;
@@ -587,7 +585,12 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
pa_source_output_set_state_within_thread(o, o->state);
- pa_source_invalidate_requested_latency(s);
+ pa_source_output_update_max_rewind(o, s->thread_info.max_rewind);
+
+ /* We don't just invalidate the requested latency here,
+ * because if we are in a move we might need to fix up the
+ * requested latency. */
+ pa_source_output_set_requested_latency_within_thread(o, o->thread_info.requested_source_latency);
return 0;
}