summaryrefslogtreecommitdiffstats
path: root/src/modules/module-jack-source.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2008-03-15 15:21:41 +0000
committerLennart Poettering <lennart@poettering.net>2008-03-15 15:21:41 +0000
commitd6bd152b4d5072f8af22644b7e2cdfa427a7fb86 (patch)
tree7f86a84e44d8e9d7772c8604740d396061fee331 /src/modules/module-jack-source.c
parentebecf3d3e19ac56f507ce771d5c455198280a80c (diff)
commit glitch-free work
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2124 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/module-jack-source.c')
-rw-r--r--src/modules/module-jack-source.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/src/modules/module-jack-source.c b/src/modules/module-jack-source.c
index 4ee08bf1..a687563d 100644
--- a/src/modules/module-jack-source.c
+++ b/src/modules/module-jack-source.c
@@ -254,6 +254,7 @@ int pa__init(pa_module*m) {
unsigned i;
const char **ports = NULL, **p;
char *t;
+ pa_source_new_data data;
pa_assert(m);
@@ -326,20 +327,32 @@ int pa__init(pa_module*m) {
}
}
- if (!(u->source = pa_source_new(m->core, __FILE__, pa_modargs_get_value(ma, "source_name", DEFAULT_SOURCE_NAME), 0, &ss, &map))) {
- pa_log("failed to create source.");
+ pa_source_new_data_init(&data);
+ data.driver = __FILE__;
+ data.module = m;
+ pa_source_new_data_set_name(&data, pa_modargs_get_value(ma, "source_name", DEFAULT_SOURCE_NAME));
+ pa_source_new_data_set_sample_spec(&data, &ss);
+ pa_source_new_data_set_channel_map(&data, &map);
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_API, "jack");
+ if (server_name)
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, server_name);
+ pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, t = pa_sprintf_malloc("Jack source (%s)", jack_get_client_name(u->client)));
+ pa_xfree(t);
+ pa_proplist_sets(data.proplist, "jack.client_name", jack_get_client_name(u->client));
+
+ u->source = pa_source_new(m->core, &data, PA_SOURCE_LATENCY);
+ pa_source_new_data_done(&data);
+
+ if (!u->source) {
+ pa_log("Failed to create source.");
goto fail;
}
u->source->parent.process_msg = source_process_msg;
u->source->userdata = u;
- u->source->flags = PA_SOURCE_LATENCY;
- pa_source_set_module(u->source, m);
pa_source_set_asyncmsgq(u->source, u->thread_mq.inq);
pa_source_set_rtpoll(u->source, u->rtpoll);
- pa_source_set_description(u->source, t = pa_sprintf_malloc("Jack source (%s)", jack_get_client_name(u->client)));
- pa_xfree(t);
jack_set_process_callback(u->client, jack_process, u);
jack_on_shutdown(u->client, jack_shutdown, u);