diff options
author | Lennart Poettering <lennart@poettering.net> | 2006-08-13 19:55:17 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2006-08-13 19:55:17 +0000 |
commit | a75e1ed9ef483c4c08f0fc963c0ea1a980f0c0e9 (patch) | |
tree | 1606249b18405428a9ebd7d2aa36678d0e38af22 /src/pulsecore/protocol-simple.c | |
parent | e0f7e8614ce06f2b0a4bd5a38189cf97b07c0d30 (diff) |
implement hook_source_ouput_new. For this I modified the pa_source_output_new constructor to take a struct similar to what I already did for pa_sink_input_new()
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1250 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/pulsecore/protocol-simple.c')
-rw-r--r-- | src/pulsecore/protocol-simple.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/src/pulsecore/protocol-simple.c b/src/pulsecore/protocol-simple.c index 5071191a..3705986d 100644 --- a/src/pulsecore/protocol-simple.c +++ b/src/pulsecore/protocol-simple.c @@ -379,22 +379,20 @@ static void on_connection(pa_socket_server*s, pa_iochannel *io, void *userdata) } if (p->mode & RECORD) { - pa_source *source; + pa_source_output_new_data data; size_t l; - if (!(source = pa_namereg_get(p->core, p->source_name, PA_NAMEREG_SOURCE, 1))) { - pa_log(__FILE__": Failed to get source."); - goto fail; - } + pa_source_output_new_data_init(&data); + data.driver = __FILE__; + data.name = c->client->name; + pa_source_output_new_data_set_sample_spec(&data, &p->sample_spec); + data.module = p->module; + data.client = c->client; - c->source_output = pa_source_output_new(source, __FILE__, c->client->name, &p->sample_spec, NULL, -1); - if (!c->source_output) { + if (!(c->source_output = pa_source_output_new(p->core, &data, 0))) { pa_log(__FILE__": Failed to create source output."); goto fail; } - c->source_output->owner = p->module; - c->source_output->client = c->client; - c->source_output->push = source_output_push_cb; c->source_output->kill = source_output_kill_cb; c->source_output->get_latency = source_output_get_latency_cb; @@ -411,6 +409,7 @@ static void on_connection(pa_socket_server*s, pa_iochannel *io, void *userdata) NULL, p->core->memblock_stat); pa_iochannel_socket_set_sndbuf(io, l/RECORD_BUFFER_FRAGMENTS*2); + pa_source_notify(c->source_output->source); } pa_iochannel_set_callback(c->io, io_callback, c); |