From f03a7e43db145273408414d32fbae49800ab7a29 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 17 Jan 2009 02:00:57 +0100 Subject: Split up pa_alsa_init_proplist into two seperate functions for the card and snd_pcm_t specific parts --- src/modules/alsa/module-alsa-source.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'src/modules/alsa/module-alsa-source.c') diff --git a/src/modules/alsa/module-alsa-source.c b/src/modules/alsa/module-alsa-source.c index 5ad76018..7ca305f5 100644 --- a/src/modules/alsa/module-alsa-source.c +++ b/src/modules/alsa/module-alsa-source.c @@ -1142,10 +1142,9 @@ int pa__init(pa_module*m) { use_tsched = FALSE; } - u = pa_xnew0(struct userdata, 1); + m->userdata = u = pa_xnew0(struct userdata, 1); u->core = m->core; u->module = m; - m->userdata = u; u->use_mmap = use_mmap; u->use_tsched = use_tsched; u->rtpoll = pa_rtpoll_new(); @@ -1266,7 +1265,7 @@ int pa__init(pa_module*m) { pa_source_new_data_set_sample_spec(&data, &ss); pa_source_new_data_set_channel_map(&data, &map); - pa_alsa_init_proplist(data.proplist, pcm_info); + pa_alsa_init_proplist_pcm(data.proplist, pcm_info); pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, u->device_name); pa_proplist_setf(data.proplist, PA_PROP_DEVICE_BUFFERING_BUFFER_SIZE, "%lu", (unsigned long) (period_frames * frame_size * nfrags)); pa_proplist_setf(data.proplist, PA_PROP_DEVICE_BUFFERING_FRAGMENT_SIZE, "%lu", (unsigned long) (period_frames * frame_size)); @@ -1454,10 +1453,8 @@ void pa__done(pa_module*m) { pa_assert(m); - if (!(u = m->userdata)) { - pa_alsa_redirect_errors_dec(); - return; - } + if (!(u = m->userdata)) + goto finish; if (u->source) pa_source_unlink(u->source); @@ -1495,6 +1492,7 @@ void pa__done(pa_module*m) { pa_xfree(u->device_name); pa_xfree(u); +finish: snd_config_update_free_global(); pa_alsa_redirect_errors_dec(); } -- cgit