[pulseaudio-discuss] [PATCH 2/4] filter-apply: Fix segfault with moving streams
Tanu Kaskinen
tanuk at iki.fi
Thu Mar 14 13:07:13 PDT 2013
process() may be called with a stream that doesn't have its sink/source set.
This can happen if the proplist change callback is called when the stream is
moving.
---
src/modules/module-filter-apply.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/modules/module-filter-apply.c b/src/modules/module-filter-apply.c
index 6826a0a..4e85ea1 100644
--- a/src/modules/module-filter-apply.c
+++ b/src/modules/module-filter-apply.c
@@ -417,14 +417,18 @@ static pa_hook_result_t process(struct userdata *u, pa_object *o, pa_bool_t is_s
pa_bool_t done_something = FALSE;
pa_sink *sink = NULL;
pa_source *source = NULL;
- pa_module *module;
+ pa_module *module = NULL;
if (is_sink_input) {
sink = PA_SINK_INPUT(o)->sink;
- module = sink->module;
+
+ if (sink)
+ module = sink->module;
} else {
source = PA_SOURCE_OUTPUT(o)->source;
- module = source->module;
+
+ if (source)
+ module = source->module;
}
/* If there is no sink/source yet, we can't do much */
--
1.7.10.4
More information about the pulseaudio-discuss
mailing list