diff options
author | Lennart Poettering <lennart@poettering.net> | 2009-08-22 04:03:31 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2009-08-22 04:03:31 +0200 |
commit | 5b0683d6cd103a7a91bc2e88bcc9f77750d10c25 (patch) | |
tree | f88ddfd06f0183cc2e8ab8bb234b464d16f532c7 /src/modules | |
parent | 2595b9d98569e62f4d375ced1d3f7c7af34efa74 (diff) |
ladspa/remap: handle failing stream moves properly
Diffstat (limited to 'src/modules')
-rw-r--r-- | src/modules/module-ladspa-sink.c | 7 | ||||
-rw-r--r-- | src/modules/module-remap-sink.c | 7 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c index 233f90c4..aa28f7fd 100644 --- a/src/modules/module-ladspa-sink.c +++ b/src/modules/module-ladspa-sink.c @@ -418,8 +418,11 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) { pa_sink_input_assert_ref(i); pa_assert_se(u = i->userdata); - pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); - pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); + if (dest) { + pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); + pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); + } else + pa_sink_set_asyncmsgq(u->sink, NULL); } /* Called from main context */ diff --git a/src/modules/module-remap-sink.c b/src/modules/module-remap-sink.c index 0b4fdc9b..becff55c 100644 --- a/src/modules/module-remap-sink.c +++ b/src/modules/module-remap-sink.c @@ -302,8 +302,11 @@ static void sink_input_moving_cb(pa_sink_input *i, pa_sink *dest) { pa_sink_input_assert_ref(i); pa_assert_se(u = i->userdata); - pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); - pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); + if (dest) { + pa_sink_set_asyncmsgq(u->sink, dest->asyncmsgq); + pa_sink_update_flags(u->sink, PA_SINK_LATENCY|PA_SINK_DYNAMIC_LATENCY, dest->flags); + } else + pa_sink_set_asyncmsgq(u->sink, NULL); } int pa__init(pa_module*m) { |