diff --git a/0001-alsa-allow-configuration-of-fallback-device-strings.patch b/0001-alsa-allow-configuration-of-fallback-device-strings.patch new file mode 100644 index 0000000..09d2e37 --- /dev/null +++ b/0001-alsa-allow-configuration-of-fallback-device-strings.patch @@ -0,0 +1,342 @@ +From 4f2a3cb6019d551ca98aa2034854985df2670a30 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 29 Apr 2009 01:58:18 +0200 +Subject: [PATCH] alsa: allow configuration of fallback device strings in profiles + +This has the benefit that we can properly support ALSA devices where +only the raw 'hw' device exists but no 'front' although it's a proper +2ch stereo device. +--- + src/modules/alsa/alsa-util.c | 126 +++++++++++++++++++++++++++++------------ + src/modules/alsa/alsa-util.h | 1 + + 2 files changed, 90 insertions(+), 37 deletions(-) + +diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c +index d2dc6e8..2ea0c3d 100644 +--- a/src/modules/alsa/alsa-util.c ++++ b/src/modules/alsa/alsa-util.c +@@ -526,7 +526,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min) { + + static const struct pa_alsa_profile_info device_table[] = { + {{ 1, { PA_CHANNEL_POSITION_MONO }}, +- "hw", ++ "hw", NULL, + N_("Analog Mono"), + "analog-mono", + 1, +@@ -534,7 +534,7 @@ static const struct pa_alsa_profile_info device_table[] = { + "Capture", "Mic" }, + + {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, +- "front", ++ "front", "hw", + N_("Analog Stereo"), + "analog-stereo", + 10, +@@ -542,7 +542,7 @@ static const struct pa_alsa_profile_info device_table[] = { + "Capture", "Mic" }, + + {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, +- "iec958", ++ "iec958", NULL, + N_("Digital Stereo (IEC958)"), + "iec958-stereo", + 5, +@@ -550,7 +550,7 @@ static const struct pa_alsa_profile_info device_table[] = { + "IEC958 In", NULL }, + + {{ 2, { PA_CHANNEL_POSITION_LEFT, PA_CHANNEL_POSITION_RIGHT }}, +- "hdmi", ++ "hdmi", NULL, + N_("Digital Stereo (HDMI)"), + "hdmi-stereo", + 4, +@@ -559,7 +559,7 @@ static const struct pa_alsa_profile_info device_table[] = { + + {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, +- "surround40", ++ "surround40", NULL, + N_("Analog Surround 4.0"), + "analog-surround-40", + 7, +@@ -568,7 +568,7 @@ static const struct pa_alsa_profile_info device_table[] = { + + {{ 4, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT }}, +- "a52", ++ "a52", NULL, + N_("Digital Surround 4.0 (IEC958/AC3)"), + "iec958-ac3-surround-40", + 2, +@@ -578,7 +578,7 @@ static const struct pa_alsa_profile_info device_table[] = { + {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, + PA_CHANNEL_POSITION_LFE }}, +- "surround41", ++ "surround41", NULL, + N_("Analog Surround 4.1"), + "analog-surround-41", + 7, +@@ -588,7 +588,7 @@ static const struct pa_alsa_profile_info device_table[] = { + {{ 5, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, + PA_CHANNEL_POSITION_CENTER }}, +- "surround50", ++ "surround50", NULL, + N_("Analog Surround 5.0"), + "analog-surround-50", + 7, +@@ -598,7 +598,7 @@ static const struct pa_alsa_profile_info device_table[] = { + {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, + PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE }}, +- "surround51", ++ "surround51", NULL, + N_("Analog Surround 5.1"), + "analog-surround-51", + 8, +@@ -608,7 +608,7 @@ static const struct pa_alsa_profile_info device_table[] = { + {{ 6, { PA_CHANNEL_POSITION_FRONT_LEFT, PA_CHANNEL_POSITION_FRONT_RIGHT, + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, + PA_CHANNEL_POSITION_FRONT_CENTER, PA_CHANNEL_POSITION_LFE}}, +- "a52", ++ "a52", NULL, + N_("Digital Surround 5.1 (IEC958/AC3)"), + "iec958-ac3-surround-51", + 3, +@@ -619,16 +619,72 @@ static const struct pa_alsa_profile_info device_table[] = { + PA_CHANNEL_POSITION_REAR_LEFT, PA_CHANNEL_POSITION_REAR_RIGHT, + PA_CHANNEL_POSITION_CENTER, PA_CHANNEL_POSITION_LFE, + PA_CHANNEL_POSITION_SIDE_LEFT, PA_CHANNEL_POSITION_SIDE_RIGHT }}, +- "surround71", ++ "surround71", NULL, + N_("Analog Surround 7.1"), + "analog-surround-71", + 7, + "Master", "PCM", + "Capture", "Mic" }, + +- {{ 0, { 0 }}, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } ++ {{ 0, { 0 }}, NULL, NULL, NULL, NULL, 0, NULL, NULL, NULL, NULL } + }; + ++static snd_pcm_t *open_by_device_string_with_fallback( ++ const char *prefix, ++ const char *prefix_fallback, ++ const char *dev_id, ++ char **dev, ++ pa_sample_spec *ss, ++ pa_channel_map* map, ++ int mode, ++ uint32_t *nfrags, ++ snd_pcm_uframes_t *period_size, ++ snd_pcm_uframes_t tsched_size, ++ pa_bool_t *use_mmap, ++ pa_bool_t *use_tsched, ++ pa_bool_t require_exact_channel_number) { ++ ++ snd_pcm_t *pcm_handle; ++ char *d; ++ ++ d = pa_sprintf_malloc("%s:%s", prefix, dev_id); ++ ++ pcm_handle = pa_alsa_open_by_device_string( ++ d, ++ dev, ++ ss, ++ map, ++ mode, ++ nfrags, ++ period_size, ++ tsched_size, ++ use_mmap, ++ use_tsched, ++ require_exact_channel_number); ++ pa_xfree(d); ++ ++ if (!pcm_handle && prefix_fallback) { ++ ++ d = pa_sprintf_malloc("%s:%s", prefix_fallback, dev_id); ++ ++ pcm_handle = pa_alsa_open_by_device_string( ++ d, ++ dev, ++ ss, ++ map, ++ mode, ++ nfrags, ++ period_size, ++ tsched_size, ++ use_mmap, ++ use_tsched, ++ require_exact_channel_number); ++ pa_xfree(d); ++ } ++ ++ return pcm_handle; ++} ++ + snd_pcm_t *pa_alsa_open_by_device_id_auto( + const char *dev_id, + char **dev, +@@ -669,14 +725,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( + + pa_log_debug("Checking for %s (%s)", device_table[i].name, device_table[i].alsa_name); + +- d = pa_sprintf_malloc("%s:%s", device_table[i].alsa_name, dev_id); +- + try_ss.channels = device_table[i].map.channels; + try_ss.rate = ss->rate; + try_ss.format = ss->format; + +- pcm_handle = pa_alsa_open_by_device_string( +- d, ++ pcm_handle = open_by_device_string_with_fallback( ++ device_table[i].alsa_name, ++ device_table[i].alsa_name_fallback, ++ dev_id, + dev, + &try_ss, + map, +@@ -688,8 +744,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( + use_tsched, + TRUE); + +- pa_xfree(d); +- + if (pcm_handle) { + + *ss = try_ss; +@@ -701,6 +755,7 @@ snd_pcm_t *pa_alsa_open_by_device_id_auto( + + return pcm_handle; + } ++ + } + + if (direction > 0) { +@@ -773,7 +828,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( + pa_bool_t *use_tsched, + const pa_alsa_profile_info *profile) { + +- char *d; + snd_pcm_t *pcm_handle; + pa_sample_spec try_ss; + +@@ -785,14 +839,14 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( + pa_assert(period_size); + pa_assert(profile); + +- d = pa_sprintf_malloc("%s:%s", profile->alsa_name, dev_id); +- + try_ss.channels = profile->map.channels; + try_ss.rate = ss->rate; + try_ss.format = ss->format; + +- pcm_handle = pa_alsa_open_by_device_string( +- d, ++ pcm_handle = open_by_device_string_with_fallback( ++ profile->alsa_name, ++ profile->alsa_name_fallback, ++ dev_id, + dev, + &try_ss, + map, +@@ -804,8 +858,6 @@ snd_pcm_t *pa_alsa_open_by_device_id_profile( + use_tsched, + TRUE); + +- pa_xfree(d); +- + if (!pcm_handle) + return NULL; + +@@ -858,6 +910,8 @@ snd_pcm_t *pa_alsa_open_by_device_string( + goto fail; + } + ++ pa_log_debug("Managed to open %s", d); ++ + if ((err = pa_alsa_set_hw_params(pcm_handle, ss, nfrags, period_size, tsched_size, use_mmap, use_tsched, require_exact_channel_number)) < 0) { + + if (!reformat) { +@@ -926,26 +980,25 @@ int pa_alsa_probe_profiles( + snd_pcm_t *pcm_i = NULL; + + if (i->alsa_name) { +- char *id; + pa_sample_spec try_ss; + pa_channel_map try_map; + + pa_log_debug("Checking for playback on %s (%s)", i->name, i->alsa_name); +- id = pa_sprintf_malloc("%s:%s", i->alsa_name, dev_id); + + try_ss = *ss; + try_ss.channels = i->map.channels; + try_map = i->map; + +- pcm_i = pa_alsa_open_by_device_string( +- id, NULL, ++ pcm_i = open_by_device_string_with_fallback( ++ i->alsa_name, ++ i->alsa_name_fallback, ++ dev_id, ++ NULL, + &try_ss, &try_map, + SND_PCM_STREAM_PLAYBACK, + NULL, NULL, 0, NULL, NULL, + TRUE); + +- pa_xfree(id); +- + if (!pcm_i) + continue; + } +@@ -954,26 +1007,25 @@ int pa_alsa_probe_profiles( + snd_pcm_t *pcm_j = NULL; + + if (j->alsa_name) { +- char *jd; + pa_sample_spec try_ss; + pa_channel_map try_map; + + pa_log_debug("Checking for capture on %s (%s)", j->name, j->alsa_name); +- jd = pa_sprintf_malloc("%s:%s", j->alsa_name, dev_id); + + try_ss = *ss; + try_ss.channels = j->map.channels; + try_map = j->map; + +- pcm_j = pa_alsa_open_by_device_string( +- jd, NULL, ++ pcm_j = open_by_device_string_with_fallback( ++ j->alsa_name, ++ j->alsa_name_fallback, ++ dev_id, ++ NULL, + &try_ss, &try_map, + SND_PCM_STREAM_CAPTURE, + NULL, NULL, 0, NULL, NULL, + TRUE); + +- pa_xfree(jd); +- + if (!pcm_j) + continue; + } +diff --git a/src/modules/alsa/alsa-util.h b/src/modules/alsa/alsa-util.h +index c8acc7c..c3a8117 100644 +--- a/src/modules/alsa/alsa-util.h ++++ b/src/modules/alsa/alsa-util.h +@@ -56,6 +56,7 @@ int pa_alsa_set_sw_params(snd_pcm_t *pcm, snd_pcm_uframes_t avail_min); + typedef struct pa_alsa_profile_info { + pa_channel_map map; + const char *alsa_name; ++ const char *alsa_name_fallback; + const char *description; /* internationalized */ + const char *name; + unsigned priority; +-- +1.6.0.2 + diff --git a/0002-util-if-NULL-is-passed-to-pa_path_get_filename-ju.patch b/0002-util-if-NULL-is-passed-to-pa_path_get_filename-ju.patch new file mode 100644 index 0000000..3ccf220 --- /dev/null +++ b/0002-util-if-NULL-is-passed-to-pa_path_get_filename-ju.patch @@ -0,0 +1,40 @@ +From c7ec01326190a0bcdcca77307728a7dabb9fb1d2 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 19 Apr 2009 19:02:16 +0200 +Subject: [PATCH] util: if NULL is passed to pa_path_get_filename() just hand it through + +--- + src/pulse/util.c | 3 ++- + src/pulse/util.h | 2 +- + 2 files changed, 3 insertions(+), 2 deletions(-) + +diff --git a/src/pulse/util.c b/src/pulse/util.c +index 54a188d..6f1e40a 100644 +--- a/src/pulse/util.c ++++ b/src/pulse/util.c +@@ -219,7 +219,8 @@ char *pa_get_binary_name(char *s, size_t l) { + char *pa_path_get_filename(const char *p) { + char *fn; + +- pa_assert(p); ++ if (!p) ++ return NULL; + + if ((fn = strrchr(p, PA_PATH_SEP_CHAR))) + return fn+1; +diff --git a/src/pulse/util.h b/src/pulse/util.h +index f6dd40c..ad85653 100644 +--- a/src/pulse/util.h ++++ b/src/pulse/util.h +@@ -51,7 +51,7 @@ char *pa_get_home_dir(char *s, size_t l); + char *pa_get_binary_name(char *s, size_t l); + + /** Return a pointer to the filename inside a path (which is the last +- * component). */ ++ * component). If passed NULL will return NULL. */ + char *pa_path_get_filename(const char *p); + + /** Wait t milliseconds */ +-- +1.6.0.2 + diff --git a/0003-alsa-don-t-hit-an-assert-when-invalid-module-argume.patch b/0003-alsa-don-t-hit-an-assert-when-invalid-module-argume.patch new file mode 100644 index 0000000..4baf0db --- /dev/null +++ b/0003-alsa-don-t-hit-an-assert-when-invalid-module-argume.patch @@ -0,0 +1,41 @@ +From a5fad31238a9379a589c7a5c629352a8c914f709 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 1 May 2009 04:11:30 +0200 +Subject: [PATCH] alsa: don't hit an assert when invalid module arguments are passed + +--- + src/modules/alsa/alsa-sink.c | 3 ++- + src/modules/alsa/alsa-source.c | 3 ++- + 2 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c +index 2fbcd7b..360cb4d 100644 +--- a/src/modules/alsa/alsa-sink.c ++++ b/src/modules/alsa/alsa-sink.c +@@ -1770,7 +1770,8 @@ pa_sink *pa_alsa_sink_new(pa_module *m, pa_modargs *ma, const char*driver, pa_ca + + fail: + +- userdata_free(u); ++ if (u) ++ userdata_free(u); + + return NULL; + } +diff --git a/src/modules/alsa/alsa-source.c b/src/modules/alsa/alsa-source.c +index c59fc75..19c6cfc 100644 +--- a/src/modules/alsa/alsa-source.c ++++ b/src/modules/alsa/alsa-source.c +@@ -1621,7 +1621,8 @@ pa_source *pa_alsa_source_new(pa_module *m, pa_modargs *ma, const char*driver, p + + fail: + +- userdata_free(u); ++ if (u) ++ userdata_free(u); + + return NULL; + } +-- +1.6.0.2 + diff --git a/0004-alsa-fix-wording-we-are-speaking-of-card-profiles.patch b/0004-alsa-fix-wording-we-are-speaking-of-card-profiles.patch new file mode 100644 index 0000000..9d92798 --- /dev/null +++ b/0004-alsa-fix-wording-we-are-speaking-of-card-profiles.patch @@ -0,0 +1,25 @@ +From 5657be51e1aff934be7be723dd4c80deaae7cfb6 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 26 May 2009 22:29:33 +0200 +Subject: [PATCH] alsa: fix wording, we are speaking of card profiles, not output profiles + +--- + src/modules/alsa/module-alsa-card.c | 2 +- + 1 files changed, 1 insertions(+), 1 deletions(-) + +diff --git a/src/modules/alsa/module-alsa-card.c b/src/modules/alsa/module-alsa-card.c +index fdc952d..dd8636e 100644 +--- a/src/modules/alsa/module-alsa-card.c ++++ b/src/modules/alsa/module-alsa-card.c +@@ -135,7 +135,7 @@ static void enumerate_cb( + bonus += 20000; + } + +- pa_log_info("Found output profile '%s'", t); ++ pa_log_info("Found profile '%s'", t); + + p = pa_card_profile_new(n, t, sizeof(struct profile_data)); + +-- +1.6.0.2 + diff --git a/0005-alsa-initialize-buffer-size-before-number-of-period.patch b/0005-alsa-initialize-buffer-size-before-number-of-period.patch new file mode 100644 index 0000000..621972e --- /dev/null +++ b/0005-alsa-initialize-buffer-size-before-number-of-period.patch @@ -0,0 +1,84 @@ +From fab8c8290dbfe5c24718afac033c2e11976e4754 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 1 May 2009 04:16:17 +0200 +Subject: [PATCH] alsa: initialize buffer size before number of periods to improve compat with some backends + +--- + src/modules/alsa/alsa-util.c | 33 ++++++++++++++++++++------------- + 1 files changed, 20 insertions(+), 13 deletions(-) + +diff --git a/src/modules/alsa/alsa-util.c b/src/modules/alsa/alsa-util.c +index 2ea0c3d..34cb6d6 100644 +--- a/src/modules/alsa/alsa-util.c ++++ b/src/modules/alsa/alsa-util.c +@@ -332,7 +332,6 @@ int pa_alsa_set_hw_params( + int ret = -1; + snd_pcm_uframes_t _period_size = period_size ? *period_size : 0; + unsigned int _periods = periods ? *periods : 0; +- snd_pcm_uframes_t buffer_size; + unsigned int r = ss->rate; + unsigned int c = ss->channels; + pa_sample_format_t f = ss->format; +@@ -388,39 +387,47 @@ int pa_alsa_set_hw_params( + goto finish; + + if (_period_size && tsched_size && _periods) { ++ + /* Adjust the buffer sizes, if we didn't get the rate we were asking for */ + _period_size = (snd_pcm_uframes_t) (((uint64_t) _period_size * r) / ss->rate); + tsched_size = (snd_pcm_uframes_t) (((uint64_t) tsched_size * r) / ss->rate); + + if (_use_tsched) { +- _period_size = tsched_size; +- _periods = 1; ++ snd_pcm_uframes_t buffer_size; + + pa_assert_se(snd_pcm_hw_params_get_buffer_size_max(hwparams, &buffer_size) == 0); + pa_log_debug("Maximum hw buffer size is %u ms", (unsigned) buffer_size * 1000 / r); ++ ++ _period_size = tsched_size; ++ _periods = 1; + } + +- buffer_size = _periods * _period_size; ++ if (_period_size > 0 && _periods > 0) { ++ snd_pcm_uframes_t buffer_size; ++ ++ buffer_size = _periods * _period_size; ++ ++ if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) ++ pa_log_info("snd_pcm_hw_params_set_buffer_size_near() failed: %s", pa_alsa_strerror(ret)); ++ } + + if (_periods > 0) { + +- /* First we pass 0 as direction to get exactly what we asked +- * for. That this is necessary is presumably a bug in ALSA */ ++ /* First we pass 0 as direction to get exactly what we ++ * asked for. That this is necessary is presumably a bug ++ * in ALSA. All in all this is mostly a hint to ALSA, so ++ * we don't care if this fails. */ + + dir = 0; +- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { ++ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { + dir = 1; +- if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) { ++ if (snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir) < 0) { + dir = -1; + if ((ret = snd_pcm_hw_params_set_periods_near(pcm_handle, hwparams, &_periods, &dir)) < 0) +- goto finish; ++ pa_log_info("snd_pcm_hw_params_set_periods_near() failed: %s", pa_alsa_strerror(ret)); + } + } + } +- +- if (_period_size > 0) +- if ((ret = snd_pcm_hw_params_set_buffer_size_near(pcm_handle, hwparams, &buffer_size)) < 0) +- goto finish; + } + + if ((ret = snd_pcm_hw_params(pcm_handle, hwparams)) < 0) +-- +1.6.0.2 + diff --git a/0006-conf-remove-obsolete-module-idle-time-directive-fro.patch b/0006-conf-remove-obsolete-module-idle-time-directive-fro.patch new file mode 100644 index 0000000..e065ffb --- /dev/null +++ b/0006-conf-remove-obsolete-module-idle-time-directive-fro.patch @@ -0,0 +1,43 @@ +From 56f457c10d0bd45714a1d2d033ecedab9b46439a Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 7 Jun 2009 00:44:16 +0200 +Subject: [PATCH] conf: remove obsolete module-idle-time directive from default config file/man page + +--- + man/pulse-daemon.conf.5.xml.in | 7 ------- + src/daemon/daemon.conf.in | 1 - + 2 files changed, 0 insertions(+), 8 deletions(-) + +diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in +index afa7ca0..7d184a6 100644 +--- a/man/pulse-daemon.conf.5.xml.in ++++ b/man/pulse-daemon.conf.5.xml.in +@@ -228,13 +228,6 @@ USA. + + + +- +- +-- +1.6.0.2 + diff --git a/0011-man-document-log-related-daemon.conf-options.patch b/0011-man-document-log-related-daemon.conf-options.patch new file mode 100644 index 0000000..3264d46 --- /dev/null +++ b/0011-man-document-log-related-daemon.conf-options.patch @@ -0,0 +1,52 @@ +From c4a763d19a700c49a63509b0be576630ce408793 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 7 Jun 2009 00:44:49 +0200 +Subject: [PATCH] man: document log related daemon.conf options + +--- + man/pulse-daemon.conf.5.xml.in | 21 +++++++++++++++++++-- + 1 files changed, 19 insertions(+), 2 deletions(-) + +diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in +index b667291..94ee8fa 100644 +--- a/man/pulse-daemon.conf.5.xml.in ++++ b/man/pulse-daemon.conf.5.xml.in +@@ -260,9 +260,9 @@ USA. + + + + + +@@ -289,6 +289,23 @@ USA. + might alter this setting.

+ + ++ ++ ++ ++ ++ ++ + + +
+-- +1.6.0.2 + diff --git a/0012-man-document-that-tsched-doesn-t-use-fragment-setti.patch b/0012-man-document-that-tsched-doesn-t-use-fragment-setti.patch new file mode 100644 index 0000000..3802121 --- /dev/null +++ b/0012-man-document-that-tsched-doesn-t-use-fragment-setti.patch @@ -0,0 +1,26 @@ +From ecb72ee5387c9348dd2dff9cbbfca63bad393f0b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Sun, 7 Jun 2009 00:45:21 +0200 +Subject: [PATCH] man: document that tsched doesn't use fragment settings + +--- + man/pulse-daemon.conf.5.xml.in | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/man/pulse-daemon.conf.5.xml.in b/man/pulse-daemon.conf.5.xml.in +index 94ee8fa..1622f23 100644 +--- a/man/pulse-daemon.conf.5.xml.in ++++ b/man/pulse-daemon.conf.5.xml.in +@@ -413,7 +413,8 @@ USA. + these buffer metrics for machines with high scheduling + latencies. Not all possible values that may be configured here are + available in all hardware. The driver will to find the nearest +- setting supported.

++ setting supported. Modern drivers that support timer-based ++ scheduling ignore these options.

+ +