summaryrefslogtreecommitdiffstats
path: root/src/pulsecore/source-output.c
diff options
context:
space:
mode:
authorColin Guthrie <colin@mageia.org>2011-05-20 08:33:56 +0100
committerColin Guthrie <colin@mageia.org>2011-06-22 22:45:28 +0100
commitb837d040578f71207c3068321436743851b36a9f (patch)
tree6b4e9d8511ce40d83c0c882521e9a2c87fa1a991 /src/pulsecore/source-output.c
parent4eb513cbf45b46c83f4b3456d66277183615da8e (diff)
capture: Remove support for synchronised capture streams.
This was added to ensure symmetry between playback and recording streams code, but in reality this makes little sense practically speaking and thus it is removed.
Diffstat (limited to 'src/pulsecore/source-output.c')
-rw-r--r--src/pulsecore/source-output.c49
1 files changed, 2 insertions, 47 deletions
diff --git a/src/pulsecore/source-output.c b/src/pulsecore/source-output.c
index 82c6f542..0ce77780 100644
--- a/src/pulsecore/source-output.c
+++ b/src/pulsecore/source-output.c
@@ -423,16 +423,6 @@ int pa_source_output_new(
o->muted = data->muted;
- if (data->sync_base) {
- o->sync_next = data->sync_base->sync_next;
- o->sync_prev = data->sync_base;
-
- if (data->sync_base->sync_next)
- data->sync_base->sync_next->sync_prev = o;
- data->sync_base->sync_next = o;
- } else
- o->sync_next = o->sync_prev = NULL;
-
o->direct_on_input = data->direct_on_input;
reset_callbacks(o);
@@ -498,7 +488,7 @@ static void update_n_corked(pa_source_output *o, pa_source_output_state_t state)
/* Called from main context */
static void source_output_set_state(pa_source_output *o, pa_source_output_state_t state) {
- pa_source_output *ssync;
+
pa_assert(o);
pa_assert_ctl_context();
@@ -510,24 +500,9 @@ static void source_output_set_state(pa_source_output *o, pa_source_output_state_
update_n_corked(o, state);
o->state = state;
- for (ssync = o->sync_prev; ssync; ssync = ssync->sync_prev) {
- update_n_corked(ssync, state);
- ssync->state = state;
- }
- for (ssync = o->sync_next; ssync; ssync = ssync->sync_next) {
- update_n_corked(ssync, state);
- ssync->state = state;
- }
-
if (state != PA_SOURCE_OUTPUT_UNLINKED) {
pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED], o);
- for (ssync = o->sync_prev; ssync; ssync = ssync->sync_prev)
- pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED], ssync);
-
- for (ssync = o->sync_next; ssync; ssync = ssync->sync_next)
- pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_STATE_CHANGED], ssync);
-
if (PA_SOURCE_OUTPUT_IS_LINKED(state))
pa_subscription_post(o->core, PA_SUBSCRIPTION_EVENT_SOURCE_OUTPUT|PA_SUBSCRIPTION_EVENT_CHANGE, o->index);
}
@@ -551,13 +526,6 @@ void pa_source_output_unlink(pa_source_output*o) {
if (linked)
pa_hook_fire(&o->core->hooks[PA_CORE_HOOK_SOURCE_OUTPUT_UNLINK], o);
- if (o->sync_prev)
- o->sync_prev->sync_next = o->sync_next;
- if (o->sync_next)
- o->sync_next->sync_prev = o->sync_prev;
-
- o->sync_prev = o->sync_next = NULL;
-
if (o->direct_on_input)
pa_idxset_remove_by_data(o->direct_on_input->direct_outputs, o, NULL);
@@ -1160,11 +1128,6 @@ pa_bool_t pa_source_output_may_move(pa_source_output *o) {
if (o->direct_on_input)
return FALSE;
- if (o->sync_next || o->sync_prev) {
- pa_log_warn("Moving synchronized streams not supported.");
- return FALSE;
- }
-
return TRUE;
}
@@ -1567,19 +1530,11 @@ int pa_source_output_process_msg(pa_msgobject *mo, int code, void *userdata, int
pa_resampler_set_output_rate(o->thread_info.resampler, PA_PTR_TO_UINT(userdata));
return 0;
- case PA_SOURCE_OUTPUT_MESSAGE_SET_STATE: {
- pa_source_output *ssync;
+ case PA_SOURCE_OUTPUT_MESSAGE_SET_STATE:
pa_source_output_set_state_within_thread(o, PA_PTR_TO_UINT(userdata));
- for (ssync = o->thread_info.sync_prev; ssync; ssync = ssync->thread_info.sync_prev)
- pa_source_output_set_state_within_thread(ssync, PA_PTR_TO_UINT(userdata));
-
- for (ssync = o->thread_info.sync_next; ssync; ssync = ssync->thread_info.sync_next)
- pa_source_output_set_state_within_thread(ssync, PA_PTR_TO_UINT(userdata));
-
return 0;
- }
case PA_SOURCE_OUTPUT_MESSAGE_SET_REQUESTED_LATENCY: {
pa_usec_t *usec = userdata;