On Tue, 2013-03-05 at 18:09 +0100, Stefan Huber wrote: > The modules module-loopback and module-virtual-source contained > redundant source_output_may_move_to_cb() implementations. Remove them. > --- > src/modules/module-loopback.c | 12 ------------ > src/modules/module-virtual-source.c | 15 --------------- > 2 files changed, 27 deletions(-) Would you mind removing redundant sink_input_may_move_to_cb() implementations in the same patch too? > diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c > index 461c4a7..22ebc17 100644 > --- a/src/modules/module-loopback.c > +++ b/src/modules/module-loopback.c > @@ -379,17 +379,6 @@ static void source_output_kill_cb(pa_source_output *o) { > } > > /* Called from main thread */ > -static pa_bool_t source_output_may_move_to_cb(pa_source_output *o, pa_source *dest) { > - struct userdata *u; > - > - pa_source_output_assert_ref(o); > - pa_assert_ctl_context(); > - pa_assert_se(u = o->userdata); > - > - return dest != u->sink_input->sink->monitor_source; > -} This is actually not redundant, because the core doesn't have a way to know that the data pushed to the loopback modules's source output ends up in the loopback module's sink input. As a sidenote, this check could be improved by rejecting the move also in the case where dest is a filter source connected to u->sink_input->sink->monitor_source. Hmm, and also in the case where u->sink_input->sink is a filter sink, and dest is a monitor source of that filter sink's master sink. I'll write a patch. -- Tanu