diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-04-20 21:50:57 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-04-20 21:50:57 +0000 |
commit | 8181db182b1612df48dec07b6904fa9ce32b6bd8 (patch) | |
tree | 6a0b768007074efc3bed263dd36f00b528a7989a /src/modules/module-alsa-sink.c | |
parent | c2c833c068a38ab2d5bea1cd9515cda8ad93b28d (diff) |
initialize properties for ALSA sinks/sources more elaborately, re #277
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/glitch-free@2287 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src/modules/module-alsa-sink.c')
-rw-r--r-- | src/modules/module-alsa-sink.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/modules/module-alsa-sink.c b/src/modules/module-alsa-sink.c index 32bfc304..2c993d6f 100644 --- a/src/modules/module-alsa-sink.c +++ b/src/modules/module-alsa-sink.c @@ -93,7 +93,7 @@ static const char* const valid_modargs[] = { #define DEFAULT_DEVICE "default" #define DEFAULT_TSCHED_BUFFER_USEC (10*PA_USEC_PER_SEC) /* 10s */ -#define DEFAULT_TSCHED_WATERMARK_USEC (200*PA_USEC_PER_MSEC) /* 20ms */ +#define DEFAULT_TSCHED_WATERMARK_USEC (10*PA_USEC_PER_MSEC) /* 20ms */ struct userdata { pa_core *core; @@ -1050,12 +1050,6 @@ int pa__init(pa_module*m) { pa_bool_t use_mmap = TRUE, b, use_tsched = TRUE, d, mixer_reset = TRUE; pa_usec_t usec; pa_sink_new_data data; - static const char * const class_table[SND_PCM_CLASS_LAST+1] = { - [SND_PCM_CLASS_GENERIC] = "sound", - [SND_PCM_CLASS_MULTI] = NULL, - [SND_PCM_CLASS_MODEM] = "modem", - [SND_PCM_CLASS_DIGITIZER] = NULL - }; snd_pcm_info_alloca(&pcm_info); @@ -1242,15 +1236,10 @@ int pa__init(pa_module*m) { pa_sink_new_data_set_sample_spec(&data, &ss); pa_sink_new_data_set_channel_map(&data, &map); + pa_alsa_init_proplist(data.proplist, pcm_info); pa_proplist_sets(data.proplist, PA_PROP_DEVICE_STRING, u->device_name); - pa_proplist_sets(data.proplist, PA_PROP_DEVICE_API, "alsa"); - pa_proplist_sets(data.proplist, PA_PROP_DEVICE_DESCRIPTION, snd_pcm_info_get_name(pcm_info)); 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)); - - if (class_table[snd_pcm_info_get_class(pcm_info)]) - pa_proplist_sets(data.proplist, PA_PROP_DEVICE_CLASS, class_table[snd_pcm_info_get_class(pcm_info)]); - pa_proplist_sets(data.proplist, PA_PROP_DEVICE_ACCESS_MODE, u->use_tsched ? "mmap+timer" : (u->use_mmap ? "mmap" : "serial")); u->sink = pa_sink_new(m->core, &data, PA_SINK_HARDWARE|PA_SINK_LATENCY); |