PA_IDXSET_FOREACH(sink, p->core->sinks, state) {
if (sink->active_port == p) {
- pa_sink_set_latency_offset(sink, p->latency_offset);
+ pa_sink_set_port_latency_offset(sink, p->latency_offset);
break;
}
}
PA_IDXSET_FOREACH(source, p->core->sources, state) {
if (source->active_port == p) {
- pa_source_set_latency_offset(source, p->latency_offset);
+ pa_source_set_port_latency_offset(source, p->latency_offset);
break;
}
}
s->active_port = pa_device_port_find_best(s->ports);
if (s->active_port)
- s->latency_offset = s->active_port->latency_offset;
+ s->port_latency_offset = s->active_port->latency_offset;
else
- s->latency_offset = 0;
+ s->port_latency_offset = 0;
s->save_volume = data->save_volume;
s->save_muted = data->save_muted;
pa_sw_cvolume_multiply(&s->thread_info.current_hw_volume, &s->soft_volume, &s->real_volume);
s->thread_info.volume_change_safety_margin = core->deferred_volume_safety_margin_usec;
s->thread_info.volume_change_extra_delay = core->deferred_volume_extra_delay_usec;
- s->thread_info.latency_offset = s->latency_offset;
+ s->thread_info.port_latency_offset = s->port_latency_offset;
/* FIXME: This should probably be moved to pa_sink_put() */
pa_assert_se(pa_idxset_put(core->sinks, s, &s->index) >= 0);
/* usec is unsigned, so check that the offset can be added to usec without
* underflowing. */
- if (-s->latency_offset <= (int64_t) usec)
- usec += s->latency_offset;
+ if (-s->port_latency_offset <= (int64_t) usec)
+ usec += s->port_latency_offset;
else
usec = 0;
/* usec is unsigned, so check that the offset can be added to usec without
* underflowing. */
- if (-s->thread_info.latency_offset <= (int64_t) usec)
- usec += s->thread_info.latency_offset;
+ if (-s->thread_info.port_latency_offset <= (int64_t) usec)
+ usec += s->thread_info.port_latency_offset;
else
usec = 0;
pa_sink_get_mute(s, true);
return 0;
- case PA_SINK_MESSAGE_SET_LATENCY_OFFSET:
- s->thread_info.latency_offset = offset;
+ case PA_SINK_MESSAGE_SET_PORT_LATENCY_OFFSET:
+ s->thread_info.port_latency_offset = offset;
return 0;
case PA_SINK_MESSAGE_GET_LATENCY:
}
/* Called from main context */
-void pa_sink_set_latency_offset(pa_sink *s, int64_t offset) {
+void pa_sink_set_port_latency_offset(pa_sink *s, int64_t offset) {
pa_sink_assert_ref(s);
- s->latency_offset = offset;
+ s->port_latency_offset = offset;
if (PA_SINK_IS_LINKED(s->state))
- pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_LATENCY_OFFSET, NULL, offset, NULL) == 0);
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SINK_MESSAGE_SET_PORT_LATENCY_OFFSET, NULL, offset, NULL) == 0);
else
- s->thread_info.latency_offset = offset;
+ s->thread_info.port_latency_offset = offset;
}
/* Called from main context */
s->active_port = port;
s->save_port = save;
- pa_sink_set_latency_offset(s, s->active_port->latency_offset);
+ pa_sink_set_port_latency_offset(s, s->active_port->latency_offset);
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SINK_PORT_CHANGED], s);
pa_atomic_t mixer_dirty;
/* The latency offset is inherited from the currently active port */
- int64_t latency_offset;
+ int64_t port_latency_offset;
unsigned priority;
* in changing it */
pa_usec_t fixed_latency; /* for sinks with PA_SINK_DYNAMIC_LATENCY this is 0 */
- /* This latency offset is a direct copy from s->latency_offset */
- int64_t latency_offset;
+ /* This latency offset is a direct copy from s->port_latency_offset */
+ int64_t port_latency_offset;
/* Delayed volume change events are queued here. The events
* are stored in expiration order. The one expiring next is in
PA_SINK_MESSAGE_SET_MAX_REQUEST,
PA_SINK_MESSAGE_SET_PORT,
PA_SINK_MESSAGE_UPDATE_VOLUME_AND_MUTE,
- PA_SINK_MESSAGE_SET_LATENCY_OFFSET,
+ PA_SINK_MESSAGE_SET_PORT_LATENCY_OFFSET,
PA_SINK_MESSAGE_MAX
} pa_sink_message_t;
/**** May be called by everyone, from main context */
int pa_sink_update_rate(pa_sink *s, uint32_t rate, bool passthrough);
-void pa_sink_set_latency_offset(pa_sink *s, int64_t offset);
+void pa_sink_set_port_latency_offset(pa_sink *s, int64_t offset);
/* The returned value is supposed to be in the time domain of the sound card! */
pa_usec_t pa_sink_get_latency(pa_sink *s);
s->active_port = pa_device_port_find_best(s->ports);
if (s->active_port)
- s->latency_offset = s->active_port->latency_offset;
+ s->port_latency_offset = s->active_port->latency_offset;
else
- s->latency_offset = 0;
+ s->port_latency_offset = 0;
s->save_volume = data->save_volume;
s->save_muted = data->save_muted;
pa_sw_cvolume_multiply(&s->thread_info.current_hw_volume, &s->soft_volume, &s->real_volume);
s->thread_info.volume_change_safety_margin = core->deferred_volume_safety_margin_usec;
s->thread_info.volume_change_extra_delay = core->deferred_volume_extra_delay_usec;
- s->thread_info.latency_offset = s->latency_offset;
+ s->thread_info.port_latency_offset = s->port_latency_offset;
/* FIXME: This should probably be moved to pa_source_put() */
pa_assert_se(pa_idxset_put(core->sources, s, &s->index) >= 0);
/* usec is unsigned, so check that the offset can be added to usec without
* underflowing. */
- if (-s->latency_offset <= (int64_t) usec)
- usec += s->latency_offset;
+ if (-s->port_latency_offset <= (int64_t) usec)
+ usec += s->port_latency_offset;
else
usec = 0;
/* usec is unsigned, so check that the offset can be added to usec without
* underflowing. */
- if (-s->thread_info.latency_offset <= (int64_t) usec)
- usec += s->thread_info.latency_offset;
+ if (-s->thread_info.port_latency_offset <= (int64_t) usec)
+ usec += s->thread_info.port_latency_offset;
else
usec = 0;
pa_source_get_mute(s, true);
return 0;
- case PA_SOURCE_MESSAGE_SET_LATENCY_OFFSET:
- s->thread_info.latency_offset = offset;
+ case PA_SOURCE_MESSAGE_SET_PORT_LATENCY_OFFSET:
+ s->thread_info.port_latency_offset = offset;
return 0;
case PA_SOURCE_MESSAGE_MAX:
}
/* Called from main thread */
-void pa_source_set_latency_offset(pa_source *s, int64_t offset) {
+void pa_source_set_port_latency_offset(pa_source *s, int64_t offset) {
pa_source_assert_ref(s);
- s->latency_offset = offset;
+ s->port_latency_offset = offset;
if (PA_SOURCE_IS_LINKED(s->state))
- pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_LATENCY_OFFSET, NULL, offset, NULL) == 0);
+ pa_assert_se(pa_asyncmsgq_send(s->asyncmsgq, PA_MSGOBJECT(s), PA_SOURCE_MESSAGE_SET_PORT_LATENCY_OFFSET, NULL, offset, NULL) == 0);
else
- s->thread_info.latency_offset = offset;
+ s->thread_info.port_latency_offset = offset;
}
/* Called from main thread */
s->active_port = port;
s->save_port = save;
- pa_source_set_latency_offset(s, s->active_port->latency_offset);
+ pa_source_set_port_latency_offset(s, s->active_port->latency_offset);
pa_hook_fire(&s->core->hooks[PA_CORE_HOOK_SOURCE_PORT_CHANGED], s);
pa_atomic_t mixer_dirty;
/* The latency offset is inherited from the currently active port */
- int64_t latency_offset;
+ int64_t port_latency_offset;
unsigned priority;
pa_usec_t fixed_latency; /* for sources with PA_SOURCE_DYNAMIC_LATENCY this is 0 */
- /* This latency offset is a direct copy from s->latency_offset */
- int64_t latency_offset;
+ /* This latency offset is a direct copy from s->port_latency_offset */
+ int64_t port_latency_offset;
/* Delayed volume change events are queued here. The events
* are stored in expiration order. The one expiring next is in
PA_SOURCE_MESSAGE_SET_MAX_REWIND,
PA_SOURCE_MESSAGE_SET_PORT,
PA_SOURCE_MESSAGE_UPDATE_VOLUME_AND_MUTE,
- PA_SOURCE_MESSAGE_SET_LATENCY_OFFSET,
+ PA_SOURCE_MESSAGE_SET_PORT_LATENCY_OFFSET,
PA_SOURCE_MESSAGE_MAX
} pa_source_message_t;
/*** May be called by everyone, from main context */
-void pa_source_set_latency_offset(pa_source *s, int64_t offset);
+void pa_source_set_port_latency_offset(pa_source *s, int64_t offset);
/* The returned value is supposed to be in the time domain of the sound card! */
pa_usec_t pa_source_get_latency(pa_source *s);