This patch reverts commit db4fbb0121a2577d786cda023a6a439a9734f152 and 3bb94c4e836ca765a36255e416fd8e6cf272ab44. They were the wrong approach to fix the bug (and did not fix it anyway). --- src/modules/echo-cancel/module-echo-cancel.c | 6 ++---- src/modules/module-ladspa-sink.c | 3 +-- src/modules/module-remap-sink.c | 3 +-- src/modules/module-remap-source.c | 3 +-- src/modules/module-virtual-sink.c | 3 +-- src/modules/module-virtual-source.c | 3 +-- src/modules/module-virtual-surround-sink.c | 3 +-- 7 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/modules/echo-cancel/module-echo-cancel.c b/src/modules/echo-cancel/module-echo-cancel.c index 7e7290e6..04984f32 100644 --- a/src/modules/echo-cancel/module-echo-cancel.c +++ b/src/modules/echo-cancel/module-echo-cancel.c @@ -409,8 +409,7 @@ static int source_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t * make sure we don't access it in that time. Also, the * source output is first shut down, the source second. */ if (!PA_SOURCE_IS_LINKED(u->source->thread_info.state) || - !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state) || - !u->source_output->source) { + !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state)) { *((int64_t*) data) = 0; return 0; } @@ -446,8 +445,7 @@ static int sink_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t of * make sure we don't access it in that time. Also, the * sink input is first shut down, the sink second. */ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || - !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) || - !u->sink_input->sink) { + !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { *((int64_t*) data) = 0; return 0; } diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c index 86ab4a6f..549ceca6 100644 --- a/src/modules/module-ladspa-sink.c +++ b/src/modules/module-ladspa-sink.c @@ -347,8 +347,7 @@ static int sink_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t of * make sure we don't access it in that time. Also, the * sink input is first shut down, the sink second. */ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || - !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) || - !u->sink_input->sink) { + !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { *((int64_t*) data) = 0; return 0; } diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c index 534874d7..37f4f56c 100644 --- a/src/modules/module-remap-sink.c +++ b/src/modules/module-remap-sink.c @@ -83,8 +83,7 @@ static int sink_process_msg(pa_msgobject *o, int code, void *data, int64_t offse /* The sink is _put() before the sink input is, so let's * make sure we don't access it yet */ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || - !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) || - !u->sink_input->sink) { + !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { *((int64_t*) data) = 0; return 0; } diff --git a/src/modules/module-remap-source.c b/src/modules/module-remap-source.c index 25772ecd..0bdeb381 100644 --- a/src/modules/module-remap-source.c +++ b/src/modules/module-remap-source.c @@ -91,8 +91,7 @@ static int source_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t * make sure we don't access it in that time. Also, the * source output is first shut down, the source second. */ if (!PA_SOURCE_IS_LINKED(u->source->thread_info.state) || - !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state) || - !u->source_output->source) { + !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state)) { *((int64_t*) data) = 0; return 0; } diff --git a/src/modules/module-virtual-sink.c b/src/modules/module-virtual-sink.c index 6175ca8e..4fa4a56e 100644 --- a/src/modules/module-virtual-sink.c +++ b/src/modules/module-virtual-sink.c @@ -94,8 +94,7 @@ static int sink_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t of * make sure we don't access it in that time. Also, the * sink input is first shut down, the sink second. */ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || - !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) || - !u->sink_input->sink) { + !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { *((int64_t*) data) = 0; return 0; } diff --git a/src/modules/module-virtual-source.c b/src/modules/module-virtual-source.c index dd0b40e1..42aefd05 100644 --- a/src/modules/module-virtual-source.c +++ b/src/modules/module-virtual-source.c @@ -175,8 +175,7 @@ static int source_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t * make sure we don't access it in that time. Also, the * source output is first shut down, the source second. */ if (!PA_SOURCE_IS_LINKED(u->source->thread_info.state) || - !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state) || - !u->source_output->source) { + !PA_SOURCE_OUTPUT_IS_LINKED(u->source_output->thread_info.state)) { *((pa_usec_t*) data) = 0; return 0; } diff --git a/src/modules/module-virtual-surround-sink.c b/src/modules/module-virtual-surround-sink.c index 94ea9f4a..23c6bdc5 100644 --- a/src/modules/module-virtual-surround-sink.c +++ b/src/modules/module-virtual-surround-sink.c @@ -122,8 +122,7 @@ static int sink_process_msg_cb(pa_msgobject *o, int code, void *data, int64_t of * make sure we don't access it in that time. Also, the * sink input is first shut down, the sink second. */ if (!PA_SINK_IS_LINKED(u->sink->thread_info.state) || - !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state) || - !u->sink_input->sink) { + !PA_SINK_INPUT_IS_LINKED(u->sink_input->thread_info.state)) { *((int64_t*) data) = 0; return 0; } -- 2.11.0