diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-03-15 15:21:41 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-03-15 15:21:41 +0000 |
commit | d6bd152b4d5072f8af22644b7e2cdfa427a7fb86 (patch) | |
tree | 7f86a84e44d8e9d7772c8604740d396061fee331 /src/modules/module-null-sink.c | |
parent | ebecf3d3e19ac56f507ce771d5c455198280a80c (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-null-sink.c')
-rw-r--r-- | src/modules/module-null-sink.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/modules/module-null-sink.c b/src/modules/module-null-sink.c index de35fff9..6e59c62c 100644 --- a/src/modules/module-null-sink.c +++ b/src/modules/module-null-sink.c @@ -169,6 +169,7 @@ int pa__init(pa_module*m) { pa_sample_spec ss; pa_channel_map map; pa_modargs *ma = NULL; + pa_sink_new_data data; pa_assert(m); @@ -191,7 +192,18 @@ int pa__init(pa_module*m) { u->rtpoll = pa_rtpoll_new(); pa_rtpoll_item_new_asyncmsgq(u->rtpoll, PA_RTPOLL_EARLY, u->thread_mq.inq); - if (!(u->sink = pa_sink_new(m->core, __FILE__, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME), 0, &ss, &map))) { + pa_sink_new_data_init(&data); + data.driver = __FILE__; + data.module = m; + pa_sink_new_data_set_name(&data, pa_modargs_get_value(ma, "sink_name", DEFAULT_SINK_NAME)); + pa_sink_new_data_set_sample_spec(&data, &ss); + pa_sink_new_data_set_channel_map(&data, &map); + pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, pa_modargs_get_value(ma, "description", "NULL sink")); + + u->sink = pa_sink_new(m->core, &data, 0); + pa_sink_new_data_done(&data); + + if (!u->sink) { pa_log("Failed to create sink."); goto fail; } @@ -200,10 +212,8 @@ int pa__init(pa_module*m) { u->sink->userdata = u; u->sink->flags = PA_SINK_LATENCY; - pa_sink_set_module(u->sink, m); pa_sink_set_asyncmsgq(u->sink, u->thread_mq.inq); pa_sink_set_rtpoll(u->sink, u->rtpoll); - pa_sink_set_description(u->sink, pa_modargs_get_value(ma, "description", "NULL sink")); u->block_size = pa_bytes_per_second(&ss) / 20; /* 50 ms */ if (u->block_size <= 0) |