This is no longer necessary because the previous patch drops audio until pop() is called the first time. --- src/modules/module-loopback.c | 36 ------------------------------------ 1 file changed, 36 deletions(-) diff --git a/src/modules/module-loopback.c b/src/modules/module-loopback.c index aafe41b..23ef7ac 100644 --- a/src/modules/module-loopback.c +++ b/src/modules/module-loopback.c @@ -82,8 +82,6 @@ struct userdata { int64_t recv_counter; int64_t send_counter; - size_t skip; - /* Values from command line configuration */ pa_usec_t latency; pa_usec_t adjust_time; @@ -339,26 +337,11 @@ static void memblockq_adjust(struct userdata *u, int32_t offset, bool allow_push /* Called from input thread context */ static void source_output_push_cb(pa_source_output *o, const pa_memchunk *chunk) { struct userdata *u; - pa_memchunk copy; pa_source_output_assert_ref(o); pa_source_output_assert_io_context(o); pa_assert_se(u = o->userdata); - if (u->skip >= chunk->length) { - u->skip -= chunk->length; - return; - } - - if (u->skip > 0) { - copy = *chunk; - copy.index += u->skip; - copy.length -= u->skip; - u->skip = 0; - - chunk = © - } - pa_asyncmsgq_post(u->asyncmsgq, PA_MSGOBJECT(u->sink_input), SINK_INPUT_MESSAGE_POST, NULL, 0, chunk, NULL); u->send_counter += (int64_t) chunk->length; } @@ -478,24 +461,6 @@ static void source_output_detach_cb(pa_source_output *o) { } } -/* Called from output thread context */ -static void source_output_state_change_cb(pa_source_output *o, pa_source_output_state_t state) { - struct userdata *u; - - pa_source_output_assert_ref(o); - pa_source_output_assert_io_context(o); - pa_assert_se(u = o->userdata); - - if (PA_SOURCE_OUTPUT_IS_LINKED(state) && o->thread_info.state == PA_SOURCE_OUTPUT_INIT) { - - u->skip = pa_usec_to_bytes(PA_CLIP_SUB(pa_source_get_latency_within_thread(o->source), - u->latency), - &o->sample_spec); - - pa_log_info("Skipping %lu bytes", (unsigned long) u->skip); - } -} - /* Called from main thread */ static void source_output_kill_cb(pa_source_output *o) { struct userdata *u; @@ -1096,7 +1061,6 @@ int pa__init(pa_module *m) { u->source_output->kill = source_output_kill_cb; u->source_output->attach = source_output_attach_cb; u->source_output->detach = source_output_detach_cb; - u->source_output->state_change = source_output_state_change_cb; u->source_output->may_move_to = source_output_may_move_to_cb; u->source_output->moving = source_output_moving_cb; u->source_output->suspend = source_output_suspend_cb; -- 2.8.1