From d85bdabeb708811db5563c0e3e4c93b212df5d5e Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Wed, 8 Aug 2007 05:40:33 +0000 Subject: [PATCH 001/126] Initial alsa-plugins cvs import --- .cvsignore | 1 + alsa-plugins.spec | 176 ++++++++++++++++++++++++++++++++++++++++++++++ jack.conf | 13 ++++ pcm-oss.conf | 6 ++ pulseaudio.conf | 9 +++ samplerate.conf | 7 ++ sources | 1 + upmix.conf | 6 ++ vdownmix.conf | 11 +++ 9 files changed, 230 insertions(+) create mode 100644 alsa-plugins.spec create mode 100644 jack.conf create mode 100644 pcm-oss.conf create mode 100644 pulseaudio.conf create mode 100644 samplerate.conf create mode 100644 upmix.conf create mode 100644 vdownmix.conf diff --git a/.cvsignore b/.cvsignore index e69de29..10f8af9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +alsa-plugins-1.0.14.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec new file mode 100644 index 0000000..4cb4cfe --- /dev/null +++ b/alsa-plugins.spec @@ -0,0 +1,176 @@ +Name: alsa-plugins +Version: 1.0.14 +Release: 1%{?dist} +Summary: The Advanced Linux Sound Architecture (ALSA) Plugins +# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ +License: GPLv2+ and LGPLv2+ +Group: System Environment/Libraries +URL: http://www.alsa-project.org/ +Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 +Source1: jack.conf +Source2: pcm-oss.conf +Source3: pulseaudio.conf +Source4: samplerate.conf +Source5: upmix.conf +Source6: vdownmix.conf +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: alsa-lib-devel + +%description +The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI +functionality to the Linux operating system. + +This package includes plugins for ALSA. + +%package jack +Requires: jack-audio-connection-kit +BuildRequires: jack-audio-connection-kit-devel +Summary: Jack PCM output plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description jack +This plugin converts the ALSA API over JACK (Jack Audio Connection +Kit, http://jackit.sf.net) API. ALSA native applications can work +transparently together with jackd for both playback and capture. + + ALSA apps (playback) -> ALSA-lib -> JACK plugin -> JACK daemon + ALSA apps (capture) <- ALSA-lib <- JACK plugin <- JACK daemon + +This plugin provides the PCM type "jack" + +%package oss +BuildRequires: alsa-lib-devel +Summary: Oss PCM output plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description oss +This plugin converts the ALSA API over OSS API. With this plugin, +ALSA native apps can run on OSS drivers. + +This plugin provides the PCM type "oss". + +%package pulseaudio +BuildRequires: pulseaudio-lib-devel +Summary: Alsa to PulseAudio backend +Group: System Environment/Libraries +License: LGPLv2+ +%description pulseaudio +This plugin allows any program that uses the ALSA API to access a PulseAudio +sound daemon. In other words, native ALSA applications can play and record +sound across a network. There are two plugins in the suite, one for PCM and +one for mixer control. + +%package samplerate +BuildRequires: libsamplerate-devel +Summary: External rate converter plugin for ALSA +Group: System Environment/Libraries +License: GPLv2+ +%description samplerate +This plugin is an external rate converter using libsamplerate by Erik de +Castro Lopo. + +%package upmix +BuildRequires: libsamplerate-devel +Summary: Upmixer channel expander plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description upmix +The upmix plugin is an easy-to-use plugin for upmixing to 4 or +6-channel stream. The number of channels to be expanded is determined +by the slave PCM or explicitly via channel option. + +%package vdownmix +BuildRequires: libsamplerate-devel +Summary: Downmixer to stereo plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description vdownmix +The vdownmix plugin is a downmixer from 4-6 channels to 2-channel +stereo headphone output. This plugin processes the input signals with +a simple spacialization, so the output sounds like a kind of "virtual +surround". + +%prep +%setup -q -n %{name}-%{version} + +%build +%configure --disable-static \ + --without-speex +make %{?_smp_mflags} + +%install +rm -rf $RPM_BUILD_ROOT +make install DESTDIR=$RPM_BUILD_ROOT + +install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +install -m 644 %SOURCE1 %SOURCE2 %SOURCE3 \ + %SOURCE4 %SOURCE5 %SOURCE6 \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm + +find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; + +# Removing the maemo plugins +find $RPM_BUILD_ROOT \( -name libasound_module_ctl_dsp_ctl.so -o \ + -name libasound_module_pcm_alsa_dsp.so \) -exec rm {} \; + +%clean +rm -rf $RPM_BUILD_ROOT + +%files jack +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/README-jack +%config(noreplace) %{_sysconfdir}/alsa/pcm/jack.conf +%{_libdir}/alsa-lib/libasound_module_pcm_jack.so + +%files oss +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/README-pcm-oss +%config(noreplace) %{_sysconfdir}/alsa/pcm/pcm-oss.conf +%{_libdir}/alsa-lib/libasound_module_ctl_oss.so +%{_libdir}/alsa-lib/libasound_module_pcm_oss.so + +%files pulseaudio +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/README-pulse +%config(noreplace) %{_sysconfdir}/alsa/pcm/pulseaudio.conf +%{_libdir}/alsa-lib/libasound_module_pcm_pulse.so +%{_libdir}/alsa-lib/libasound_module_ctl_pulse.so + +%files samplerate +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/samplerate.txt +%config(noreplace) %{_sysconfdir}/alsa/pcm/samplerate.conf +%{_libdir}/alsa-lib/libasound_module_rate_samplerate.so +%{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so +%{_libdir}/alsa-lib/libasound_module_rate_samplerate_linear.so +%{_libdir}/alsa-lib/libasound_module_rate_samplerate_medium.so +%{_libdir}/alsa-lib/libasound_module_rate_samplerate_order.so + +%files upmix +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/upmix.txt +%config(noreplace) %{_sysconfdir}/alsa/pcm/upmix.conf +%{_libdir}/alsa-lib/libasound_module_pcm_upmix.so + +%files vdownmix +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/vdownmix.txt +%config(noreplace) %{_sysconfdir}/alsa/pcm/vdownmix.conf +%{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so + +%changelog +* Mon Jul 23 2007 Eric Moret - 1.0.14-1 +- update to upstream 1.0.14 +- use configure --without-speex instead of patches to remove a52 + +* Tue Mar 13 2007 Matej Cepl - 1.0.14-0.3.rc2 +- Really remove a52 plugin package (including changes in + configure and configure.in) + +* Thu Feb 15 2007 Eric Moret 1.0.14-0.2.rc2 +- Adding configuration files +- Removing a52 plugin package + +* Wed Jan 10 2007 Eric Moret 1.0.14-0.1.rc2 +- Initial package for Fedora diff --git a/jack.conf b/jack.conf new file mode 100644 index 0000000..3252405 --- /dev/null +++ b/jack.conf @@ -0,0 +1,13 @@ +# The jack plugin configuration + +pcm.jack { + type jack + playback_ports { + 0 alsa_pcm:playback_1 + 1 alsa_pcm:playback_1 + } + capture_ports { + 0 alsa_pcm:capture_1 + 1 alsa_pcm:pcapture_1 + } +} diff --git a/pcm-oss.conf b/pcm-oss.conf new file mode 100644 index 0000000..9607478 --- /dev/null +++ b/pcm-oss.conf @@ -0,0 +1,6 @@ +# pcm-oss plugin configuration + +pcm.oss { + type oss + device /dev/dsp +} diff --git a/pulseaudio.conf b/pulseaudio.conf new file mode 100644 index 0000000..1d1a511 --- /dev/null +++ b/pulseaudio.conf @@ -0,0 +1,9 @@ +# pulseaudio plugin configuration + +pcm.pulse { + type pulse +} + +ctl.pulse { + type pulse +} diff --git a/samplerate.conf b/samplerate.conf new file mode 100644 index 0000000..fde187e --- /dev/null +++ b/samplerate.conf @@ -0,0 +1,7 @@ +# samplerate plugin configuration + +pcm.my_rate { + type rate + slave.pcm "hw" + converter "samplerate" +} diff --git a/sources b/sources index e69de29..32b24ee 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +fa678da6b91c9f3c7204bc8d14e5b53f alsa-plugins-1.0.14.tar.bz2 diff --git a/upmix.conf b/upmix.conf new file mode 100644 index 0000000..a077190 --- /dev/null +++ b/upmix.conf @@ -0,0 +1,6 @@ +# upmix plugin configuration + +pcm.upmix51 { + type upmix + slave.pcm "surround51" +} diff --git a/vdownmix.conf b/vdownmix.conf new file mode 100644 index 0000000..426b354 --- /dev/null +++ b/vdownmix.conf @@ -0,0 +1,11 @@ +# vdownmix plugin configuration + +pcm.!surround51 { + type vdownmix + slave.pcm "default" +} + +pcm.!surround40 { + type vdownmix + slave.pcm "default" +} From 0ee08911a94d1894823370b280bd8cc201bb8ef4 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Wed, 15 Aug 2007 04:36:18 +0000 Subject: [PATCH 002/126] Adding pulse as ALSA "default" pcm and ctl when the alsa-plugins-pulseaudio package is installed, fixing #251943. --- alsa-plugins.spec | 6 +++++- pulseaudio.conf | 12 ++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4cb4cfe..053c09d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.14 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -160,6 +160,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Tue Aug 14 2007 Eric Moret - 1.0.14-2 +- Adding pulse as ALSA "default" pcm and ctl when the alsa-plugins-pulseaudio +package is installed, fixing #251943. + * Mon Jul 23 2007 Eric Moret - 1.0.14-1 - update to upstream 1.0.14 - use configure --without-speex instead of patches to remove a52 diff --git a/pulseaudio.conf b/pulseaudio.conf index 1d1a511..16652e2 100644 --- a/pulseaudio.conf +++ b/pulseaudio.conf @@ -1,9 +1,17 @@ # pulseaudio plugin configuration pcm.pulse { - type pulse + type pulse } ctl.pulse { - type pulse + type pulse +} + +pcm.!default { + type pulse +} + +ctl.!default { + type pulse } From 2eafd7786ab7ceb68f03b88c4ec48503574cd981 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 23 Sep 2007 23:47:00 +0000 Subject: [PATCH 003/126] change PulseAudio buffering metrics to saner defaults --- 1.0.14-buffer-attr.patch | 23 +++++++++++++++++++++++ alsa-plugins.spec | 7 ++++++- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 1.0.14-buffer-attr.patch diff --git a/1.0.14-buffer-attr.patch b/1.0.14-buffer-attr.patch new file mode 100644 index 0000000..155dfd2 --- /dev/null +++ b/1.0.14-buffer-attr.patch @@ -0,0 +1,23 @@ +--- alsa-plugins-1.0.14/pulse/pcm_pulse.c 2007-05-31 10:06:51.000000000 +0200 ++++ alsa-plugins-1.0.14.lennart/pulse/pcm_pulse.c 2007-09-24 01:43:01.000000000 +0200 +@@ -57,7 +57,7 @@ + + if (size > pcm->last_size) { + pcm->ptr += size - pcm->last_size; +- pcm->ptr %= pcm->buffer_attr.maxlength; ++ pcm->ptr %= pcm->buffer_attr.tlength; + } + + pcm->last_size = size; +@@ -533,9 +533,9 @@ + pcm->ss.rate = io->rate; + pcm->ss.channels = io->channels; + +- pcm->buffer_attr.maxlength = io->buffer_size * pcm->frame_size; ++ pcm->buffer_attr.maxlength = (io->buffer_size*3)/2 * pcm->frame_size; + pcm->buffer_attr.tlength = io->buffer_size * pcm->frame_size; +- pcm->buffer_attr.prebuf = io->period_size * pcm->frame_size; ++ pcm->buffer_attr.prebuf = (io->buffer_size-io->period_size) * pcm->frame_size; + pcm->buffer_attr.minreq = io->period_size * pcm->frame_size; + pcm->buffer_attr.fragsize = io->period_size * pcm->frame_size; + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 053c09d..67313ef 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.14 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -13,6 +13,7 @@ Source3: pulseaudio.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf +Patch0: 1.0.14-buffer-attr.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -93,6 +94,7 @@ surround". %prep %setup -q -n %{name}-%{version} +%patch0 -p1 -b .buffer_attr %build %configure --disable-static \ @@ -160,6 +162,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Mon Sep 24 2007 Lennart Poettering - 1.0.14-3 +- Change PulseAudio buffering defaults to more sane values + * Tue Aug 14 2007 Eric Moret - 1.0.14-2 - Adding pulse as ALSA "default" pcm and ctl when the alsa-plugins-pulseaudio package is installed, fixing #251943. From ad57e02a15decb0795724ce56bd7883fef6f3cf8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 1 Oct 2007 19:44:48 +0000 Subject: [PATCH 004/126] properly reflect xrun state back to the application. Required to make xmms work with the pulse plugin for alsa --- 1.0.14-state-xrun.patch | 82 +++++++++++++++++++++++++++++++++++++++++ alsa-plugins.spec | 8 +++- 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 1.0.14-state-xrun.patch diff --git a/1.0.14-state-xrun.patch b/1.0.14-state-xrun.patch new file mode 100644 index 0000000..97b2ad6 --- /dev/null +++ b/1.0.14-state-xrun.patch @@ -0,0 +1,82 @@ +--- alsa-plugins-1.0.14.lennart/pulse/pcm_pulse.c 2007-09-24 01:43:01.000000000 +0200 ++++ alsa-plugins-1.0.14/pulse/pcm_pulse.c 2007-10-01 21:36:53.000000000 +0200 +@@ -36,6 +36,7 @@ + /* Since ALSA expects a ring buffer we must do some voodoo. */ + size_t last_size; + size_t ptr; ++ int underrun; + + size_t offset; + +@@ -90,7 +91,9 @@ + if (err < 0) { + err = -EIO; + goto finish; +- } ++ } else ++ pcm->underrun = 0; ++ + + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); +@@ -200,6 +203,9 @@ + + err = snd_pcm_bytes_to_frames(io->pcm, pcm->ptr); + ++ if (pcm->underrun) ++ err = -EPIPE; ++ + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); + +@@ -231,6 +237,10 @@ + + *delayp = snd_pcm_bytes_to_frames(io->pcm, pa_usec_to_bytes(lat, &pcm->ss)); + ++ /* Yes, this is evil, and we're not supposed to do this. */ ++ if (pcm->underrun && pcm->io.state == SND_PCM_STATE_RUNNING) ++ pcm->io.state = SND_PCM_STATE_XRUN; ++ + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); + +@@ -273,6 +283,7 @@ + pulse_poll_deactivate(pcm->p); + + err = size; ++ pcm->underrun = 0; + + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); +@@ -354,6 +365,15 @@ + pulse_poll_activate(pcm->p); + } + ++static void stream_underrun_cb(pa_stream *p, void *userdata) { ++ snd_pcm_pulse_t *pcm = userdata; ++ ++ assert(pcm); ++ assert(pcm->p); ++ ++ pcm->underrun = 1; ++} ++ + static int pulse_pcm_poll_descriptors_count(snd_pcm_ioplug_t *io) + { + snd_pcm_pulse_t *pcm = io->private_data; +@@ -461,6 +481,7 @@ + + if (io->stream == SND_PCM_STREAM_PLAYBACK) { + pa_stream_set_write_callback(pcm->stream, stream_request_cb, pcm); ++ pa_stream_set_underflow_callback(pcm->stream, stream_underrun_cb, pcm); + pa_stream_connect_playback(pcm->stream, pcm->device, &pcm->buffer_attr, + PA_STREAM_AUTO_TIMING_UPDATE | PA_STREAM_INTERPOLATE_TIMING, NULL, NULL); + } else { +@@ -480,6 +501,7 @@ + pcm->last_size = 0; + pcm->ptr = 0; + pcm->offset = 0; ++ pcm->underrun = 0; + + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 67313ef..f1bf245 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.14 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -14,6 +14,7 @@ Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf Patch0: 1.0.14-buffer-attr.patch +Patch1: 1.0.14-state-xrun.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -95,6 +96,7 @@ surround". %prep %setup -q -n %{name}-%{version} %patch0 -p1 -b .buffer_attr +%patch1 -p1 -b .state_xrun %build %configure --disable-static \ @@ -162,6 +164,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Mon Oct 1 2007 Lennart Poettering - 1.0.14-4 +- In the pulse plugin: reflect the XRUN state back to the application. + Makes XMMS work on top of the alsa plugin. (#307341) + * Mon Sep 24 2007 Lennart Poettering - 1.0.14-3 - Change PulseAudio buffering defaults to more sane values From 92f135587846eb03efc19432be054fe6c3ce6f95 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Wed, 17 Oct 2007 23:02:44 +0000 Subject: [PATCH 005/126] plit pulse.conf into two, so that we can load one part from form /etc/alsa/alsa.conf. (#251943) --- alsa-plugins.spec | 10 +++++++++- pulse-default.conf | 9 +++++++++ pulseaudio.conf | 7 ------- 3 files changed, 18 insertions(+), 8 deletions(-) create mode 100644 pulse-default.conf diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f1bf245..4617d33 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.14 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -13,6 +13,7 @@ Source3: pulseaudio.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf +Source7: pulse-default.conf Patch0: 1.0.14-buffer-attr.patch Patch1: 1.0.14-state-xrun.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) @@ -111,6 +112,8 @@ install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE1 %SOURCE2 %SOURCE3 \ %SOURCE4 %SOURCE5 %SOURCE6 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +install -m 644 %SOURCE7 \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; @@ -138,6 +141,7 @@ rm -rf $RPM_BUILD_ROOT %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pulse %config(noreplace) %{_sysconfdir}/alsa/pcm/pulseaudio.conf +%config(noreplace) %{_sysconfdir}/alsa/pulse-default.conf %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so @@ -164,6 +168,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Wed Oct 17 2007 Lennart Poettering - 1.0.14-5 +- Split pulse.conf into two, so that we can load one part from + form /etc/alsa/alsa.conf. (#251943) + * Mon Oct 1 2007 Lennart Poettering - 1.0.14-4 - In the pulse plugin: reflect the XRUN state back to the application. Makes XMMS work on top of the alsa plugin. (#307341) diff --git a/pulse-default.conf b/pulse-default.conf new file mode 100644 index 0000000..032f87e --- /dev/null +++ b/pulse-default.conf @@ -0,0 +1,9 @@ +# pulseaudio plugin configuration + +pcm.!default { + type pulse +} + +ctl.!default { + type pulse +} diff --git a/pulseaudio.conf b/pulseaudio.conf index 16652e2..f9ccc1f 100644 --- a/pulseaudio.conf +++ b/pulseaudio.conf @@ -8,10 +8,3 @@ ctl.pulse { type pulse } -pcm.!default { - type pulse -} - -ctl.!default { - type pulse -} From c9f36ce3a6fb171abf3301b1639b3be6bd407b3d Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 18 Oct 2007 12:52:05 +0000 Subject: [PATCH 006/126] - Merge the whole /etc/alsa/pcm/pulseaudio.conf stuff into /etc/alsa/pulse-default.conf, because the former is practically always ignored, since it is not referenced for inclusion by any other configuration file fragment (#251943) The other fragments installed in /etc/alsa/pcm/ are useless, too. But since we are in a freeze and they are not that important, I am not fixing this now. --- alsa-plugins.spec | 15 +++++++++++---- pulse-default.conf | 15 ++++++++++++++- pulseaudio.conf | 10 ---------- 3 files changed, 25 insertions(+), 15 deletions(-) delete mode 100644 pulseaudio.conf diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4617d33..74ccc0b 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.14 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -9,7 +9,6 @@ URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Source1: jack.conf Source2: pcm-oss.conf -Source3: pulseaudio.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf @@ -109,7 +108,7 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm -install -m 644 %SOURCE1 %SOURCE2 %SOURCE3 \ +install -m 644 %SOURCE1 %SOURCE2 \ %SOURCE4 %SOURCE5 %SOURCE6 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE7 \ @@ -140,7 +139,6 @@ rm -rf $RPM_BUILD_ROOT %files pulseaudio %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pulse -%config(noreplace) %{_sysconfdir}/alsa/pcm/pulseaudio.conf %config(noreplace) %{_sysconfdir}/alsa/pulse-default.conf %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so @@ -168,6 +166,15 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Thu Oct 18 2007 Lennart Poettering - 1.0.14-6 +- Merge the whole /etc/alsa/pcm/pulseaudio.conf stuff into + /etc/alsa/pulse-default.conf, because the former is practically + always ignored, since it is not referenced for inclusion by any other + configuration file fragment (#251943) + The other fragments installed in /etc/alsa/pcm/ are useless, too. But + since we are in a freeze and they are not that important, I am not fixing + this now. + * Wed Oct 17 2007 Lennart Poettering - 1.0.14-5 - Split pulse.conf into two, so that we can load one part from form /etc/alsa/alsa.conf. (#251943) diff --git a/pulse-default.conf b/pulse-default.conf index 032f87e..d18023a 100644 --- a/pulse-default.conf +++ b/pulse-default.conf @@ -1,4 +1,16 @@ -# pulseaudio plugin configuration +# PulseAudio plugin configuration + +# Let's create a virtual device "pulse" for mixer and PCM + +pcm.pulse { + type pulse +} + +ctl.pulse { + type pulse +} + +# Let's make it the default! pcm.!default { type pulse @@ -7,3 +19,4 @@ pcm.!default { ctl.!default { type pulse } + diff --git a/pulseaudio.conf b/pulseaudio.conf deleted file mode 100644 index f9ccc1f..0000000 --- a/pulseaudio.conf +++ /dev/null @@ -1,10 +0,0 @@ -# pulseaudio plugin configuration - -pcm.pulse { - type pulse -} - -ctl.pulse { - type pulse -} - From 512001cb3e591106341e211bd4d1341ed7b44465 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Sat, 19 Jan 2008 08:00:22 +0000 Subject: [PATCH 007/126] - Update to upstream 1.0.15 (#429249) - Add "Requires: pulseaudio" to alsa-plugins-pulseaudio (#368891) - Fix pulse_hw_params() when state is SND_PCM_STATE_PREPARED (#428030) - run /sbin/ldconfig on post and postun macros --- .cvsignore | 2 +- 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch | 22 ++++++++++++++++++++++ alsa-plugins.spec | 23 ++++++++++++++++++----- sources | 2 +- 4 files changed, 42 insertions(+), 7 deletions(-) create mode 100644 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch diff --git a/.cvsignore b/.cvsignore index 10f8af9..2ebeeb4 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alsa-plugins-1.0.14.tar.bz2 +alsa-plugins-1.0.15.tar.bz2 diff --git a/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch b/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch new file mode 100644 index 0000000..56959d8 --- /dev/null +++ b/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch @@ -0,0 +1,22 @@ +diff -up alsa-plugins-1.0.14/pulse/pcm_pulse.c.pulse alsa-plugins-1.0.14/pulse/pcm_pulse.c +--- alsa-plugins-1.0.14/pulse/pcm_pulse.c.pulse 2008-01-08 09:34:40.000000000 -1000 ++++ alsa-plugins-1.0.14/pulse/pcm_pulse.c 2008-01-08 09:38:25.000000000 -1000 +@@ -512,14 +512,16 @@ finish: + static int pulse_hw_params(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params) + { + snd_pcm_pulse_t *pcm = io->private_data; ++ snd_pcm_t *base = io->pcm; + int err = 0; + + assert(pcm); + assert(pcm->p); + +- pa_threaded_mainloop_lock(pcm->p->mainloop); ++ if (!(base && snd_pcm_state(base) == SND_PCM_STATE_PREPARED)) ++ assert(!pcm->stream); + +- assert(!pcm->stream); ++ pa_threaded_mainloop_lock(pcm->p->mainloop); + + pcm->frame_size = (snd_pcm_format_physical_width(io->format) * io->channels) / 8; + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 74ccc0b..3af2c9f 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins -Version: 1.0.14 -Release: 6%{?dist} +Version: 1.0.15 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -12,9 +12,10 @@ Source2: pcm-oss.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf -Source7: pulse-default.conf -Patch0: 1.0.14-buffer-attr.patch -Patch1: 1.0.14-state-xrun.patch +Source7: pulse-default.conf +Patch0: 1.0.14-buffer-attr.patch +Patch1: 1.0.14-state-xrun.patch +Patch2: 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -54,6 +55,7 @@ This plugin provides the PCM type "oss". %package pulseaudio BuildRequires: pulseaudio-lib-devel +Requires: pulseaudio Summary: Alsa to PulseAudio backend Group: System Environment/Libraries License: LGPLv2+ @@ -97,6 +99,7 @@ surround". %setup -q -n %{name}-%{version} %patch0 -p1 -b .buffer_attr %patch1 -p1 -b .state_xrun +%patch2 -p1 -b .pulse-SND_PCM_STATE_PREPARED %build %configure --disable-static \ @@ -123,6 +126,10 @@ find $RPM_BUILD_ROOT \( -name libasound_module_ctl_dsp_ctl.so -o \ %clean rm -rf $RPM_BUILD_ROOT +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + %files jack %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-jack @@ -166,6 +173,12 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Fri Jan 18 2008 Eric Moret - 1.0.15-1 +- Update to upstream 1.0.15 (#429249) +- Add "Requires: pulseaudio" to alsa-plugins-pulseaudio (#368891) +- Fix pulse_hw_params() when state is SND_PCM_STATE_PREPARED (#428030) +- run /sbin/ldconfig on post and postun macros + * Thu Oct 18 2007 Lennart Poettering - 1.0.14-6 - Merge the whole /etc/alsa/pcm/pulseaudio.conf stuff into /etc/alsa/pulse-default.conf, because the former is practically diff --git a/sources b/sources index 32b24ee..84280ff 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fa678da6b91c9f3c7204bc8d14e5b53f alsa-plugins-1.0.14.tar.bz2 +908c2dd7ec33bc8e1fcd5e92c7e5e125 alsa-plugins-1.0.15.tar.bz2 From 4aa1ad6e24d2d4c8072cf2b48b73495888b9b287 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Sat, 19 Jan 2008 08:39:41 +0000 Subject: [PATCH 008/126] Release update --- alsa-plugins.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 3af2c9f..fa147f7 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.15 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -173,7 +173,7 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog -* Fri Jan 18 2008 Eric Moret - 1.0.15-1 +* Fri Jan 18 2008 Eric Moret - 1.0.15-2 - Update to upstream 1.0.15 (#429249) - Add "Requires: pulseaudio" to alsa-plugins-pulseaudio (#368891) - Fix pulse_hw_params() when state is SND_PCM_STATE_PREPARED (#428030) From 11a4b89d88f3d07a2fcf3870f1444b83a4fa221d Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 19 Feb 2008 02:28:00 +0000 Subject: [PATCH 009/126] - Autorebuild for GCC 4.3 --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index fa147f7..6fd612e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.15 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -173,6 +173,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Mon Feb 18 2008 Fedora Release Engineering - 1.0.15-3 +- Autorebuild for GCC 4.3 + * Fri Jan 18 2008 Eric Moret - 1.0.15-2 - Update to upstream 1.0.15 (#429249) - Add "Requires: pulseaudio" to alsa-plugins-pulseaudio (#368891) From 81d834b1a6ed5083f4f627407ade24fa5537374a Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 4 Mar 2008 18:16:56 +0000 Subject: [PATCH 010/126] Be a bit more verbose --- alsa-plugins-1.0.15-pulsehint.patch | 14 ++++++++++++++ alsa-plugins.spec | 8 +++++++- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 alsa-plugins-1.0.15-pulsehint.patch diff --git a/alsa-plugins-1.0.15-pulsehint.patch b/alsa-plugins-1.0.15-pulsehint.patch new file mode 100644 index 0000000..1a7c990 --- /dev/null +++ b/alsa-plugins-1.0.15-pulsehint.patch @@ -0,0 +1,14 @@ +--- alsa-plugins-1.0.15/pulse/pulse.c.orig 2008-03-04 18:56:22.000000000 +0100 ++++ alsa-plugins-1.0.15/pulse/pulse.c 2008-03-04 18:58:33.000000000 +0100 +@@ -204,7 +204,10 @@ int pulse_connect(snd_pulse_t *p, const + return 0; + + error: +- fprintf(stderr, "*** PULSEAUDIO: Unable to connect: %s\n", ++ fprintf(stderr, ++ "*** PULSEAUDIO: Unable to connect: %s\n" ++ "*** Is your sound server running?\n" ++ "*** See: http://www.pulseaudio.org/wiki/Troubleshooting\n", + pa_strerror(pa_context_errno(p->context))); + + pa_threaded_mainloop_unlock(p->mainloop); diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 6fd612e..56408f5 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.15 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -16,6 +16,7 @@ Source7: pulse-default.conf Patch0: 1.0.14-buffer-attr.patch Patch1: 1.0.14-state-xrun.patch Patch2: 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch +Patch3: alsa-plugins-1.0.15-pulsehint.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -100,6 +101,7 @@ surround". %patch0 -p1 -b .buffer_attr %patch1 -p1 -b .state_xrun %patch2 -p1 -b .pulse-SND_PCM_STATE_PREPARED +%patch3 -p1 -b .pulsehint %build %configure --disable-static \ @@ -173,6 +175,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Tue Mar 04 2008 Lubomir Kundrak - 1.0.15-4 +- Be more heplful when there's PulseAudio trouble. +- This may save us some bogus bug reports + * Mon Feb 18 2008 Fedora Release Engineering - 1.0.15-3 - Autorebuild for GCC 4.3 From 811cb8f3ff2fef11e6fedf96f53f363cbe319b25 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sat, 8 Mar 2008 15:00:45 +0000 Subject: [PATCH 011/126] Fix pidgin crash --- .cvsignore | 2 +- 1.0.14-buffer-attr.patch | 23 ------- 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch | 22 ------ 1.0.14-state-xrun.patch | 82 ----------------------- alsa-plugins-1.0.16-pulseclose.patch | 22 ++++++ alsa-plugins.spec | 16 ++--- sources | 2 +- 7 files changed, 32 insertions(+), 137 deletions(-) delete mode 100644 1.0.14-buffer-attr.patch delete mode 100644 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch delete mode 100644 1.0.14-state-xrun.patch create mode 100644 alsa-plugins-1.0.16-pulseclose.patch diff --git a/.cvsignore b/.cvsignore index 2ebeeb4..0cfb126 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alsa-plugins-1.0.15.tar.bz2 +alsa-plugins-1.0.16.tar.bz2 diff --git a/1.0.14-buffer-attr.patch b/1.0.14-buffer-attr.patch deleted file mode 100644 index 155dfd2..0000000 --- a/1.0.14-buffer-attr.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- alsa-plugins-1.0.14/pulse/pcm_pulse.c 2007-05-31 10:06:51.000000000 +0200 -+++ alsa-plugins-1.0.14.lennart/pulse/pcm_pulse.c 2007-09-24 01:43:01.000000000 +0200 -@@ -57,7 +57,7 @@ - - if (size > pcm->last_size) { - pcm->ptr += size - pcm->last_size; -- pcm->ptr %= pcm->buffer_attr.maxlength; -+ pcm->ptr %= pcm->buffer_attr.tlength; - } - - pcm->last_size = size; -@@ -533,9 +533,9 @@ - pcm->ss.rate = io->rate; - pcm->ss.channels = io->channels; - -- pcm->buffer_attr.maxlength = io->buffer_size * pcm->frame_size; -+ pcm->buffer_attr.maxlength = (io->buffer_size*3)/2 * pcm->frame_size; - pcm->buffer_attr.tlength = io->buffer_size * pcm->frame_size; -- pcm->buffer_attr.prebuf = io->period_size * pcm->frame_size; -+ pcm->buffer_attr.prebuf = (io->buffer_size-io->period_size) * pcm->frame_size; - pcm->buffer_attr.minreq = io->period_size * pcm->frame_size; - pcm->buffer_attr.fragsize = io->period_size * pcm->frame_size; - diff --git a/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch b/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch deleted file mode 100644 index 56959d8..0000000 --- a/1.0.14-pulse-SND_PCM_STATE_PREPARED.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up alsa-plugins-1.0.14/pulse/pcm_pulse.c.pulse alsa-plugins-1.0.14/pulse/pcm_pulse.c ---- alsa-plugins-1.0.14/pulse/pcm_pulse.c.pulse 2008-01-08 09:34:40.000000000 -1000 -+++ alsa-plugins-1.0.14/pulse/pcm_pulse.c 2008-01-08 09:38:25.000000000 -1000 -@@ -512,14 +512,16 @@ finish: - static int pulse_hw_params(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params) - { - snd_pcm_pulse_t *pcm = io->private_data; -+ snd_pcm_t *base = io->pcm; - int err = 0; - - assert(pcm); - assert(pcm->p); - -- pa_threaded_mainloop_lock(pcm->p->mainloop); -+ if (!(base && snd_pcm_state(base) == SND_PCM_STATE_PREPARED)) -+ assert(!pcm->stream); - -- assert(!pcm->stream); -+ pa_threaded_mainloop_lock(pcm->p->mainloop); - - pcm->frame_size = (snd_pcm_format_physical_width(io->format) * io->channels) / 8; - diff --git a/1.0.14-state-xrun.patch b/1.0.14-state-xrun.patch deleted file mode 100644 index 97b2ad6..0000000 --- a/1.0.14-state-xrun.patch +++ /dev/null @@ -1,82 +0,0 @@ ---- alsa-plugins-1.0.14.lennart/pulse/pcm_pulse.c 2007-09-24 01:43:01.000000000 +0200 -+++ alsa-plugins-1.0.14/pulse/pcm_pulse.c 2007-10-01 21:36:53.000000000 +0200 -@@ -36,6 +36,7 @@ - /* Since ALSA expects a ring buffer we must do some voodoo. */ - size_t last_size; - size_t ptr; -+ int underrun; - - size_t offset; - -@@ -90,7 +91,9 @@ - if (err < 0) { - err = -EIO; - goto finish; -- } -+ } else -+ pcm->underrun = 0; -+ - - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); -@@ -200,6 +203,9 @@ - - err = snd_pcm_bytes_to_frames(io->pcm, pcm->ptr); - -+ if (pcm->underrun) -+ err = -EPIPE; -+ - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); - -@@ -231,6 +237,10 @@ - - *delayp = snd_pcm_bytes_to_frames(io->pcm, pa_usec_to_bytes(lat, &pcm->ss)); - -+ /* Yes, this is evil, and we're not supposed to do this. */ -+ if (pcm->underrun && pcm->io.state == SND_PCM_STATE_RUNNING) -+ pcm->io.state = SND_PCM_STATE_XRUN; -+ - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); - -@@ -273,6 +283,7 @@ - pulse_poll_deactivate(pcm->p); - - err = size; -+ pcm->underrun = 0; - - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); -@@ -354,6 +365,15 @@ - pulse_poll_activate(pcm->p); - } - -+static void stream_underrun_cb(pa_stream *p, void *userdata) { -+ snd_pcm_pulse_t *pcm = userdata; -+ -+ assert(pcm); -+ assert(pcm->p); -+ -+ pcm->underrun = 1; -+} -+ - static int pulse_pcm_poll_descriptors_count(snd_pcm_ioplug_t *io) - { - snd_pcm_pulse_t *pcm = io->private_data; -@@ -461,6 +481,7 @@ - - if (io->stream == SND_PCM_STREAM_PLAYBACK) { - pa_stream_set_write_callback(pcm->stream, stream_request_cb, pcm); -+ pa_stream_set_underflow_callback(pcm->stream, stream_underrun_cb, pcm); - pa_stream_connect_playback(pcm->stream, pcm->device, &pcm->buffer_attr, - PA_STREAM_AUTO_TIMING_UPDATE | PA_STREAM_INTERPOLATE_TIMING, NULL, NULL); - } else { -@@ -480,6 +501,7 @@ - pcm->last_size = 0; - pcm->ptr = 0; - pcm->offset = 0; -+ pcm->underrun = 0; - - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); diff --git a/alsa-plugins-1.0.16-pulseclose.patch b/alsa-plugins-1.0.16-pulseclose.patch new file mode 100644 index 0000000..e023081 --- /dev/null +++ b/alsa-plugins-1.0.16-pulseclose.patch @@ -0,0 +1,22 @@ +If stream connection failes, don't assume that stream is connected upon closing. + +diff -urp alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c alsa-plugins-1.0.16/pulse/pcm_pulse.c +--- alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/pulse/pcm_pulse.c 2008-03-08 14:33:43.000000000 +0100 +@@ -112,12 +112,14 @@ static int pulse_stop(snd_pcm_ioplug_t * + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- assert(pcm->stream); +- + err = pulse_check_connection(pcm->p); + if (err < 0) + goto finish; + ++ /* If stream connection fails, this gets called anyway */ ++ if (pcm->stream == NULL) ++ goto finish; ++ + o = pa_stream_flush(pcm->stream, pulse_stream_success_cb, pcm->p); + assert(o); + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 56408f5..02a915e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins -Version: 1.0.15 -Release: 4%{?dist} +Version: 1.0.16 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -13,10 +13,8 @@ Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf -Patch0: 1.0.14-buffer-attr.patch -Patch1: 1.0.14-state-xrun.patch -Patch2: 1.0.14-pulse-SND_PCM_STATE_PREPARED.patch Patch3: alsa-plugins-1.0.15-pulsehint.patch +Patch4: alsa-plugins-1.0.16-pulseclose.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -98,10 +96,8 @@ surround". %prep %setup -q -n %{name}-%{version} -%patch0 -p1 -b .buffer_attr -%patch1 -p1 -b .state_xrun -%patch2 -p1 -b .pulse-SND_PCM_STATE_PREPARED %patch3 -p1 -b .pulsehint +%patch4 -p1 -b .pulseclose %build %configure --disable-static \ @@ -175,6 +171,10 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Sat Mar 08 2008 Lubomir Kundrak - 1.0.16-1 +- New upstream, dropping upstreamed patches +- Do not assert fail when pulseaudio is unavailable (#435148) + * Tue Mar 04 2008 Lubomir Kundrak - 1.0.15-4 - Be more heplful when there's PulseAudio trouble. - This may save us some bogus bug reports diff --git a/sources b/sources index 84280ff..58987a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -908c2dd7ec33bc8e1fcd5e92c7e5e125 alsa-plugins-1.0.15.tar.bz2 +5906aff0d0dc84dee9624d395db4cfc6 alsa-plugins-1.0.16.tar.bz2 From 1a7b8879e5027c1bad2561f335da57660c2f139b Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Sun, 9 Mar 2008 15:50:49 +0000 Subject: [PATCH 012/126] - Add descriptions to various PCM plugins, so they're visible in aplay -L --- alsa-plugins.spec | 5 ++++- jack.conf | 4 ++++ pcm-oss.conf | 3 +++ pulse-default.conf | 13 +++++++++++++ samplerate.conf | 4 ++++ upmix.conf | 4 ++++ vdownmix.conf | 7 +++++++ 7 files changed, 39 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 02a915e..de748e4 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.16 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -171,6 +171,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Sun Mar 09 2008 Lubomir Kundrak - 1.0.16-2 +- Add descriptions to various PCM plugins, so they're visible in aplay -L + * Sat Mar 08 2008 Lubomir Kundrak - 1.0.16-1 - New upstream, dropping upstreamed patches - Do not assert fail when pulseaudio is unavailable (#435148) diff --git a/jack.conf b/jack.conf index 3252405..e5518ee 100644 --- a/jack.conf +++ b/jack.conf @@ -1,4 +1,5 @@ # The jack plugin configuration +# $Id: jack.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ pcm.jack { type jack @@ -10,4 +11,7 @@ pcm.jack { 0 alsa_pcm:capture_1 1 alsa_pcm:pcapture_1 } + hint { + description "JACK Audio Connection Kit" + } } diff --git a/pcm-oss.conf b/pcm-oss.conf index 9607478..b5aac44 100644 --- a/pcm-oss.conf +++ b/pcm-oss.conf @@ -3,4 +3,7 @@ pcm.oss { type oss device /dev/dsp + hint { + description "Open Sound System" + } } diff --git a/pulse-default.conf b/pulse-default.conf index d18023a..a84bede 100644 --- a/pulse-default.conf +++ b/pulse-default.conf @@ -1,22 +1,35 @@ # PulseAudio plugin configuration +# $Id$ # Let's create a virtual device "pulse" for mixer and PCM pcm.pulse { type pulse + hint { + description "PulseAudio Sound Server" + } } ctl.pulse { type pulse + hint { + description "PulseAudio Sound Server" + } } # Let's make it the default! pcm.!default { type pulse + hint { + description "Default" + } } ctl.!default { type pulse + hint { + description "Default" + } } diff --git a/samplerate.conf b/samplerate.conf index fde187e..8bf7b9a 100644 --- a/samplerate.conf +++ b/samplerate.conf @@ -1,7 +1,11 @@ # samplerate plugin configuration +# $Id: samplerate.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ pcm.my_rate { type rate slave.pcm "hw" converter "samplerate" + hint { + description "External rate converter" + } } diff --git a/upmix.conf b/upmix.conf index a077190..e15055e 100644 --- a/upmix.conf +++ b/upmix.conf @@ -1,6 +1,10 @@ # upmix plugin configuration +# $Id: upmix.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ pcm.upmix51 { type upmix slave.pcm "surround51" + hint { + description "Upmixer channel expander" + } } diff --git a/vdownmix.conf b/vdownmix.conf index 426b354..95786b8 100644 --- a/vdownmix.conf +++ b/vdownmix.conf @@ -1,11 +1,18 @@ # vdownmix plugin configuration +# $Id$ pcm.!surround51 { type vdownmix slave.pcm "default" + hint { + description "Downmixer to stereo from surround51" + } } pcm.!surround40 { type vdownmix slave.pcm "default" + hint { + description "Downmixer to stereo from surround40" + } } From 94ce5a56a92c97ae642925dd44ac6beb6dfc82dc Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Wed, 19 Mar 2008 20:01:04 +0000 Subject: [PATCH 013/126] Fix jack.conf --- alsa-plugins.spec | 5 ++++- jack.conf | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index de748e4..7faa56e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.16 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -171,6 +171,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Wed Mar 19 2008 Eric Moret - 1.0.16-3 +- Fixing jack.conf (#435343) + * Sun Mar 09 2008 Lubomir Kundrak - 1.0.16-2 - Add descriptions to various PCM plugins, so they're visible in aplay -L diff --git a/jack.conf b/jack.conf index e5518ee..e74f5fc 100644 --- a/jack.conf +++ b/jack.conf @@ -1,15 +1,15 @@ # The jack plugin configuration -# $Id: jack.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ +# $Id: jack.conf,v 1.3 2008/03/19 20:01:04 emoret Exp $ pcm.jack { type jack playback_ports { 0 alsa_pcm:playback_1 - 1 alsa_pcm:playback_1 + 1 alsa_pcm:playback_2 } capture_ports { 0 alsa_pcm:capture_1 - 1 alsa_pcm:pcapture_1 + 1 alsa_pcm:capture_2 } hint { description "JACK Audio Connection Kit" From c2f95f94298a5885eb75053cfc4ba4c1f5cae674 Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Tue, 25 Mar 2008 08:50:07 +0000 Subject: [PATCH 014/126] fix the hint --- alsa-plugins-1.0.16-hints.patch | 123 ++++++++++++++++++++++++++++++++ alsa-plugins.spec | 7 +- 2 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 alsa-plugins-1.0.16-hints.patch diff --git a/alsa-plugins-1.0.16-hints.patch b/alsa-plugins-1.0.16-hints.patch new file mode 100644 index 0000000..314eb32 --- /dev/null +++ b/alsa-plugins-1.0.16-hints.patch @@ -0,0 +1,123 @@ +Ignore hint sections defined by hand. +Those are heplful to get listed in various places, such as aplay -L + +diff -urp alsa-plugins-1.0.16.orig/a52/pcm_a52.c alsa-plugins-1.0.16/a52/pcm_a52.c +--- alsa-plugins-1.0.16.orig/a52/pcm_a52.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/a52/pcm_a52.c 2008-03-09 17:16:37.000000000 +0100 +@@ -581,7 +581,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "card") == 0) { + if (snd_config_get_string(n, &card) < 0) { +diff -urp alsa-plugins-1.0.16.orig/jack/pcm_jack.c alsa-plugins-1.0.16/jack/pcm_jack.c +--- alsa-plugins-1.0.16.orig/jack/pcm_jack.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/jack/pcm_jack.c 2008-03-09 17:16:48.000000000 +0100 +@@ -403,7 +403,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(jack) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "playback_ports") == 0) { + if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) { +diff -urp alsa-plugins-1.0.16.orig/maemo/alsa-dsp.c alsa-plugins-1.0.16/maemo/alsa-dsp.c +--- alsa-plugins-1.0.16.orig/maemo/alsa-dsp.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/maemo/alsa-dsp.c 2008-03-09 17:17:01.000000000 +0100 +@@ -664,7 +664,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(alsa_dsp) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "playback_device_file") == 0) { + if (snd_config_get_type(n) == SND_CONFIG_TYPE_COMPOUND){ +diff -urp alsa-plugins-1.0.16.orig/maemo/dsp-ctl.c alsa-plugins-1.0.16/maemo/dsp-ctl.c +--- alsa-plugins-1.0.16.orig/maemo/dsp-ctl.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/maemo/dsp-ctl.c 2008-03-09 17:17:10.000000000 +0100 +@@ -545,7 +545,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(dsp_ctl) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "playback_devices") == 0) { + if (snd_config_get_type(n) == SND_CONFIG_TYPE_COMPOUND){ +diff -urp alsa-plugins-1.0.16.orig/mix/pcm_upmix.c alsa-plugins-1.0.16/mix/pcm_upmix.c +--- alsa-plugins-1.0.16.orig/mix/pcm_upmix.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/mix/pcm_upmix.c 2008-03-09 17:17:23.000000000 +0100 +@@ -338,7 +338,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(upmix) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "slave") == 0) { + sconf = n; +diff -urp alsa-plugins-1.0.16.orig/mix/pcm_vdownmix.c alsa-plugins-1.0.16/mix/pcm_vdownmix.c +--- alsa-plugins-1.0.16.orig/mix/pcm_vdownmix.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/mix/pcm_vdownmix.c 2008-03-09 17:17:32.000000000 +0100 +@@ -295,7 +295,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(vdownmix) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "slave") == 0) { + sconf = n; +diff -urp alsa-plugins-1.0.16.orig/oss/ctl_oss.c alsa-plugins-1.0.16/oss/ctl_oss.c +--- alsa-plugins-1.0.16.orig/oss/ctl_oss.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/oss/ctl_oss.c 2008-03-09 17:17:38.000000000 +0100 +@@ -357,7 +357,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "device") == 0) { + if (snd_config_get_string(n, &device) < 0) { +diff -urp alsa-plugins-1.0.16.orig/oss/pcm_oss.c alsa-plugins-1.0.16/oss/pcm_oss.c +--- alsa-plugins-1.0.16.orig/oss/pcm_oss.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/oss/pcm_oss.c 2008-03-09 17:17:45.000000000 +0100 +@@ -364,7 +364,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "device") == 0) { + if (snd_config_get_string(n, &device) < 0) { +diff -urp alsa-plugins-1.0.16.orig/pulse/ctl_pulse.c alsa-plugins-1.0.16/pulse/ctl_pulse.c +--- alsa-plugins-1.0.16.orig/pulse/ctl_pulse.c 2008-02-05 10:25:00.000000000 +0100 ++++ alsa-plugins-1.0.16/pulse/ctl_pulse.c 2008-03-09 17:17:50.000000000 +0100 +@@ -599,7 +599,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(pulse) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "server") == 0) { + if (snd_config_get_string(n, &server) < 0) { +diff -urp alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c alsa-plugins-1.0.16/pulse/pcm_pulse.c +--- alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c 2008-03-09 17:12:32.000000000 +0100 ++++ alsa-plugins-1.0.16/pulse/pcm_pulse.c 2008-03-09 17:15:41.000000000 +0100 +@@ -705,7 +705,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(pulse) + const char *id; + if (snd_config_get_id(n, &id) < 0) + continue; +- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) ++ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) + continue; + if (strcmp(id, "server") == 0) { + if (snd_config_get_string(n, &server) < 0) { diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 7faa56e..567673e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.16 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -15,6 +15,7 @@ Source6: vdownmix.conf Source7: pulse-default.conf Patch3: alsa-plugins-1.0.15-pulsehint.patch Patch4: alsa-plugins-1.0.16-pulseclose.patch +Patch5: alsa-plugins-1.0.16-hints.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -98,6 +99,7 @@ surround". %setup -q -n %{name}-%{version} %patch3 -p1 -b .pulsehint %patch4 -p1 -b .pulseclose +%patch5 -p1 -b .hints %build %configure --disable-static \ @@ -171,6 +173,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Tue Mar 25 2008 Lubomir Kundrak - 1.0.16-4 +- Kind of fix the plugins not to complain about the hints + * Wed Mar 19 2008 Eric Moret - 1.0.16-3 - Fixing jack.conf (#435343) From 680a455dddc39bc2f4aa34df70c1e24def39bc5b Mon Sep 17 00:00:00 2001 From: perex Date: Mon, 21 Jul 2008 15:00:49 +0000 Subject: [PATCH 015/126] alsa-plugins: updated to 1.0.17 final --- .cvsignore | 1 + alsa-plugins-1.0.16-hints.patch | 123 --------------------------- alsa-plugins-1.0.16-pulseclose.patch | 22 ----- alsa-plugins.spec | 11 ++- sources | 2 +- 5 files changed, 7 insertions(+), 152 deletions(-) delete mode 100644 alsa-plugins-1.0.16-hints.patch delete mode 100644 alsa-plugins-1.0.16-pulseclose.patch diff --git a/.cvsignore b/.cvsignore index 0cfb126..6755293 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ alsa-plugins-1.0.16.tar.bz2 +alsa-plugins-1.0.17.tar.bz2 diff --git a/alsa-plugins-1.0.16-hints.patch b/alsa-plugins-1.0.16-hints.patch deleted file mode 100644 index 314eb32..0000000 --- a/alsa-plugins-1.0.16-hints.patch +++ /dev/null @@ -1,123 +0,0 @@ -Ignore hint sections defined by hand. -Those are heplful to get listed in various places, such as aplay -L - -diff -urp alsa-plugins-1.0.16.orig/a52/pcm_a52.c alsa-plugins-1.0.16/a52/pcm_a52.c ---- alsa-plugins-1.0.16.orig/a52/pcm_a52.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/a52/pcm_a52.c 2008-03-09 17:16:37.000000000 +0100 -@@ -581,7 +581,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "card") == 0) { - if (snd_config_get_string(n, &card) < 0) { -diff -urp alsa-plugins-1.0.16.orig/jack/pcm_jack.c alsa-plugins-1.0.16/jack/pcm_jack.c ---- alsa-plugins-1.0.16.orig/jack/pcm_jack.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/jack/pcm_jack.c 2008-03-09 17:16:48.000000000 +0100 -@@ -403,7 +403,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(jack) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "playback_ports") == 0) { - if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) { -diff -urp alsa-plugins-1.0.16.orig/maemo/alsa-dsp.c alsa-plugins-1.0.16/maemo/alsa-dsp.c ---- alsa-plugins-1.0.16.orig/maemo/alsa-dsp.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/maemo/alsa-dsp.c 2008-03-09 17:17:01.000000000 +0100 -@@ -664,7 +664,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(alsa_dsp) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "playback_device_file") == 0) { - if (snd_config_get_type(n) == SND_CONFIG_TYPE_COMPOUND){ -diff -urp alsa-plugins-1.0.16.orig/maemo/dsp-ctl.c alsa-plugins-1.0.16/maemo/dsp-ctl.c ---- alsa-plugins-1.0.16.orig/maemo/dsp-ctl.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/maemo/dsp-ctl.c 2008-03-09 17:17:10.000000000 +0100 -@@ -545,7 +545,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(dsp_ctl) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "playback_devices") == 0) { - if (snd_config_get_type(n) == SND_CONFIG_TYPE_COMPOUND){ -diff -urp alsa-plugins-1.0.16.orig/mix/pcm_upmix.c alsa-plugins-1.0.16/mix/pcm_upmix.c ---- alsa-plugins-1.0.16.orig/mix/pcm_upmix.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/mix/pcm_upmix.c 2008-03-09 17:17:23.000000000 +0100 -@@ -338,7 +338,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(upmix) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "slave") == 0) { - sconf = n; -diff -urp alsa-plugins-1.0.16.orig/mix/pcm_vdownmix.c alsa-plugins-1.0.16/mix/pcm_vdownmix.c ---- alsa-plugins-1.0.16.orig/mix/pcm_vdownmix.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/mix/pcm_vdownmix.c 2008-03-09 17:17:32.000000000 +0100 -@@ -295,7 +295,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(vdownmix) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "slave") == 0) { - sconf = n; -diff -urp alsa-plugins-1.0.16.orig/oss/ctl_oss.c alsa-plugins-1.0.16/oss/ctl_oss.c ---- alsa-plugins-1.0.16.orig/oss/ctl_oss.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/oss/ctl_oss.c 2008-03-09 17:17:38.000000000 +0100 -@@ -357,7 +357,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(oss) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "device") == 0) { - if (snd_config_get_string(n, &device) < 0) { -diff -urp alsa-plugins-1.0.16.orig/oss/pcm_oss.c alsa-plugins-1.0.16/oss/pcm_oss.c ---- alsa-plugins-1.0.16.orig/oss/pcm_oss.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/oss/pcm_oss.c 2008-03-09 17:17:45.000000000 +0100 -@@ -364,7 +364,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "device") == 0) { - if (snd_config_get_string(n, &device) < 0) { -diff -urp alsa-plugins-1.0.16.orig/pulse/ctl_pulse.c alsa-plugins-1.0.16/pulse/ctl_pulse.c ---- alsa-plugins-1.0.16.orig/pulse/ctl_pulse.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/pulse/ctl_pulse.c 2008-03-09 17:17:50.000000000 +0100 -@@ -599,7 +599,7 @@ SND_CTL_PLUGIN_DEFINE_FUNC(pulse) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "server") == 0) { - if (snd_config_get_string(n, &server) < 0) { -diff -urp alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c alsa-plugins-1.0.16/pulse/pcm_pulse.c ---- alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c 2008-03-09 17:12:32.000000000 +0100 -+++ alsa-plugins-1.0.16/pulse/pcm_pulse.c 2008-03-09 17:15:41.000000000 +0100 -@@ -705,7 +705,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(pulse) - const char *id; - if (snd_config_get_id(n, &id) < 0) - continue; -- if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0) -+ if (strcmp(id, "comment") == 0 || strcmp(id, "type") == 0 || strcmp(id, "hint") == 0) - continue; - if (strcmp(id, "server") == 0) { - if (snd_config_get_string(n, &server) < 0) { diff --git a/alsa-plugins-1.0.16-pulseclose.patch b/alsa-plugins-1.0.16-pulseclose.patch deleted file mode 100644 index e023081..0000000 --- a/alsa-plugins-1.0.16-pulseclose.patch +++ /dev/null @@ -1,22 +0,0 @@ -If stream connection failes, don't assume that stream is connected upon closing. - -diff -urp alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c alsa-plugins-1.0.16/pulse/pcm_pulse.c ---- alsa-plugins-1.0.16.orig/pulse/pcm_pulse.c 2008-02-05 10:25:00.000000000 +0100 -+++ alsa-plugins-1.0.16/pulse/pcm_pulse.c 2008-03-08 14:33:43.000000000 +0100 -@@ -112,12 +112,14 @@ static int pulse_stop(snd_pcm_ioplug_t * - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- assert(pcm->stream); -- - err = pulse_check_connection(pcm->p); - if (err < 0) - goto finish; - -+ /* If stream connection fails, this gets called anyway */ -+ if (pcm->stream == NULL) -+ goto finish; -+ - o = pa_stream_flush(pcm->stream, pulse_stream_success_cb, pcm->p); - assert(o); - diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 567673e..4daec4f 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins -Version: 1.0.16 -Release: 4%{?dist} +Version: 1.0.17 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -14,8 +14,6 @@ Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf Patch3: alsa-plugins-1.0.15-pulsehint.patch -Patch4: alsa-plugins-1.0.16-pulseclose.patch -Patch5: alsa-plugins-1.0.16-hints.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -98,8 +96,6 @@ surround". %prep %setup -q -n %{name}-%{version} %patch3 -p1 -b .pulsehint -%patch4 -p1 -b .pulseclose -%patch5 -p1 -b .hints %build %configure --disable-static \ @@ -173,6 +169,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %changelog +* Mon Jul 21 2008 Jaroslav Kysela - 1.0.17-1 +- Updated to 1.0.17 + * Tue Mar 25 2008 Lubomir Kundrak - 1.0.16-4 - Kind of fix the plugins not to complain about the hints diff --git a/sources b/sources index 58987a1..caac122 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -5906aff0d0dc84dee9624d395db4cfc6 alsa-plugins-1.0.16.tar.bz2 +f37d0b2b19dfbe215144941ab8bb6e49 alsa-plugins-1.0.17.tar.bz2 From 140af36518d2ec06e00425e34ddd98f6eb707a8a Mon Sep 17 00:00:00 2001 From: perex Date: Mon, 21 Jul 2008 15:22:39 +0000 Subject: [PATCH 016/126] alsa-plugins: added conf_pulse module, added recent fixes from ALSA GIT tree --- alsa-plugins-1.0.17-pulsenoassert.patch | 72 ++++++++++++++++++++++ alsa-plugins-1.0.17-pulsetrigger.patch | 79 +++++++++++++++++++++++++ alsa-plugins.spec | 5 ++ 3 files changed, 156 insertions(+) create mode 100644 alsa-plugins-1.0.17-pulsenoassert.patch create mode 100644 alsa-plugins-1.0.17-pulsetrigger.patch diff --git a/alsa-plugins-1.0.17-pulsenoassert.patch b/alsa-plugins-1.0.17-pulsenoassert.patch new file mode 100644 index 0000000..ff736b7 --- /dev/null +++ b/alsa-plugins-1.0.17-pulsenoassert.patch @@ -0,0 +1,72 @@ +From cf23b804e022e6d9c0e1894fed887a735963a127 Mon Sep 17 00:00:00 2001 +From: Takashi Iwai +Date: Wed, 16 Jul 2008 15:15:42 +0200 +Subject: [PATCH] pulse - Returns errors instead of assert() + +Some sanity checks in pcm_pulse.c with assert() causes the program to +abort unexpectedly when the pulseaudio daemon is dead. This is +suboptimal. Examples: + https://bugzilla.novell.com/show_bug.cgi?id=409532 + +Now fixed to return an error instead. + +Signed-off-by: Takashi Iwai +--- + pulse/pcm_pulse.c | 20 ++++++++++++++++---- + 1 files changed, 16 insertions(+), 4 deletions(-) + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index e4a6232..efff509 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -83,7 +83,10 @@ static int pulse_start(snd_pcm_ioplug_t *io) + goto finish; + + o = pa_stream_cork(pcm->stream, 0, pulse_stream_success_cb, pcm->p); +- assert(o); ++ if (!o) { ++ err = -EIO; ++ goto finish; ++ } + + err = pulse_wait_operation(pcm->p, o); + +@@ -122,7 +125,10 @@ static int pulse_stop(snd_pcm_ioplug_t *io) + goto finish; + + o = pa_stream_flush(pcm->stream, pulse_stream_success_cb, pcm->p); +- assert(o); ++ if (!o) { ++ err = -EIO; ++ goto finish; ++ } + + err = pulse_wait_operation(pcm->p, o); + +@@ -134,7 +140,10 @@ static int pulse_stop(snd_pcm_ioplug_t *io) + } + + o = pa_stream_cork(pcm->stream, 1, pulse_stream_success_cb, pcm->p); +- assert(o); ++ if (!o) { ++ err = -EIO; ++ goto finish; ++ } + + err = pulse_wait_operation(pcm->p, o); + +@@ -169,7 +178,10 @@ int pulse_drain(snd_pcm_ioplug_t *io) + goto finish; + + o = pa_stream_drain(pcm->stream, pulse_stream_success_cb, pcm->p); +- assert(o); ++ if (!o) { ++ err = -EIO; ++ goto finish; ++ } + + err = pulse_wait_operation(pcm->p, o); + +-- +1.5.5.1 + diff --git a/alsa-plugins-1.0.17-pulsetrigger.patch b/alsa-plugins-1.0.17-pulsetrigger.patch new file mode 100644 index 0000000..a893986 --- /dev/null +++ b/alsa-plugins-1.0.17-pulsetrigger.patch @@ -0,0 +1,79 @@ +From 90c32999189cf6f5c63f40dadb8076eca379713b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 18 Jul 2008 21:45:47 +0200 +Subject: [PATCH] send both an uncork and a trigger in _start() + +Heya! + +Here's a patch for alsa-plugins: + +When playing very short streams, the pulse plugin needs call +pa_stream_trigger() in snd_pcm_start() to make sure the stream is +actually started, in addition to uncorking the stream. + +Lennart + +Signed-off-by: Takashi Iwai +--- + pulse/pcm_pulse.c | 21 +++++++++++++++------ + 1 files changed, 15 insertions(+), 6 deletions(-) + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index efff509..7edd157 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -67,8 +67,8 @@ static void update_ptr(snd_pcm_pulse_t *pcm) + static int pulse_start(snd_pcm_ioplug_t *io) + { + snd_pcm_pulse_t *pcm = io->private_data; +- pa_operation *o; +- int err = 0; ++ pa_operation *o, *u; ++ int err = 0, err_o = 0, err_u = 0; + + assert(pcm); + assert(pcm->p); +@@ -88,11 +88,20 @@ static int pulse_start(snd_pcm_ioplug_t *io) + goto finish; + } + +- err = pulse_wait_operation(pcm->p, o); ++ u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb, pcm->p); ++ if (!u) { ++ pa_operation_unref(o); ++ err = -EIO; ++ goto finish; ++ } ++ ++ err_o = pulse_wait_operation(pcm->p, o); ++ err_u = pulse_wait_operation(pcm->p, u); + + pa_operation_unref(o); ++ pa_operation_unref(u); + +- if (err < 0) { ++ if (err_o < 0 || err_u < 0) { + err = -EIO; + goto finish; + } else +@@ -543,7 +552,7 @@ static int pulse_hw_params(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params) + break; + } + } +- ++ + pa_threaded_mainloop_lock(pcm->p->mainloop); + + pcm->frame_size = (snd_pcm_format_physical_width(io->format) * io->channels) / 8; +@@ -761,7 +770,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(pulse) + pcm->io.callback = stream == SND_PCM_STREAM_PLAYBACK ? + &pulse_playback_callback : &pulse_capture_callback; + pcm->io.private_data = pcm; +- ++ + err = snd_pcm_ioplug_create(&pcm->io, name, stream, mode); + if (err < 0) + goto error; +-- +1.5.5.1 + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4daec4f..5842e44 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -14,6 +14,8 @@ Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf Patch3: alsa-plugins-1.0.15-pulsehint.patch +Patch4: alsa-plugins-1.0.17-pulsenoassert.patch +Patch5: alsa-plugins-1.0.17-pulsetrigger.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -96,6 +98,8 @@ surround". %prep %setup -q -n %{name}-%{version} %patch3 -p1 -b .pulsehint +%patch4 -p1 -b .pulsenoassert +%patch5 -p1 -b .pulsetrigger %build %configure --disable-static \ @@ -145,6 +149,7 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/alsa/pulse-default.conf %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so +%{_libdir}/alsa-lib/libasound_module_conf_pulse.so %files samplerate %defattr(-,root,root,-) From bcafbd734a71cb149c7313c502256014eb45fda9 Mon Sep 17 00:00:00 2001 From: perex Date: Thu, 11 Sep 2008 12:42:16 +0000 Subject: [PATCH 017/126] alsa-plugins: updated to 1.0.18rc3 --- .cvsignore | 1 + alsa-plugins-1.0.15-pulsehint.patch | 14 ----- alsa-plugins-1.0.17-pulsenoassert.patch | 72 ---------------------- alsa-plugins-1.0.17-pulsetrigger.patch | 79 ------------------------- alsa-plugins.spec | 34 +++++++---- sources | 2 +- 6 files changed, 26 insertions(+), 176 deletions(-) delete mode 100644 alsa-plugins-1.0.15-pulsehint.patch delete mode 100644 alsa-plugins-1.0.17-pulsenoassert.patch delete mode 100644 alsa-plugins-1.0.17-pulsetrigger.patch diff --git a/.cvsignore b/.cvsignore index 6755293..dbb252e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,3 @@ alsa-plugins-1.0.16.tar.bz2 alsa-plugins-1.0.17.tar.bz2 +alsa-plugins-1.0.18rc3.tar.bz2 diff --git a/alsa-plugins-1.0.15-pulsehint.patch b/alsa-plugins-1.0.15-pulsehint.patch deleted file mode 100644 index 1a7c990..0000000 --- a/alsa-plugins-1.0.15-pulsehint.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- alsa-plugins-1.0.15/pulse/pulse.c.orig 2008-03-04 18:56:22.000000000 +0100 -+++ alsa-plugins-1.0.15/pulse/pulse.c 2008-03-04 18:58:33.000000000 +0100 -@@ -204,7 +204,10 @@ int pulse_connect(snd_pulse_t *p, const - return 0; - - error: -- fprintf(stderr, "*** PULSEAUDIO: Unable to connect: %s\n", -+ fprintf(stderr, -+ "*** PULSEAUDIO: Unable to connect: %s\n" -+ "*** Is your sound server running?\n" -+ "*** See: http://www.pulseaudio.org/wiki/Troubleshooting\n", - pa_strerror(pa_context_errno(p->context))); - - pa_threaded_mainloop_unlock(p->mainloop); diff --git a/alsa-plugins-1.0.17-pulsenoassert.patch b/alsa-plugins-1.0.17-pulsenoassert.patch deleted file mode 100644 index ff736b7..0000000 --- a/alsa-plugins-1.0.17-pulsenoassert.patch +++ /dev/null @@ -1,72 +0,0 @@ -From cf23b804e022e6d9c0e1894fed887a735963a127 Mon Sep 17 00:00:00 2001 -From: Takashi Iwai -Date: Wed, 16 Jul 2008 15:15:42 +0200 -Subject: [PATCH] pulse - Returns errors instead of assert() - -Some sanity checks in pcm_pulse.c with assert() causes the program to -abort unexpectedly when the pulseaudio daemon is dead. This is -suboptimal. Examples: - https://bugzilla.novell.com/show_bug.cgi?id=409532 - -Now fixed to return an error instead. - -Signed-off-by: Takashi Iwai ---- - pulse/pcm_pulse.c | 20 ++++++++++++++++---- - 1 files changed, 16 insertions(+), 4 deletions(-) - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index e4a6232..efff509 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -83,7 +83,10 @@ static int pulse_start(snd_pcm_ioplug_t *io) - goto finish; - - o = pa_stream_cork(pcm->stream, 0, pulse_stream_success_cb, pcm->p); -- assert(o); -+ if (!o) { -+ err = -EIO; -+ goto finish; -+ } - - err = pulse_wait_operation(pcm->p, o); - -@@ -122,7 +125,10 @@ static int pulse_stop(snd_pcm_ioplug_t *io) - goto finish; - - o = pa_stream_flush(pcm->stream, pulse_stream_success_cb, pcm->p); -- assert(o); -+ if (!o) { -+ err = -EIO; -+ goto finish; -+ } - - err = pulse_wait_operation(pcm->p, o); - -@@ -134,7 +140,10 @@ static int pulse_stop(snd_pcm_ioplug_t *io) - } - - o = pa_stream_cork(pcm->stream, 1, pulse_stream_success_cb, pcm->p); -- assert(o); -+ if (!o) { -+ err = -EIO; -+ goto finish; -+ } - - err = pulse_wait_operation(pcm->p, o); - -@@ -169,7 +178,10 @@ int pulse_drain(snd_pcm_ioplug_t *io) - goto finish; - - o = pa_stream_drain(pcm->stream, pulse_stream_success_cb, pcm->p); -- assert(o); -+ if (!o) { -+ err = -EIO; -+ goto finish; -+ } - - err = pulse_wait_operation(pcm->p, o); - --- -1.5.5.1 - diff --git a/alsa-plugins-1.0.17-pulsetrigger.patch b/alsa-plugins-1.0.17-pulsetrigger.patch deleted file mode 100644 index a893986..0000000 --- a/alsa-plugins-1.0.17-pulsetrigger.patch +++ /dev/null @@ -1,79 +0,0 @@ -From 90c32999189cf6f5c63f40dadb8076eca379713b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 18 Jul 2008 21:45:47 +0200 -Subject: [PATCH] send both an uncork and a trigger in _start() - -Heya! - -Here's a patch for alsa-plugins: - -When playing very short streams, the pulse plugin needs call -pa_stream_trigger() in snd_pcm_start() to make sure the stream is -actually started, in addition to uncorking the stream. - -Lennart - -Signed-off-by: Takashi Iwai ---- - pulse/pcm_pulse.c | 21 +++++++++++++++------ - 1 files changed, 15 insertions(+), 6 deletions(-) - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index efff509..7edd157 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -67,8 +67,8 @@ static void update_ptr(snd_pcm_pulse_t *pcm) - static int pulse_start(snd_pcm_ioplug_t *io) - { - snd_pcm_pulse_t *pcm = io->private_data; -- pa_operation *o; -- int err = 0; -+ pa_operation *o, *u; -+ int err = 0, err_o = 0, err_u = 0; - - assert(pcm); - assert(pcm->p); -@@ -88,11 +88,20 @@ static int pulse_start(snd_pcm_ioplug_t *io) - goto finish; - } - -- err = pulse_wait_operation(pcm->p, o); -+ u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb, pcm->p); -+ if (!u) { -+ pa_operation_unref(o); -+ err = -EIO; -+ goto finish; -+ } -+ -+ err_o = pulse_wait_operation(pcm->p, o); -+ err_u = pulse_wait_operation(pcm->p, u); - - pa_operation_unref(o); -+ pa_operation_unref(u); - -- if (err < 0) { -+ if (err_o < 0 || err_u < 0) { - err = -EIO; - goto finish; - } else -@@ -543,7 +552,7 @@ static int pulse_hw_params(snd_pcm_ioplug_t *io, snd_pcm_hw_params_t *params) - break; - } - } -- -+ - pa_threaded_mainloop_lock(pcm->p->mainloop); - - pcm->frame_size = (snd_pcm_format_physical_width(io->format) * io->channels) / 8; -@@ -761,7 +770,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(pulse) - pcm->io.callback = stream == SND_PCM_STREAM_PLAYBACK ? - &pulse_playback_callback : &pulse_capture_callback; - pcm->io.private_data = pcm; -- -+ - err = snd_pcm_ioplug_create(&pcm->io, name, stream, mode); - if (err < 0) - goto error; --- -1.5.5.1 - diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5842e44..29e9483 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,21 +1,21 @@ +%define prever rc3 +%define prever_dot .%{prever} + Name: alsa-plugins -Version: 1.0.17 -Release: 1%{?dist} +Version: 1.0.18 +Release: 1%{?prever_dot}%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries URL: http://www.alsa-project.org/ -Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 +Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}%{?prever}.tar.bz2 Source1: jack.conf Source2: pcm-oss.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf -Patch3: alsa-plugins-1.0.15-pulsehint.patch -Patch4: alsa-plugins-1.0.17-pulsenoassert.patch -Patch5: alsa-plugins-1.0.17-pulsetrigger.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -95,11 +95,16 @@ stereo headphone output. This plugin processes the input signals with a simple spacialization, so the output sounds like a kind of "virtual surround". +%package usbstream +Summary: USB stream plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description usbstream +The usbstream plugin is for snd-usb-us122l driver. It converts PCM +stream to USB specific stream. + %prep -%setup -q -n %{name}-%{version} -%patch3 -p1 -b .pulsehint -%patch4 -p1 -b .pulsenoassert -%patch5 -p1 -b .pulsetrigger +%setup -q -n %{name}-%{version}%{?prever} %build %configure --disable-static \ @@ -173,7 +178,16 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/alsa/pcm/vdownmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so +%files usbstream +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL +%{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so + %changelog +* Thu Sep 11 2008 Jaroslav Kysela - 1.0.18-1.rc3 +- Updated to 1.0.18rc3 +- Added usbstream subpackage + * Mon Jul 21 2008 Jaroslav Kysela - 1.0.17-1 - Updated to 1.0.17 diff --git a/sources b/sources index caac122..7f05f9a 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -f37d0b2b19dfbe215144941ab8bb6e49 alsa-plugins-1.0.17.tar.bz2 +e3b7bcd92d1bb380d7de13e61af996e9 alsa-plugins-1.0.18rc3.tar.bz2 From 554337b0ab99b9a179ea70a5b794b46cb5c0787c Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Mon, 29 Dec 2008 07:49:12 +0000 Subject: [PATCH 018/126] Upgrade to 1.0.18 final --- .cvsignore | 4 +--- alsa-plugins.spec | 10 +++++----- sources | 2 +- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/.cvsignore b/.cvsignore index dbb252e..deef702 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,3 +1 @@ -alsa-plugins-1.0.16.tar.bz2 -alsa-plugins-1.0.17.tar.bz2 -alsa-plugins-1.0.18rc3.tar.bz2 +alsa-plugins-1.0.18.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 29e9483..9aa69a2 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,15 +1,12 @@ -%define prever rc3 -%define prever_dot .%{prever} - Name: alsa-plugins Version: 1.0.18 -Release: 1%{?prever_dot}%{?dist} +Release: 2 Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries URL: http://www.alsa-project.org/ -Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}%{?prever}.tar.bz2 +Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Source1: jack.conf Source2: pcm-oss.conf Source4: samplerate.conf @@ -184,6 +181,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %changelog +* Sun Dec 28 2008 Eric Moret - 1.0.18-2 +- Updated to 1.0.18 final + * Thu Sep 11 2008 Jaroslav Kysela - 1.0.18-1.rc3 - Updated to 1.0.18rc3 - Added usbstream subpackage diff --git a/sources b/sources index 7f05f9a..7438920 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e3b7bcd92d1bb380d7de13e61af996e9 alsa-plugins-1.0.18rc3.tar.bz2 +4a798b47ba10c17aed66dff234d31b24 alsa-plugins-1.0.18.tar.bz2 From e022cfaf326c188bf7f7ff6d5025f718916ceaa6 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Mon, 29 Dec 2008 09:00:35 +0000 Subject: [PATCH 019/126] Adding back dist tag --- alsa-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 9aa69a2..1048f96 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.18 -Release: 2 +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ From 92b52f778a4e1e2a62e9d68931960e723e1fb25c Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Tue, 24 Feb 2009 00:46:50 +0000 Subject: [PATCH 020/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 1048f96..c3b6ebe 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.18 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -181,6 +181,9 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %changelog +* Mon Feb 23 2009 Fedora Release Engineering - 1.0.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild + * Sun Dec 28 2008 Eric Moret - 1.0.18-2 - Updated to 1.0.18 final From 4c92e7b59b45e2b24ab2538f36bf30b5eb09ea93 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Sat, 25 Apr 2009 07:17:50 +0000 Subject: [PATCH 021/126] Upgrade to 1.0.19 and address #483322 --- .cvsignore | 2 +- alsa-plugins.spec | 22 ++++++++++++++++++---- sources | 2 +- 3 files changed, 20 insertions(+), 6 deletions(-) diff --git a/.cvsignore b/.cvsignore index deef702..04ac7c9 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alsa-plugins-1.0.18.tar.bz2 +alsa-plugins-1.0.19.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index c3b6ebe..710b88d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins -Version: 1.0.18 -Release: 3%{?dist} +Version: 1.0.19 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -24,7 +24,7 @@ functionality to the Linux operating system. This package includes plugins for ALSA. %package jack -Requires: jack-audio-connection-kit +Requires: jack-audio-connection-kit, alsa-utils BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA Group: System Environment/Libraries @@ -40,6 +40,7 @@ transparently together with jackd for both playback and capture. This plugin provides the PCM type "jack" %package oss +Requires: alsa-utils BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA Group: System Environment/Libraries @@ -51,8 +52,8 @@ ALSA native apps can run on OSS drivers. This plugin provides the PCM type "oss". %package pulseaudio +Requires: pulseaudio, alsa-utils BuildRequires: pulseaudio-lib-devel -Requires: pulseaudio Summary: Alsa to PulseAudio backend Group: System Environment/Libraries License: LGPLv2+ @@ -63,6 +64,7 @@ sound across a network. There are two plugins in the suite, one for PCM and one for mixer control. %package samplerate +Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA Group: System Environment/Libraries @@ -72,6 +74,7 @@ This plugin is an external rate converter using libsamplerate by Erik de Castro Lopo. %package upmix +Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA Group: System Environment/Libraries @@ -82,6 +85,7 @@ The upmix plugin is an easy-to-use plugin for upmixing to 4 or by the slave PCM or explicitly via channel option. %package vdownmix +Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA Group: System Environment/Libraries @@ -135,12 +139,14 @@ rm -rf $RPM_BUILD_ROOT %files jack %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-jack +%dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/jack.conf %{_libdir}/alsa-lib/libasound_module_pcm_jack.so %files oss %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pcm-oss +%dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/pcm-oss.conf %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so @@ -156,6 +162,7 @@ rm -rf $RPM_BUILD_ROOT %files samplerate %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/samplerate.txt +%dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/samplerate.conf %{_libdir}/alsa-lib/libasound_module_rate_samplerate.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so @@ -166,12 +173,14 @@ rm -rf $RPM_BUILD_ROOT %files upmix %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/upmix.txt +%dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/upmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/vdownmix.txt +%dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/vdownmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so @@ -181,6 +190,11 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %changelog +* Fri Apr 24 2009 Eric Moret - 1.0.19-1 +- Updated to 1.0.19 +- Added Requires: alsa-utils to address #483322 +- Added dir {_sysconfdir}/alsa/pcm to address #483322 + * Mon Feb 23 2009 Fedora Release Engineering - 1.0.18-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild diff --git a/sources b/sources index 7438920..e637d75 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4a798b47ba10c17aed66dff234d31b24 alsa-plugins-1.0.18.tar.bz2 +29ae9cac05423cf6a49f66eeb1a79eb6 alsa-plugins-1.0.19.tar.bz2 From 50aa2de755c54175fb166c89b24d1c40c17720c6 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Sat, 9 May 2009 05:51:46 +0000 Subject: [PATCH 022/126] Updating to alsa-plugins-1.0.20 Adding alsa-plugins-arcamav subpackage --- .cvsignore | 2 +- alsa-plugins.spec | 27 ++++++++++++++++++++++++--- arcamav.conf | 10 ++++++++++ sources | 2 +- 4 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 arcamav.conf diff --git a/.cvsignore b/.cvsignore index 04ac7c9..e1f7eff 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alsa-plugins-1.0.19.tar.bz2 +alsa-plugins-1.0.20.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 710b88d..fa7ac06 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,5 +1,5 @@ Name: alsa-plugins -Version: 1.0.19 +Version: 1.0.20 Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ @@ -13,6 +13,7 @@ Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf +Source8: arcamav.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -104,6 +105,14 @@ License: LGPLv2+ The usbstream plugin is for snd-usb-us122l driver. It converts PCM stream to USB specific stream. +%package arcamav +Summary: Arcam AV amplifier plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description arcamav +This plugin exposes the controls for an Arcam AV amplifier +(see: http://www.arcam.co.uk/) as an ALSA mixer device. + %prep %setup -q -n %{name}-%{version}%{?prever} @@ -118,8 +127,9 @@ make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE1 %SOURCE2 \ - %SOURCE4 %SOURCE5 %SOURCE6 \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm + %SOURCE4 %SOURCE5 \ + %SOURCE6 %SOURCE8 \ + ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE7 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa @@ -189,7 +199,18 @@ rm -rf $RPM_BUILD_ROOT %doc COPYING COPYING.GPL %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so +%files arcamav +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/README-arcam-av +%config(noreplace) %{_sysconfdir}/alsa/pcm/arcamav.conf +%{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so + + %changelog +* Fri May 8 2009 Eric Moret - 1.0.20-1 +- Updated to 1.0.20 +- Added arcam-av subpackage + * Fri Apr 24 2009 Eric Moret - 1.0.19-1 - Updated to 1.0.19 - Added Requires: alsa-utils to address #483322 diff --git a/arcamav.conf b/arcamav.conf new file mode 100644 index 0000000..534663a --- /dev/null +++ b/arcamav.conf @@ -0,0 +1,10 @@ +# arcam-av plugin configuration +# $Id$ + +ctl.arcam_av { + type arcam_av + port /dev/ttyS0 + hint { + description "Arcam-AV Amplifier" + } +} diff --git a/sources b/sources index e637d75..0bce8c2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -29ae9cac05423cf6a49f66eeb1a79eb6 alsa-plugins-1.0.19.tar.bz2 +819c4f21e3e913eacefd32993a8fbed7 alsa-plugins-1.0.20.tar.bz2 From 585c1acf161f3dfb5134f2b06cf69b1801ea7723 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Fri, 3 Jul 2009 00:50:11 +0000 Subject: [PATCH 023/126] Adding speex plugin --- alsa-plugins.spec | 40 +++++++++++++++++++++++++++++++--------- speex.conf | 11 +++++++++++ 2 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 speex.conf diff --git a/alsa-plugins.spec b/alsa-plugins.spec index fa7ac06..5512a77 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.20 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -9,6 +9,7 @@ URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Source1: jack.conf Source2: pcm-oss.conf +Source3: speex.conf Source4: samplerate.conf Source5: upmix.conf Source6: vdownmix.conf @@ -34,10 +35,6 @@ License: LGPLv2+ This plugin converts the ALSA API over JACK (Jack Audio Connection Kit, http://jackit.sf.net) API. ALSA native applications can work transparently together with jackd for both playback and capture. - - ALSA apps (playback) -> ALSA-lib -> JACK plugin -> JACK daemon - ALSA apps (capture) <- ALSA-lib <- JACK plugin <- JACK daemon - This plugin provides the PCM type "jack" %package oss @@ -113,12 +110,23 @@ License: LGPLv2+ This plugin exposes the controls for an Arcam AV amplifier (see: http://www.arcam.co.uk/) as an ALSA mixer device. +%package speex +Requires: speex +BuildRequires: speex-devel +Summary: Rate Converter Plugin Using Speex Resampler +Group: System Environment/Libraries +License: LGPLv2+ +%description speex +The rate plugin is an external rate converter using the Speex resampler +(aka Public Parrot Hack) by Jean-Marc Valin. The pcm plugin provides +pre-processing of a mono stream like denoise using libspeex DSP API. + %prep %setup -q -n %{name}-%{version}%{?prever} %build %configure --disable-static \ - --without-speex + --with-speex=lib make %{?_smp_mflags} %install @@ -127,11 +135,12 @@ make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE1 %SOURCE2 \ - %SOURCE4 %SOURCE5 \ - %SOURCE6 %SOURCE8 \ + %SOURCE3 %SOURCE4 \ + %SOURCE5 %SOURCE6 \ + %SOURCE8 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm install -m 644 %SOURCE7 \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa + ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; @@ -205,8 +214,21 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_sysconfdir}/alsa/pcm/arcamav.conf %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so +%files speex +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt +%config(noreplace) %{_sysconfdir}/alsa/pcm/speex.conf +%{_libdir}/alsa-lib/libasound_module_pcm_speex.so +%{_libdir}/alsa-lib/libasound_module_rate_speexrate.so +%{_libdir}/alsa-lib/libasound_module_rate_speexrate_best.so +%{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so + %changelog +* Wed Jun 24 2009 Eric Moret - 1.0.20-2 +- Added speex subpackage +- Removed ascii-art from jack's plugin description + * Fri May 8 2009 Eric Moret - 1.0.20-1 - Updated to 1.0.20 - Added arcam-av subpackage diff --git a/speex.conf b/speex.conf new file mode 100644 index 0000000..c4f23e3 --- /dev/null +++ b/speex.conf @@ -0,0 +1,11 @@ +# samplerate plugin configuration +# $Id$ + +pcm.my_rate { + type rate + slave.pcm "hw" + converter "speexrate" + hint { + description "Rate Converter Plugin Using Speex Resampler" + } +} From 7fc76cc22e7fca018246f0200ca5f0963cd015b9 Mon Sep 17 00:00:00 2001 From: Jesse Keating Date: Fri, 24 Jul 2009 16:47:52 +0000 Subject: [PATCH 024/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5512a77..3ae15f6 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.20 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -225,6 +225,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jul 24 2009 Fedora Release Engineering - 1.0.20-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild + * Wed Jun 24 2009 Eric Moret - 1.0.20-2 - Added speex subpackage - Removed ascii-art from jack's plugin description From efff787f64947d5b010163af52190b830883fa23 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 31 Jul 2009 14:04:31 +0000 Subject: [PATCH 025/126] Add a couple of clean up patches for the pulse plugin --- alsa-plugins.spec | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 3ae15f6..37d745e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.20 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -16,6 +16,11 @@ Source6: vdownmix.conf Source7: pulse-default.conf Source8: arcamav.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Patch0: 0001-alsa-plugins-pulse-Implement-pause.patch +Patch1: 0001-alsa-get-rid-of-a-number-of-assert-s.patch +Patch2: 0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch +Patch3: 0003-pulse-unify-destruction-of-snd_pulse_t.patch +Patch4: 0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch BuildRequires: alsa-lib-devel @@ -123,6 +128,11 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %prep %setup -q -n %{name}-%{version}%{?prever} +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build %configure --disable-static \ @@ -225,6 +235,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Jul 31 2009 Lennart Poettering - 1.0.20-4 +- Add a couple of clean up patches for the pulse plugin + * Fri Jul 24 2009 Fedora Release Engineering - 1.0.20-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild From 1ae1f5d7aeec817e2577bc96c2ff943c9a2374d4 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 31 Jul 2009 14:05:04 +0000 Subject: [PATCH 026/126] add missing patches --- ...alsa-get-rid-of-a-number-of-assert-s.patch | 398 ++++++++++++++++++ 0001-alsa-plugins-pulse-Implement-pause.patch | 59 +++ ...-PA_CONTEXT_IS_GOOD-where-applicable.patch | 53 +++ ...lse-unify-destruction-of-snd_pulse_t.patch | 65 +++ ...readed_mainloop_wait-to-handle-spuri.patch | 40 ++ 5 files changed, 615 insertions(+) create mode 100644 0001-alsa-get-rid-of-a-number-of-assert-s.patch create mode 100644 0001-alsa-plugins-pulse-Implement-pause.patch create mode 100644 0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch create mode 100644 0003-pulse-unify-destruction-of-snd_pulse_t.patch create mode 100644 0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch diff --git a/0001-alsa-get-rid-of-a-number-of-assert-s.patch b/0001-alsa-get-rid-of-a-number-of-assert-s.patch new file mode 100644 index 0000000..5a549c6 --- /dev/null +++ b/0001-alsa-get-rid-of-a-number-of-assert-s.patch @@ -0,0 +1,398 @@ +From ae28f795b7a3f626e2c02e0805936e07b06ed290 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 15:25:44 +0200 +Subject: [PATCH 1/4] alsa: get rid of a number of assert()s + +Instead of hitting an assert when any of the plugin functions is called +in an invalid context we should return a clean error to make sure +programs are not unnecessarily aborted. + +This should fix issues such as http://pulseaudio.org/ticket/595 +--- + pulse/ctl_pulse.c | 35 +++++++++++++++++------ + pulse/pcm_pulse.c | 79 +++++++++++++++++++++++++++++++++++++++++------------ + pulse/pulse.c | 34 ++++++++++++++++------- + 3 files changed, 111 insertions(+), 37 deletions(-) + +diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c +index c6cf9e2..1b057ef 100644 +--- a/pulse/ctl_pulse.c ++++ b/pulse/ctl_pulse.c +@@ -125,8 +125,9 @@ static void event_cb(pa_context * c, pa_subscription_event_type_t t, + pa_operation *o; + + assert(ctl); +- assert(ctl->p); +- assert(ctl->p->context); ++ ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return; + + o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, + sink_info_cb, ctl); +@@ -148,8 +149,9 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) + pa_operation *o; + + assert(ctl); +- assert(ctl->p); +- assert(ctl->p->context); ++ ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; + + o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, + sink_info_cb, ctl); +@@ -203,6 +205,9 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, + + assert(ctl); + ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; ++ + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + + pa_threaded_mainloop_lock(ctl->p->mainloop); +@@ -260,7 +265,9 @@ static int pulse_get_attribute(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + return -EINVAL; + + assert(ctl); +- assert(ctl->p); ++ ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + +@@ -311,7 +318,9 @@ static int pulse_read_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + pa_cvolume *vol = NULL; + + assert(ctl); +- assert(ctl->p); ++ ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + +@@ -361,7 +370,9 @@ static int pulse_write_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + pa_cvolume *vol = NULL; + + assert(ctl); +- assert(ctl->p && ctl->p->context); ++ ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + +@@ -465,6 +476,9 @@ static void pulse_subscribe_events(snd_ctl_ext_t * ext, int subscribe) + + assert(ctl); + ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return; ++ + pa_threaded_mainloop_lock(ctl->p->mainloop); + + ctl->subscribed = !!(subscribe & SND_CTL_EVENT_MASK_VALUE); +@@ -481,6 +495,9 @@ static int pulse_read_event(snd_ctl_ext_t * ext, snd_ctl_elem_id_t * id, + + assert(ctl); + ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; ++ + pa_threaded_mainloop_lock(ctl->p->mainloop); + + if (!ctl->updated || !ctl->subscribed) +@@ -525,8 +542,8 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, + snd_ctl_pulse_t *ctl = ext->private_data; + int err = 0; + +- assert(ctl); +- assert(ctl->p); ++ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index c276839..24347f9 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -106,6 +106,9 @@ static int update_active(snd_pcm_pulse_t *pcm) { + + assert(pcm); + ++ if (!pcm->p) ++ return -EBADFD; ++ + ret = check_active(pcm); + if (ret < 0) + return ret; +@@ -125,7 +128,9 @@ static int pulse_start(snd_pcm_ioplug_t * io) + int err = 0, err_o = 0, err_u = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -174,7 +179,9 @@ static int pulse_stop(snd_pcm_ioplug_t * io) + int err = 0, err_o = 0, err_u = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -224,7 +231,9 @@ static int pulse_drain(snd_pcm_ioplug_t * io) + int err = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -259,7 +268,9 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) + snd_pcm_sframes_t ret = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + if (io->state == SND_PCM_STATE_XRUN) + return -EPIPE; +@@ -269,7 +280,10 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- assert(pcm->stream); ++ if (!pcm->stream) { ++ ret = -EBADFD; ++ goto finish; ++ } + + ret = pulse_check_connection(pcm->p); + if (ret < 0) +@@ -305,11 +319,16 @@ static int pulse_delay(snd_pcm_ioplug_t * io, snd_pcm_sframes_t * delayp) + pa_usec_t lat = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- assert(pcm->stream); ++ if (!pcm->stream) { ++ err = -EBADFD; ++ goto finish; ++ } + + for (;;) { + err = pulse_check_connection(pcm->p); +@@ -354,11 +373,16 @@ static snd_pcm_sframes_t pulse_write(snd_pcm_ioplug_t * io, + snd_pcm_sframes_t ret = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- assert(pcm->stream); ++ if (!pcm->stream) { ++ ret = -EBADFD; ++ goto finish; ++ } + + ret = pulse_check_connection(pcm->p); + if (ret < 0) +@@ -409,11 +433,16 @@ static snd_pcm_sframes_t pulse_read(snd_pcm_ioplug_t * io, + snd_pcm_sframes_t ret = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- assert(pcm->stream); ++ if (!pcm->stream) { ++ ret = -EBADFD; ++ goto finish; ++ } + + ret = pulse_check_connection(pcm->p); + if (ret < 0) +@@ -480,7 +509,9 @@ static void stream_request_cb(pa_stream * p, size_t length, void *userdata) + snd_pcm_pulse_t *pcm = userdata; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return; + + update_active(pcm); + } +@@ -490,7 +521,9 @@ static void stream_underrun_cb(pa_stream * p, void *userdata) + snd_pcm_pulse_t *pcm = userdata; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return; + + pcm->underrun = 1; + } +@@ -499,7 +532,9 @@ static void stream_latency_cb(pa_stream *p, void *userdata) { + snd_pcm_pulse_t *pcm = userdata; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return; + + pa_threaded_mainloop_signal(pcm->p->mainloop, 0); + } +@@ -512,7 +547,9 @@ static int pulse_pcm_poll_revents(snd_pcm_ioplug_t * io, + snd_pcm_pulse_t *pcm = io->private_data; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -541,7 +578,9 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) + unsigned c, d; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -645,7 +684,9 @@ static int pulse_hw_params(snd_pcm_ioplug_t * io, + int err = 0; + + assert(pcm); +- assert(pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +@@ -745,7 +786,9 @@ static int pulse_pause(snd_pcm_ioplug_t * io, int enable) + int err = 0; + + assert (pcm); +- assert (pcm->p); ++ ++ if (!pcm->p) ++ return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 3940238..95d8dde 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -32,8 +32,9 @@ int pulse_check_connection(snd_pulse_t * p) + pa_context_state_t state; + + assert(p); +- assert(p->context); +- assert(p->mainloop); ++ ++ if (!p->context || !p->mainloop) ++ return -EBADFD; + + state = pa_context_get_state(p->context); + +@@ -77,8 +78,12 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) + { + assert(p); + assert(o); +- assert(p->state == PULSE_STATE_READY); +- assert(p->mainloop); ++ ++ if (p->state != PULSE_STATE_READY) ++ return -EBADFD; ++ ++ if (!p->mainloop) ++ return -EBADFD; + + for (;;) { + int err; +@@ -103,8 +108,12 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, + + assert(p); + assert(stream); +- assert(p->state == PULSE_STATE_READY); +- assert(p->mainloop); ++ ++ if (p->state != PULSE_STATE_READY) ++ return -EBADFD; ++ ++ if (!p->mainloop) ++ return -EBADFD; + + for (;;) { + int err; +@@ -197,7 +206,9 @@ snd_pulse_t *pulse_new(void) + + p->context = + pa_context_new(pa_threaded_mainloop_get_api(p->mainloop), buf); +- assert(p->context); ++ ++ if (!p->context) ++ goto fail; + + pa_context_set_state_callback(p->context, context_state_cb, p); + +@@ -246,9 +257,12 @@ int pulse_connect(snd_pulse_t * p, const char *server) + int err; + + assert(p); +- assert(p->context); +- assert(p->mainloop); +- assert(p->state == PULSE_STATE_INIT); ++ ++ if (!p->context || !p->mainloop) ++ return -EBADFD; ++ ++ if (p->state != PULSE_STATE_INIT) ++ return -EBADFD; + + pa_threaded_mainloop_lock(p->mainloop); + +-- +1.6.3.3 + diff --git a/0001-alsa-plugins-pulse-Implement-pause.patch b/0001-alsa-plugins-pulse-Implement-pause.patch new file mode 100644 index 0000000..8172382 --- /dev/null +++ b/0001-alsa-plugins-pulse-Implement-pause.patch @@ -0,0 +1,59 @@ +From d9a839d51255c939f394f770b249c8a4a9600122 Mon Sep 17 00:00:00 2001 +From: Troy Moure +Date: Thu, 18 Jun 2009 14:55:21 +0100 +Subject: [PATCH] alsa-plugins/pulse: Implement 'pause'. + +Just cork or uncork the stream to pause or unpause it. + +Signed-off-by: Troy Moure +Signed-off-by: Takashi Iwai +--- + pulse/pcm_pulse.c | 25 +++++++++++++++++++++++++ + 1 files changed, 25 insertions(+), 0 deletions(-) + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index db8d1e1..c276839 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -739,6 +739,30 @@ static int pulse_close(snd_pcm_ioplug_t * io) + return 0; + } + ++static int pulse_pause(snd_pcm_ioplug_t * io, int enable) ++{ ++ snd_pcm_pulse_t *pcm = io->private_data; ++ int err = 0; ++ ++ assert (pcm); ++ assert (pcm->p); ++ ++ pa_threaded_mainloop_lock(pcm->p->mainloop); ++ ++ if (pcm->stream) { ++ pa_operation *o; ++ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); ++ if (o) ++ pa_operation_unref(o); ++ else ++ err = -EIO; ++ } ++ ++ pa_threaded_mainloop_unlock(pcm->p->mainloop); ++ ++ return err; ++} ++ + static const snd_pcm_ioplug_callback_t pulse_playback_callback = { + .start = pulse_start, + .stop = pulse_stop, +@@ -750,6 +774,7 @@ static const snd_pcm_ioplug_callback_t pulse_playback_callback = { + .prepare = pulse_prepare, + .hw_params = pulse_hw_params, + .close = pulse_close, ++ .pause = pulse_pause + }; + + +-- +1.6.3.3 + diff --git a/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch b/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch new file mode 100644 index 0000000..5b3d770 --- /dev/null +++ b/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch @@ -0,0 +1,53 @@ +From bf4d77ef87be83c3f9f249575cc4d08e7fb554df Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 15:32:25 +0200 +Subject: [PATCH 2/4] pulse: use PA_CONTEXT_IS_GOOD where applicable + +PA_CONTEXT_IS_GOOD is a safer way to check whether a context is still +valid. + +This patch also bumps the version requirement of libpulse to 0.9.11. +--- + configure.in | 2 +- + pulse/pulse.c | 5 ++--- + 2 files changed, 3 insertions(+), 4 deletions(-) + +diff --git a/configure.in b/configure.in +index 36740e9..f8bc669 100644 +--- a/configure.in ++++ b/configure.in +@@ -30,7 +30,7 @@ AC_ARG_ENABLE([pulseaudio], + AS_HELP_STRING([--disable-pulseaudio], [Disable building of pulseaudio plugin])) + + if test "x$enable_pulseaudio" != "xno"; then +- PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.2], [HAVE_PULSE=yes], [HAVE_PULSE=no]) ++ PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.11], [HAVE_PULSE=yes], [HAVE_PULSE=no]) + fi + AM_CONDITIONAL(HAVE_PULSE, test x$HAVE_PULSE = xyes) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 95d8dde..dd17384 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -38,7 +38,7 @@ int pulse_check_connection(snd_pulse_t * p) + + state = pa_context_get_state(p->context); + +- if (state != PA_CONTEXT_READY) ++ if (!PA_CONTEXT_IS_GOOD(state)) + return -EIO; + + return 0; +@@ -127,8 +127,7 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, + if (state == target) + break; + +- if (state == PA_STREAM_FAILED || +- state == PA_STREAM_TERMINATED) ++ if (!PA_STREAM_IS_GOOD(state)) + return -EIO; + + pa_threaded_mainloop_wait(p->mainloop); +-- +1.6.3.3 + diff --git a/0003-pulse-unify-destruction-of-snd_pulse_t.patch b/0003-pulse-unify-destruction-of-snd_pulse_t.patch new file mode 100644 index 0000000..90ab33c --- /dev/null +++ b/0003-pulse-unify-destruction-of-snd_pulse_t.patch @@ -0,0 +1,65 @@ +From 563bf2ff83018bdd03a5159522e1fb2ce6532d47 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 15:33:52 +0200 +Subject: [PATCH 3/4] pulse: unify destruction of snd_pulse_t + +--- + pulse/pulse.c | 31 ++++++++++++------------------- + 1 files changed, 12 insertions(+), 19 deletions(-) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index dd17384..ae66b0c 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -217,36 +217,29 @@ snd_pulse_t *pulse_new(void) + return p; + + fail: ++ pulse_free(p); ++ ++ return NULL; ++} ++ ++void pulse_free(snd_pulse_t * p) ++{ + if (p->mainloop) + pa_threaded_mainloop_stop(p->mainloop); + +- if (p->context) ++ if (p->context) { ++ pa_context_disconnect(p->context); + pa_context_unref(p->context); ++ } + + if (p->mainloop) + pa_threaded_mainloop_free(p->mainloop); + +- if (p->main_fd >= 0) +- close(p->main_fd); +- + if (p->thread_fd >= 0) + close(p->thread_fd); + +- free(p); +- +- return NULL; +-} +- +-void pulse_free(snd_pulse_t * p) +-{ +- pa_threaded_mainloop_stop(p->mainloop); +- +- pa_context_disconnect(p->context); +- pa_context_unref(p->context); +- pa_threaded_mainloop_free(p->mainloop); +- +- close(p->thread_fd); +- close(p->main_fd); ++ if (p->main_fd >= 0) ++ close(p->main_fd); + + free(p); + } +-- +1.6.3.3 + diff --git a/0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch b/0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch new file mode 100644 index 0000000..720981f --- /dev/null +++ b/0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch @@ -0,0 +1,40 @@ +From 97e12ff5b53d569bb63d3ea32241d56f2f14cb73 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 15:34:13 +0200 +Subject: [PATCH 4/4] pulse: call pa_threaded_mainloop_wait() to handle spurious wakeups + +pa_threaded_mainloop_wait() can wake up for no reason, according to the +specs of the underlying POSIX ptrhead_cond_wait() docs, so we need to +call it in a loop here which should be cleaner anyway. +--- + pulse/pulse.c | 13 ++++++++++--- + 1 files changed, 10 insertions(+), 3 deletions(-) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index ae66b0c..6f58a7e 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -262,10 +262,17 @@ int pulse_connect(snd_pulse_t * p, const char *server) + if (err < 0) + goto error; + +- pa_threaded_mainloop_wait(p->mainloop); ++ for (;;) { ++ pa_context_state_t state = pa_context_get_state(p->context); + +- if (pa_context_get_state(p->context) != PA_CONTEXT_READY) +- goto error; ++ if (!PA_CONTEXT_IS_GOOD(state)) ++ goto error; ++ ++ if (state == PA_CONTEXT_READY) ++ break; ++ ++ pa_threaded_mainloop_wait(p->mainloop); ++ } + + pa_threaded_mainloop_unlock(p->mainloop); + +-- +1.6.3.3 + From c6ba4aa84c387f6d7c469d00ecb4a3c3e8a5dd43 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 4 Aug 2009 22:15:24 +0000 Subject: [PATCH 027/126] Add a couple of more clean up patches for the pulse plugin --- 0001-alsa-plugins-pulse-Implement-pause.patch | 59 --- ...ulse-get-rid-of-a-number-of-assert-s.patch | 20 +- ...-PA_CONTEXT_IS_GOOD-where-applicable.patch | 53 --- ...-PA_CONTEXT_IS_GOOD-where-applicable.patch | 41 ++ ...lse-unify-destruction-of-snd_pulse_t.patch | 11 +- ...readed_mainloop_wait-to-handle-spuri.patch | 12 +- ...nual-mainloop-by-pa_mainloop_iterate.patch | 37 ++ ...ple-of-PCM-related-functions-from-pu.patch | 315 +++++++++++++ ...-get-rid-of-redundant-state-variable.patch | 87 ++++ ...se-unify-stream-context-state-checks.patch | 434 ++++++++++++++++++ ...ework-object-destruction-paths-a-bit.patch | 73 +++ ...y-trigger-EIO-when-connection-is-dro.patch | 42 ++ alsa-plugins.spec | 29 +- 13 files changed, 1075 insertions(+), 138 deletions(-) delete mode 100644 0001-alsa-plugins-pulse-Implement-pause.patch rename 0001-alsa-get-rid-of-a-number-of-assert-s.patch => 0002-pulse-get-rid-of-a-number-of-assert-s.patch (95%) delete mode 100644 0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch create mode 100644 0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch rename 0003-pulse-unify-destruction-of-snd_pulse_t.patch => 0004-pulse-unify-destruction-of-snd_pulse_t.patch (80%) rename 0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch => 0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch (75%) create mode 100644 0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch create mode 100644 0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch create mode 100644 0008-pulse-get-rid-of-redundant-state-variable.patch create mode 100644 0009-pulse-unify-stream-context-state-checks.patch create mode 100644 0010-pulse-rework-object-destruction-paths-a-bit.patch create mode 100644 0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch diff --git a/0001-alsa-plugins-pulse-Implement-pause.patch b/0001-alsa-plugins-pulse-Implement-pause.patch deleted file mode 100644 index 8172382..0000000 --- a/0001-alsa-plugins-pulse-Implement-pause.patch +++ /dev/null @@ -1,59 +0,0 @@ -From d9a839d51255c939f394f770b249c8a4a9600122 Mon Sep 17 00:00:00 2001 -From: Troy Moure -Date: Thu, 18 Jun 2009 14:55:21 +0100 -Subject: [PATCH] alsa-plugins/pulse: Implement 'pause'. - -Just cork or uncork the stream to pause or unpause it. - -Signed-off-by: Troy Moure -Signed-off-by: Takashi Iwai ---- - pulse/pcm_pulse.c | 25 +++++++++++++++++++++++++ - 1 files changed, 25 insertions(+), 0 deletions(-) - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index db8d1e1..c276839 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -739,6 +739,30 @@ static int pulse_close(snd_pcm_ioplug_t * io) - return 0; - } - -+static int pulse_pause(snd_pcm_ioplug_t * io, int enable) -+{ -+ snd_pcm_pulse_t *pcm = io->private_data; -+ int err = 0; -+ -+ assert (pcm); -+ assert (pcm->p); -+ -+ pa_threaded_mainloop_lock(pcm->p->mainloop); -+ -+ if (pcm->stream) { -+ pa_operation *o; -+ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); -+ if (o) -+ pa_operation_unref(o); -+ else -+ err = -EIO; -+ } -+ -+ pa_threaded_mainloop_unlock(pcm->p->mainloop); -+ -+ return err; -+} -+ - static const snd_pcm_ioplug_callback_t pulse_playback_callback = { - .start = pulse_start, - .stop = pulse_stop, -@@ -750,6 +774,7 @@ static const snd_pcm_ioplug_callback_t pulse_playback_callback = { - .prepare = pulse_prepare, - .hw_params = pulse_hw_params, - .close = pulse_close, -+ .pause = pulse_pause - }; - - --- -1.6.3.3 - diff --git a/0001-alsa-get-rid-of-a-number-of-assert-s.patch b/0002-pulse-get-rid-of-a-number-of-assert-s.patch similarity index 95% rename from 0001-alsa-get-rid-of-a-number-of-assert-s.patch rename to 0002-pulse-get-rid-of-a-number-of-assert-s.patch index 5a549c6..1f871e7 100644 --- a/0001-alsa-get-rid-of-a-number-of-assert-s.patch +++ b/0002-pulse-get-rid-of-a-number-of-assert-s.patch @@ -1,21 +1,23 @@ -From ae28f795b7a3f626e2c02e0805936e07b06ed290 Mon Sep 17 00:00:00 2001 +From be8799947bac41c50460111b0ac20ff8176b6b47 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Fri, 31 Jul 2009 15:25:44 +0200 -Subject: [PATCH 1/4] alsa: get rid of a number of assert()s +Subject: [PATCH 02/11] pulse: get rid of a number of assert()s Instead of hitting an assert when any of the plugin functions is called in an invalid context we should return a clean error to make sure programs are not unnecessarily aborted. This should fix issues such as http://pulseaudio.org/ticket/595 + +Signed-off-by: Takashi Iwai --- - pulse/ctl_pulse.c | 35 +++++++++++++++++------ + pulse/ctl_pulse.c | 35 ++++++++++++++++++----- pulse/pcm_pulse.c | 79 +++++++++++++++++++++++++++++++++++++++++------------ pulse/pulse.c | 34 ++++++++++++++++------- - 3 files changed, 111 insertions(+), 37 deletions(-) + 3 files changed, 112 insertions(+), 36 deletions(-) diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c -index c6cf9e2..1b057ef 100644 +index c6cf9e2..2caa29b 100644 --- a/pulse/ctl_pulse.c +++ b/pulse/ctl_pulse.c @@ -125,8 +125,9 @@ static void event_cb(pa_context * c, pa_subscription_event_type_t t, @@ -105,12 +107,12 @@ index c6cf9e2..1b057ef 100644 pa_threaded_mainloop_lock(ctl->p->mainloop); if (!ctl->updated || !ctl->subscribed) -@@ -525,8 +542,8 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, - snd_ctl_pulse_t *ctl = ext->private_data; +@@ -526,7 +543,9 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, int err = 0; -- assert(ctl); + assert(ctl); - assert(ctl->p); ++ + if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) + return -EBADFD; @@ -394,5 +396,5 @@ index 3940238..95d8dde 100644 pa_threaded_mainloop_lock(p->mainloop); -- -1.6.3.3 +1.6.4 diff --git a/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch b/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch deleted file mode 100644 index 5b3d770..0000000 --- a/0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch +++ /dev/null @@ -1,53 +0,0 @@ -From bf4d77ef87be83c3f9f249575cc4d08e7fb554df Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 15:32:25 +0200 -Subject: [PATCH 2/4] pulse: use PA_CONTEXT_IS_GOOD where applicable - -PA_CONTEXT_IS_GOOD is a safer way to check whether a context is still -valid. - -This patch also bumps the version requirement of libpulse to 0.9.11. ---- - configure.in | 2 +- - pulse/pulse.c | 5 ++--- - 2 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/configure.in b/configure.in -index 36740e9..f8bc669 100644 ---- a/configure.in -+++ b/configure.in -@@ -30,7 +30,7 @@ AC_ARG_ENABLE([pulseaudio], - AS_HELP_STRING([--disable-pulseaudio], [Disable building of pulseaudio plugin])) - - if test "x$enable_pulseaudio" != "xno"; then -- PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.2], [HAVE_PULSE=yes], [HAVE_PULSE=no]) -+ PKG_CHECK_MODULES(pulseaudio, [libpulse >= 0.9.11], [HAVE_PULSE=yes], [HAVE_PULSE=no]) - fi - AM_CONDITIONAL(HAVE_PULSE, test x$HAVE_PULSE = xyes) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index 95d8dde..dd17384 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -38,7 +38,7 @@ int pulse_check_connection(snd_pulse_t * p) - - state = pa_context_get_state(p->context); - -- if (state != PA_CONTEXT_READY) -+ if (!PA_CONTEXT_IS_GOOD(state)) - return -EIO; - - return 0; -@@ -127,8 +127,7 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, - if (state == target) - break; - -- if (state == PA_STREAM_FAILED || -- state == PA_STREAM_TERMINATED) -+ if (!PA_STREAM_IS_GOOD(state)) - return -EIO; - - pa_threaded_mainloop_wait(p->mainloop); --- -1.6.3.3 - diff --git a/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch b/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch new file mode 100644 index 0000000..99abef6 --- /dev/null +++ b/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch @@ -0,0 +1,41 @@ +From d2ea09f162f114480516a9d993d3d71bf357c835 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 16:01:52 +0200 +Subject: [PATCH 03/11] pulse: use PA_CONTEXT_IS_GOOD where applicable + +PA_CONTEXT_IS_GOOD is a safer way to check whether a context is still +valid. + +This patch also bumps the version requirement of libpulse to 0.9.11. + +Signed-off-by: Takashi Iwai +--- + pulse/pulse.c | 5 ++--- + 1 files changed, 2 insertions(+), 3 deletions(-) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 95d8dde..dd17384 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -38,7 +38,7 @@ int pulse_check_connection(snd_pulse_t * p) + + state = pa_context_get_state(p->context); + +- if (state != PA_CONTEXT_READY) ++ if (!PA_CONTEXT_IS_GOOD(state)) + return -EIO; + + return 0; +@@ -127,8 +127,7 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, + if (state == target) + break; + +- if (state == PA_STREAM_FAILED || +- state == PA_STREAM_TERMINATED) ++ if (!PA_STREAM_IS_GOOD(state)) + return -EIO; + + pa_threaded_mainloop_wait(p->mainloop); +-- +1.6.4 + diff --git a/0003-pulse-unify-destruction-of-snd_pulse_t.patch b/0004-pulse-unify-destruction-of-snd_pulse_t.patch similarity index 80% rename from 0003-pulse-unify-destruction-of-snd_pulse_t.patch rename to 0004-pulse-unify-destruction-of-snd_pulse_t.patch index 90ab33c..379a55f 100644 --- a/0003-pulse-unify-destruction-of-snd_pulse_t.patch +++ b/0004-pulse-unify-destruction-of-snd_pulse_t.patch @@ -1,8 +1,9 @@ -From 563bf2ff83018bdd03a5159522e1fb2ce6532d47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 15:33:52 +0200 -Subject: [PATCH 3/4] pulse: unify destruction of snd_pulse_t +From 422958fa4b8101af842220a67e77c8090ad34a8b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 16:02:05 +0200 +Subject: [PATCH 04/11] pulse: unify destruction of snd_pulse_t +Signed-off-by: Takashi Iwai --- pulse/pulse.c | 31 ++++++++++++------------------- 1 files changed, 12 insertions(+), 19 deletions(-) @@ -61,5 +62,5 @@ index dd17384..ae66b0c 100644 free(p); } -- -1.6.3.3 +1.6.4 diff --git a/0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch b/0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch similarity index 75% rename from 0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch rename to 0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch index 720981f..284219d 100644 --- a/0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch +++ b/0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch @@ -1,11 +1,13 @@ -From 97e12ff5b53d569bb63d3ea32241d56f2f14cb73 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 15:34:13 +0200 -Subject: [PATCH 4/4] pulse: call pa_threaded_mainloop_wait() to handle spurious wakeups +From 16f837ec71a254a6bff7d26faf55237c4df5749c Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Fri, 31 Jul 2009 16:02:21 +0200 +Subject: [PATCH 05/11] pulse: call pa_threaded_mainloop_wait() to handle spurious wakeups pa_threaded_mainloop_wait() can wake up for no reason, according to the specs of the underlying POSIX ptrhead_cond_wait() docs, so we need to call it in a loop here which should be cleaner anyway. + +Signed-off-by: Takashi Iwai --- pulse/pulse.c | 13 ++++++++++--- 1 files changed, 10 insertions(+), 3 deletions(-) @@ -36,5 +38,5 @@ index ae66b0c..6f58a7e 100644 pa_threaded_mainloop_unlock(p->mainloop); -- -1.6.3.3 +1.6.4 diff --git a/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch b/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch new file mode 100644 index 0000000..cbe0745 --- /dev/null +++ b/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch @@ -0,0 +1,37 @@ +From 76d34749c05ba77614f648128ad7045681f547ae Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:53:51 +0200 +Subject: [PATCH 06/11] pulse: replace manual mainloop by pa_mainloop_iterate() + +The pa_mainloop_prepare()/_poll()/_dispatch() can be simplified by +simply calling pa_mainloop_iterate() which does all this in one call. + +Signed-off-by: Takashi Iwai +--- + pulse/conf_pulse.c | 10 +--------- + 1 files changed, 1 insertions(+), 9 deletions(-) + +diff --git a/pulse/conf_pulse.c b/pulse/conf_pulse.c +index 3f9e071..35dd383 100644 +--- a/pulse/conf_pulse.c ++++ b/pulse/conf_pulse.c +@@ -61,15 +61,7 @@ conf_pulse_hook_load_if_running(snd_config_t * root, snd_config_t * config, + goto out; + + do { +- err = pa_mainloop_prepare(loop, -1); +- if (err < 0) +- goto out; +- +- err = pa_mainloop_poll(loop); +- if (err < 0) +- goto out; +- +- err = pa_mainloop_dispatch(loop); ++ err = pa_mainloop_iterate(loop, 1, NULL); + if (err < 0) + goto out; + +-- +1.6.4 + diff --git a/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch b/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch new file mode 100644 index 0000000..f99b8f7 --- /dev/null +++ b/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch @@ -0,0 +1,315 @@ +From f74878bc610bccc4656f8194f29176cf9c956de9 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:54:24 +0200 +Subject: [PATCH 07/11] pulse: move a couple of PCM related functions from pulse.c to pcm_pulse.c + +A number of functions in pulse.c are only relevant for the PCM handling, +so let's move them to pcm_pulse.c. This allows us to simplify their +argument lists a bit. + +Signed-off-by: Takashi Iwai +--- + pulse/pcm_pulse.c | 118 ++++++++++++++++++++++++++++++++++++++++++---------- + pulse/pulse.c | 55 ------------------------- + pulse/pulse.h | 4 -- + 3 files changed, 95 insertions(+), 82 deletions(-) + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index 24347f9..a625f55 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -49,6 +49,32 @@ typedef struct snd_pcm_pulse { + pa_buffer_attr buffer_attr; + } snd_pcm_pulse_t; + ++static int check_stream(snd_pcm_pulse_t *pcm) ++{ ++ int err; ++ pa_stream_state_t state; ++ ++ assert(pcm); ++ ++ if (!pcm->p) ++ return -EBADFD; ++ ++ err = pulse_check_connection(pcm->p); ++ if (err < 0) ++ return err; ++ ++ if (!pcm->stream) ++ return -EBADFD; ++ ++ state = pa_stream_get_state(pcm->stream); ++ if (!PA_STREAM_IS_GOOD(state)) ++ return -EIO; ++ ++ err = 0; ++ ++ return err; ++} ++ + static int update_ptr(snd_pcm_pulse_t *pcm) + { + size_t size; +@@ -118,9 +144,53 @@ static int update_active(snd_pcm_pulse_t *pcm) { + else + pulse_poll_deactivate(pcm->p); + ++ return ret; ++} ++ ++static int wait_stream_state(snd_pcm_pulse_t *pcm, pa_stream_state_t target) ++{ ++ pa_stream_state_t state; ++ ++ assert(pcm); ++ ++ if (!pcm->p) ++ return -EBADFD; ++ ++ for (;;) { ++ int err; ++ ++ err = pulse_check_connection(pcm->p); ++ if (err < 0) ++ return err; ++ ++ if (!pcm->stream) ++ return -EBADFD; ++ ++ state = pa_stream_get_state(pcm->stream); ++ if (state == target) ++ break; ++ ++ if (!PA_STREAM_IS_GOOD(state)) ++ return -EIO; ++ ++ pa_threaded_mainloop_wait(pcm->p->mainloop); ++ } ++ + return 0; + } + ++static void stream_success_cb(pa_stream * p, int success, void *userdata) ++{ ++ snd_pcm_pulse_t *pcm = userdata; ++ ++ assert(pcm); ++ ++ if (!pcm->p) ++ return; ++ ++ pa_threaded_mainloop_signal(pcm->p->mainloop, 0); ++} ++ + static int pulse_start(snd_pcm_ioplug_t * io) + { + snd_pcm_pulse_t *pcm = io->private_data; +@@ -138,18 +208,13 @@ static int pulse_start(snd_pcm_ioplug_t * io) + if (err < 0) + goto finish; + +- if (pcm->stream == NULL) +- goto finish; +- +- o = pa_stream_cork(pcm->stream, 0, pulse_stream_success_cb, +- pcm->p); ++ o = pa_stream_cork(pcm->stream, 0, stream_success_cb, pcm); + if (!o) { + err = -EIO; + goto finish; + } + +- u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb, +- pcm->p); ++ u = pa_stream_trigger(pcm->stream, stream_success_cb, pcm); + + pcm->underrun = 0; + err_o = pulse_wait_operation(pcm->p, o); +@@ -165,7 +230,6 @@ static int pulse_start(snd_pcm_ioplug_t * io) + goto finish; + } + +- + finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); + +@@ -189,18 +253,13 @@ static int pulse_stop(snd_pcm_ioplug_t * io) + if (err < 0) + goto finish; + +- if (pcm->stream == NULL) +- goto finish; +- +- o = pa_stream_cork(pcm->stream, 1, pulse_stream_success_cb, +- pcm->p); ++ o = pa_stream_cork(pcm->stream, 1, stream_success_cb, pcm); + if (!o) { + err = -EIO; + goto finish; + } + +- u = pa_stream_flush(pcm->stream, pulse_stream_success_cb, +- pcm->p); ++ u = pa_stream_flush(pcm->stream, stream_success_cb, pcm); + if (!u) { + pa_operation_unref(o); + err = -EIO; +@@ -241,7 +300,7 @@ static int pulse_drain(snd_pcm_ioplug_t * io) + if (err < 0) + goto finish; + +- o = pa_stream_drain(pcm->stream, pulse_stream_success_cb, pcm->p); ++ o = pa_stream_drain(pcm->stream, stream_success_cb, pcm); + if (!o) { + err = -EIO; + goto finish; +@@ -504,6 +563,23 @@ finish: + return ret; + } + ++static void stream_state_cb(pa_stream * p, void *userdata) ++{ ++ snd_pcm_pulse_t *pcm = userdata; ++ pa_stream_state_t state; ++ ++ assert(pcm); ++ ++ if (!pcm->p) ++ return; ++ ++ state = pa_stream_get_state(p); ++ if (!PA_STREAM_IS_GOOD(state)) ++ pulse_poll_activate(pcm->p); ++ ++ pa_threaded_mainloop_signal(pcm->p->mainloop, 0); ++} ++ + static void stream_request_cb(pa_stream * p, size_t length, void *userdata) + { + snd_pcm_pulse_t *pcm = userdata; +@@ -586,8 +662,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) + + if (pcm->stream) { + pa_stream_disconnect(pcm->stream); +- pulse_wait_stream_state(pcm->p, pcm->stream, +- PA_STREAM_TERMINATED); ++ wait_stream_state(pcm, PA_STREAM_TERMINATED); + pa_stream_unref(pcm->stream); + pcm->stream = NULL; + } +@@ -620,9 +695,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) + goto finish; + } + +- pa_stream_set_state_callback(pcm->stream, pulse_stream_state_cb, +- pcm->p); +- ++ pa_stream_set_state_callback(pcm->stream, stream_state_cb, pcm); + pa_stream_set_latency_update_callback(pcm->stream, stream_latency_cb, pcm); + + if (io->stream == SND_PCM_STREAM_PLAYBACK) { +@@ -659,8 +732,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) + goto finish; + } + +- err = +- pulse_wait_stream_state(pcm->p, pcm->stream, PA_STREAM_READY); ++ err = wait_stream_state(pcm, PA_STREAM_READY); + if (err < 0) { + SNDERR("PulseAudio: Unable to create stream: %s\n", pa_strerror(pa_context_errno(pcm->p->context))); + pa_stream_unref(pcm->stream); +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 6f58a7e..c313182 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -44,26 +44,6 @@ int pulse_check_connection(snd_pulse_t * p) + return 0; + } + +-void pulse_stream_state_cb(pa_stream * s, void *userdata) +-{ +- snd_pulse_t *p = userdata; +- +- assert(s); +- assert(p); +- +- pa_threaded_mainloop_signal(p->mainloop, 0); +-} +- +-void pulse_stream_success_cb(pa_stream * s, int success, void *userdata) +-{ +- snd_pulse_t *p = userdata; +- +- assert(s); +- assert(p); +- +- pa_threaded_mainloop_signal(p->mainloop, 0); +-} +- + void pulse_context_success_cb(pa_context * c, int success, void *userdata) + { + snd_pulse_t *p = userdata; +@@ -101,41 +81,6 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) + return 0; + } + +-int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, +- pa_stream_state_t target) +-{ +- pa_stream_state_t state; +- +- assert(p); +- assert(stream); +- +- if (p->state != PULSE_STATE_READY) +- return -EBADFD; +- +- if (!p->mainloop) +- return -EBADFD; +- +- for (;;) { +- int err; +- +- err = pulse_check_connection(p); +- if (err < 0) +- return err; +- +- state = pa_stream_get_state(stream); +- +- if (state == target) +- break; +- +- if (!PA_STREAM_IS_GOOD(state)) +- return -EIO; +- +- pa_threaded_mainloop_wait(p->mainloop); +- } +- +- return 0; +-} +- + static void context_state_cb(pa_context * c, void *userdata) + { + snd_pulse_t *p = userdata; +diff --git a/pulse/pulse.h b/pulse/pulse.h +index 7bf1a5b..51f9a11 100644 +--- a/pulse/pulse.h ++++ b/pulse/pulse.h +@@ -41,13 +41,9 @@ typedef struct snd_pulse { + + int pulse_check_connection(snd_pulse_t * p); + +-void pulse_stream_state_cb(pa_stream * s, void *userdata); +-void pulse_stream_success_cb(pa_stream * s, int success, void *userdata); + void pulse_context_success_cb(pa_context * c, int success, void *userdata); + + int pulse_wait_operation(snd_pulse_t * p, pa_operation * o); +-int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, +- pa_stream_state_t target); + + snd_pulse_t *pulse_new(void); + void pulse_free(snd_pulse_t * p); +-- +1.6.4 + diff --git a/0008-pulse-get-rid-of-redundant-state-variable.patch b/0008-pulse-get-rid-of-redundant-state-variable.patch new file mode 100644 index 0000000..25d9075 --- /dev/null +++ b/0008-pulse-get-rid-of-redundant-state-variable.patch @@ -0,0 +1,87 @@ +From c3acf0f4df121fef0014bd165fa86ccb1060d669 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:54:42 +0200 +Subject: [PATCH 08/11] pulse: get rid of redundant state variable + +snd_pulse_t::state was mostly shadowing the state of +pa_context_get_state(snd_pulse_t::context), so get rid of it and use the +state of the context directly. + +Signed-off-by: Takashi Iwai +--- + pulse/pulse.c | 14 +++----------- + pulse/pulse.h | 6 ------ + 2 files changed, 3 insertions(+), 17 deletions(-) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index c313182..9c05171 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -59,12 +59,6 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) + assert(p); + assert(o); + +- if (p->state != PULSE_STATE_READY) +- return -EBADFD; +- +- if (!p->mainloop) +- return -EBADFD; +- + for (;;) { + int err; + +@@ -124,8 +118,6 @@ snd_pulse_t *pulse_new(void) + if (!p) + return NULL; + +- p->state = PULSE_STATE_INIT; +- + if (pipe(fd)) { + free(p); + return NULL; +@@ -192,13 +184,15 @@ void pulse_free(snd_pulse_t * p) + int pulse_connect(snd_pulse_t * p, const char *server) + { + int err; ++ pa_context_state_t state; + + assert(p); + + if (!p->context || !p->mainloop) + return -EBADFD; + +- if (p->state != PULSE_STATE_INIT) ++ state = pa_context_get_state(p->context); ++ if (state != PA_CONTEXT_UNCONNECTED) + return -EBADFD; + + pa_threaded_mainloop_lock(p->mainloop); +@@ -221,8 +215,6 @@ int pulse_connect(snd_pulse_t * p, const char *server) + + pa_threaded_mainloop_unlock(p->mainloop); + +- p->state = PULSE_STATE_READY; +- + return 0; + + error: +diff --git a/pulse/pulse.h b/pulse/pulse.h +index 51f9a11..e98124f 100644 +--- a/pulse/pulse.h ++++ b/pulse/pulse.h +@@ -31,12 +31,6 @@ typedef struct snd_pulse { + pa_context *context; + + int thread_fd, main_fd; +- +- enum { +- PULSE_STATE_INIT, +- PULSE_STATE_READY, +- } state; +- + } snd_pulse_t; + + int pulse_check_connection(snd_pulse_t * p); +-- +1.6.4 + diff --git a/0009-pulse-unify-stream-context-state-checks.patch b/0009-pulse-unify-stream-context-state-checks.patch new file mode 100644 index 0000000..72103f5 --- /dev/null +++ b/0009-pulse-unify-stream-context-state-checks.patch @@ -0,0 +1,434 @@ +From 59ccd2aca941b4653803f5415b4985ab35de0c35 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:55:05 +0200 +Subject: [PATCH 09/11] pulse: unify stream/context state checks + +Unify (and simplify) the paths that check for the validity of a +stream/context: always call into check_stream()/pulse_check_connection() +when applicable instead of rolling our own checks each time. Also check +for validity of mainloop before locking it. + +Signed-off-by: Takashi Iwai +--- + pulse/ctl_pulse.c | 72 ++++++++++++++++++++++++++++++++---------- + pulse/pcm_pulse.c | 90 +++++++++++++++++++++++----------------------------- + 2 files changed, 95 insertions(+), 67 deletions(-) + +diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c +index 2caa29b..879f260 100644 +--- a/pulse/ctl_pulse.c ++++ b/pulse/ctl_pulse.c +@@ -150,9 +150,13 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p) + return -EBADFD; + ++ err = pulse_check_connection(ctl->p); ++ if (err < 0) ++ return err; ++ + o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, + sink_info_cb, ctl); + if (o) { +@@ -182,17 +186,27 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) + static int pulse_elem_count(snd_ctl_ext_t * ext) + { + snd_ctl_pulse_t *ctl = ext->private_data; +- int count = 0; ++ int count = 0, err; + + assert(ctl); + ++ if (!ctl->p || !ctl->p->mainloop) ++ return -EBADFD; ++ + pa_threaded_mainloop_lock(ctl->p->mainloop); + ++ err = pulse_check_connection(ctl->p); ++ if (err < 0) { ++ count = err; ++ goto finish; ++ } ++ + if (ctl->source) + count += 2; + if (ctl->sink) + count += 2; + ++finish: + pa_threaded_mainloop_unlock(ctl->p->mainloop); + + return count; +@@ -202,16 +216,21 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, + snd_ctl_elem_id_t * id) + { + snd_ctl_pulse_t *ctl = ext->private_data; ++ int err; + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); + + pa_threaded_mainloop_lock(ctl->p->mainloop); + ++ err = pulse_check_connection(ctl->p); ++ if (err < 0) ++ goto finish; ++ + if (ctl->source) { + if (offset == 0) + snd_ctl_elem_id_set_name(id, SOURCE_VOL_NAME); +@@ -220,14 +239,19 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, + } else + offset += 2; + ++ err = 0; ++ ++finish: + pa_threaded_mainloop_unlock(ctl->p->mainloop); + +- if (offset == 2) +- snd_ctl_elem_id_set_name(id, SINK_VOL_NAME); +- else if (offset == 3) +- snd_ctl_elem_id_set_name(id, SINK_MUTE_NAME); ++ if (err >= 0) { ++ if (offset == 2) ++ snd_ctl_elem_id_set_name(id, SINK_VOL_NAME); ++ else if (offset == 3) ++ snd_ctl_elem_id_set_name(id, SINK_MUTE_NAME); ++ } + +- return 0; ++ return err; + } + + static snd_ctl_ext_key_t pulse_find_elem(snd_ctl_ext_t * ext, +@@ -266,7 +290,7 @@ static int pulse_get_attribute(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); +@@ -319,7 +343,7 @@ static int pulse_read_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); +@@ -371,7 +395,7 @@ static int pulse_write_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); +@@ -476,7 +500,7 @@ static void pulse_subscribe_events(snd_ctl_ext_t * ext, int subscribe) + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return; + + pa_threaded_mainloop_lock(ctl->p->mainloop); +@@ -491,17 +515,23 @@ static int pulse_read_event(snd_ctl_ext_t * ext, snd_ctl_elem_id_t * id, + { + snd_ctl_pulse_t *ctl = ext->private_data; + int offset; +- int err = -EAGAIN; ++ int err; + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + +- if (!ctl->updated || !ctl->subscribed) ++ err = pulse_check_connection(ctl->p); ++ if (err < 0) ++ goto finish; ++ ++ if (!ctl->updated || !ctl->subscribed) { ++ err = -EAGAIN; + goto finish; ++ } + + if (ctl->source) + offset = 2; +@@ -540,20 +570,28 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, + unsigned short *revents) + { + snd_ctl_pulse_t *ctl = ext->private_data; +- int err = 0; ++ int err; + + assert(ctl); + +- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) ++ if (!ctl->p || !ctl->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(ctl->p->mainloop); + ++ err = pulse_check_connection(ctl->p); ++ if (err < 0) ++ goto finish; ++ + if (ctl->updated) + *revents = POLLIN; + else + *revents = 0; + ++ err = 0; ++ ++finish: ++ + pa_threaded_mainloop_unlock(ctl->p->mainloop); + + return err; +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index a625f55..98983f8 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -135,11 +135,15 @@ static int update_active(snd_pcm_pulse_t *pcm) { + if (!pcm->p) + return -EBADFD; + +- ret = check_active(pcm); ++ ret = check_stream(pcm); + if (ret < 0) +- return ret; ++ goto finish; ++ ++ ret = check_active(pcm); + +- if (ret > 0) ++finish: ++ ++ if (ret != 0) /* On error signal the caller, too */ + pulse_poll_activate(pcm->p); + else + pulse_poll_deactivate(pcm->p); +@@ -199,12 +203,12 @@ static int pulse_start(snd_pcm_ioplug_t * io) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- err = pulse_check_connection(pcm->p); ++ err = check_stream(pcm); + if (err < 0) + goto finish; + +@@ -244,12 +248,12 @@ static int pulse_stop(snd_pcm_ioplug_t * io) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- err = pulse_check_connection(pcm->p); ++ err = check_stream(pcm); + if (err < 0) + goto finish; + +@@ -291,12 +295,12 @@ static int pulse_drain(snd_pcm_ioplug_t * io) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- err = pulse_check_connection(pcm->p); ++ err = check_stream(pcm); + if (err < 0) + goto finish; + +@@ -328,7 +332,7 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + if (io->state == SND_PCM_STATE_XRUN) +@@ -339,12 +343,7 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- if (!pcm->stream) { +- ret = -EBADFD; +- goto finish; +- } +- +- ret = pulse_check_connection(pcm->p); ++ ret = check_stream(pcm); + if (ret < 0) + goto finish; + +@@ -379,18 +378,13 @@ static int pulse_delay(snd_pcm_ioplug_t * io, snd_pcm_sframes_t * delayp) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- if (!pcm->stream) { +- err = -EBADFD; +- goto finish; +- } +- + for (;;) { +- err = pulse_check_connection(pcm->p); ++ err = check_stream(pcm); + if (err < 0) + goto finish; + +@@ -433,17 +427,12 @@ static snd_pcm_sframes_t pulse_write(snd_pcm_ioplug_t * io, + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- if (!pcm->stream) { +- ret = -EBADFD; +- goto finish; +- } +- +- ret = pulse_check_connection(pcm->p); ++ ret = check_stream(pcm); + if (ret < 0) + goto finish; + +@@ -493,17 +482,12 @@ static snd_pcm_sframes_t pulse_read(snd_pcm_ioplug_t * io, + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- if (!pcm->stream) { +- ret = -EBADFD; +- goto finish; +- } +- +- ret = pulse_check_connection(pcm->p); ++ ret = check_stream(pcm); + if (ret < 0) + goto finish; + +@@ -624,13 +608,16 @@ static int pulse_pcm_poll_revents(snd_pcm_ioplug_t * io, + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- err = check_active(pcm); ++ err = check_stream(pcm); ++ if (err < 0) ++ goto finish; + ++ err = check_active(pcm); + if (err < 0) + goto finish; + +@@ -655,7 +642,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); +@@ -757,7 +744,7 @@ static int pulse_hw_params(snd_pcm_ioplug_t * io, + + assert(pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); +@@ -856,23 +843,26 @@ static int pulse_pause(snd_pcm_ioplug_t * io, int enable) + { + snd_pcm_pulse_t *pcm = io->private_data; + int err = 0; ++ pa_operation *o; + + assert (pcm); + +- if (!pcm->p) ++ if (!pcm->p || !pcm->p->mainloop) + return -EBADFD; + + pa_threaded_mainloop_lock(pcm->p->mainloop); + +- if (pcm->stream) { +- pa_operation *o; +- o = pa_stream_cork(pcm->stream, enable, NULL, NULL); +- if (o) +- pa_operation_unref(o); +- else +- err = -EIO; +- } ++ err = check_stream(pcm); ++ if (err < 0) ++ goto finish; ++ ++ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); ++ if (o) ++ pa_operation_unref(o); ++ else ++ err = -EIO; + ++finish: + pa_threaded_mainloop_unlock(pcm->p->mainloop); + + return err; +-- +1.6.4 + diff --git a/0010-pulse-rework-object-destruction-paths-a-bit.patch b/0010-pulse-rework-object-destruction-paths-a-bit.patch new file mode 100644 index 0000000..5783e4d --- /dev/null +++ b/0010-pulse-rework-object-destruction-paths-a-bit.patch @@ -0,0 +1,73 @@ +From 50562a9d5d54270ab67f183013204d24cdbeff21 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:55:28 +0200 +Subject: [PATCH 10/11] pulse: rework object destruction paths a bit + +Make sure we deal better with partially initialized structs. + +Don't check for pointer state before calling free() since free() does +that anyway. + +Signed-off-by: Takashi Iwai +--- + pulse/ctl_pulse.c | 7 ++----- + pulse/pcm_pulse.c | 19 ++++++++++--------- + 2 files changed, 12 insertions(+), 14 deletions(-) + +diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c +index 879f260..85863ed 100644 +--- a/pulse/ctl_pulse.c ++++ b/pulse/ctl_pulse.c +@@ -606,11 +606,8 @@ static void pulse_close(snd_ctl_ext_t * ext) + if (ctl->p) + pulse_free(ctl->p); + +- if (ctl->source) +- free(ctl->source); +- if (ctl->sink) +- free(ctl->sink); +- ++ free(ctl->source); ++ free(ctl->sink); + free(ctl); + } + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index 98983f8..02a837e 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -819,21 +819,22 @@ static int pulse_close(snd_pcm_ioplug_t * io) + + assert(pcm); + +- pa_threaded_mainloop_lock(pcm->p->mainloop); ++ if (pcm->p && pcm->p->mainloop) { + +- if (pcm->stream) { +- pa_stream_disconnect(pcm->stream); +- pa_stream_unref(pcm->stream); +- } ++ pa_threaded_mainloop_lock(pcm->p->mainloop); + +- pa_threaded_mainloop_unlock(pcm->p->mainloop); ++ if (pcm->stream) { ++ pa_stream_disconnect(pcm->stream); ++ pa_stream_unref(pcm->stream); ++ } ++ ++ pa_threaded_mainloop_unlock(pcm->p->mainloop); ++ } + + if (pcm->p) + pulse_free(pcm->p); + +- if (pcm->device) +- free(pcm->device); +- ++ free(pcm->device); + free(pcm); + + return 0; +-- +1.6.4 + diff --git a/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch b/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch new file mode 100644 index 0000000..615c6ed --- /dev/null +++ b/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch @@ -0,0 +1,42 @@ +From 4c71fdd22dbfaf7b5fb7de62bbc9dd4002e788db Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Tue, 4 Aug 2009 23:56:00 +0200 +Subject: [PATCH 11/11] pulse: immediately trigger EIO when connection is dropped + +When the connection is dropped notify the application immediately +instead of waiting until the applications calls into us the next time. + +This makes "aplay" handle connections shutdown similar to hardware +unplugs: an immediate EIO is thrown. + +Signed-off-by: Takashi Iwai +--- + pulse/pulse.c | 9 ++++++++- + 1 files changed, 8 insertions(+), 1 deletions(-) + +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 9c05171..f26363a 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -77,10 +77,17 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) + + static void context_state_cb(pa_context * c, void *userdata) + { ++ pa_context_state_t state; + snd_pulse_t *p = userdata; + assert(c); + +- switch (pa_context_get_state(c)) { ++ state = pa_context_get_state(c); ++ ++ /* When we get disconnected, tell the process */ ++ if (!PA_CONTEXT_IS_GOOD(state)) ++ pulse_poll_activate(p); ++ ++ switch (state) { + case PA_CONTEXT_READY: + case PA_CONTEXT_TERMINATED: + case PA_CONTEXT_FAILED: +-- +1.6.4 + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 37d745e..2fc9255 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.20 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -16,11 +16,17 @@ Source6: vdownmix.conf Source7: pulse-default.conf Source8: arcamav.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Patch0: 0001-alsa-plugins-pulse-Implement-pause.patch -Patch1: 0001-alsa-get-rid-of-a-number-of-assert-s.patch -Patch2: 0002-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch -Patch3: 0003-pulse-unify-destruction-of-snd_pulse_t.patch -Patch4: 0004-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch +Patch1: 0001-alsa-plugins-pulse-Implement-pause.patch +Patch2: 0002-pulse-get-rid-of-a-number-of-assert-s.patch +Patch3: 0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch +Patch4: 0004-pulse-unify-destruction-of-snd_pulse_t.patch +Patch5: 0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch +Patch6: 0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch +Patch7: 0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch +Patch8: 0008-pulse-get-rid-of-redundant-state-variable.patch +Patch9: 0009-pulse-unify-stream-context-state-checks.patch +Patch10: 0010-pulse-rework-object-destruction-paths-a-bit.patch +Patch11: 0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch BuildRequires: alsa-lib-devel @@ -128,11 +134,17 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %prep %setup -q -n %{name}-%{version}%{?prever} -%patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 +%patch6 -p1 +%patch7 -p1 +%patch8 -p1 +%patch9 -p1 +%patch10 -p1 +%patch11 -p1 %build %configure --disable-static \ @@ -235,6 +247,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Tue Aug 4 2009 Lennart Poettering - 1.0.20-5 +- Add a couple of more clean up patches for the pulse plugin + * Fri Jul 31 2009 Lennart Poettering - 1.0.20-4 - Add a couple of clean up patches for the pulse plugin From 3205b538d0fb1fcd73b55cd120cac9897d7ba293 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 4 Aug 2009 22:16:06 +0000 Subject: [PATCH 028/126] add missing 0001-alsa-plugins-pulse-Implement-pause.patch --- 0001-alsa-plugins-pulse-Implement-pause.patch | 59 +++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 0001-alsa-plugins-pulse-Implement-pause.patch diff --git a/0001-alsa-plugins-pulse-Implement-pause.patch b/0001-alsa-plugins-pulse-Implement-pause.patch new file mode 100644 index 0000000..1670fdb --- /dev/null +++ b/0001-alsa-plugins-pulse-Implement-pause.patch @@ -0,0 +1,59 @@ +From d9a839d51255c939f394f770b249c8a4a9600122 Mon Sep 17 00:00:00 2001 +From: Troy Moure +Date: Thu, 18 Jun 2009 14:55:21 +0100 +Subject: [PATCH 01/11] alsa-plugins/pulse: Implement 'pause'. + +Just cork or uncork the stream to pause or unpause it. + +Signed-off-by: Troy Moure +Signed-off-by: Takashi Iwai +--- + pulse/pcm_pulse.c | 25 +++++++++++++++++++++++++ + 1 files changed, 25 insertions(+), 0 deletions(-) + +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index db8d1e1..c276839 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -739,6 +739,30 @@ static int pulse_close(snd_pcm_ioplug_t * io) + return 0; + } + ++static int pulse_pause(snd_pcm_ioplug_t * io, int enable) ++{ ++ snd_pcm_pulse_t *pcm = io->private_data; ++ int err = 0; ++ ++ assert (pcm); ++ assert (pcm->p); ++ ++ pa_threaded_mainloop_lock(pcm->p->mainloop); ++ ++ if (pcm->stream) { ++ pa_operation *o; ++ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); ++ if (o) ++ pa_operation_unref(o); ++ else ++ err = -EIO; ++ } ++ ++ pa_threaded_mainloop_unlock(pcm->p->mainloop); ++ ++ return err; ++} ++ + static const snd_pcm_ioplug_callback_t pulse_playback_callback = { + .start = pulse_start, + .stop = pulse_stop, +@@ -750,6 +774,7 @@ static const snd_pcm_ioplug_callback_t pulse_playback_callback = { + .prepare = pulse_prepare, + .hw_params = pulse_hw_params, + .close = pulse_close, ++ .pause = pulse_pause + }; + + +-- +1.6.4 + From f4a06e67227ec16d2e06a9db0a35a91bcf65c181 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Mon, 7 Sep 2009 23:54:28 +0000 Subject: [PATCH 029/126] Updated to 1.0.21 Patch clean up Added maemo subpackage --- .cvsignore | 2 +- 0001-alsa-plugins-pulse-Implement-pause.patch | 59 --- ...ulse-get-rid-of-a-number-of-assert-s.patch | 400 ---------------- ...-PA_CONTEXT_IS_GOOD-where-applicable.patch | 41 -- ...lse-unify-destruction-of-snd_pulse_t.patch | 66 --- ...readed_mainloop_wait-to-handle-spuri.patch | 42 -- ...nual-mainloop-by-pa_mainloop_iterate.patch | 37 -- ...ple-of-PCM-related-functions-from-pu.patch | 315 ------------- ...-get-rid-of-redundant-state-variable.patch | 87 ---- ...se-unify-stream-context-state-checks.patch | 434 ------------------ ...ework-object-destruction-paths-a-bit.patch | 73 --- ...y-trigger-EIO-when-connection-is-dro.patch | 42 -- alsa-plugins.spec | 73 +-- maemo.conf | 13 + sources | 2 +- 15 files changed, 54 insertions(+), 1632 deletions(-) delete mode 100644 0001-alsa-plugins-pulse-Implement-pause.patch delete mode 100644 0002-pulse-get-rid-of-a-number-of-assert-s.patch delete mode 100644 0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch delete mode 100644 0004-pulse-unify-destruction-of-snd_pulse_t.patch delete mode 100644 0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch delete mode 100644 0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch delete mode 100644 0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch delete mode 100644 0008-pulse-get-rid-of-redundant-state-variable.patch delete mode 100644 0009-pulse-unify-stream-context-state-checks.patch delete mode 100644 0010-pulse-rework-object-destruction-paths-a-bit.patch delete mode 100644 0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch create mode 100644 maemo.conf diff --git a/.cvsignore b/.cvsignore index e1f7eff..d4ca659 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -alsa-plugins-1.0.20.tar.bz2 +alsa-plugins-1.0.21.tar.bz2 diff --git a/0001-alsa-plugins-pulse-Implement-pause.patch b/0001-alsa-plugins-pulse-Implement-pause.patch deleted file mode 100644 index 1670fdb..0000000 --- a/0001-alsa-plugins-pulse-Implement-pause.patch +++ /dev/null @@ -1,59 +0,0 @@ -From d9a839d51255c939f394f770b249c8a4a9600122 Mon Sep 17 00:00:00 2001 -From: Troy Moure -Date: Thu, 18 Jun 2009 14:55:21 +0100 -Subject: [PATCH 01/11] alsa-plugins/pulse: Implement 'pause'. - -Just cork or uncork the stream to pause or unpause it. - -Signed-off-by: Troy Moure -Signed-off-by: Takashi Iwai ---- - pulse/pcm_pulse.c | 25 +++++++++++++++++++++++++ - 1 files changed, 25 insertions(+), 0 deletions(-) - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index db8d1e1..c276839 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -739,6 +739,30 @@ static int pulse_close(snd_pcm_ioplug_t * io) - return 0; - } - -+static int pulse_pause(snd_pcm_ioplug_t * io, int enable) -+{ -+ snd_pcm_pulse_t *pcm = io->private_data; -+ int err = 0; -+ -+ assert (pcm); -+ assert (pcm->p); -+ -+ pa_threaded_mainloop_lock(pcm->p->mainloop); -+ -+ if (pcm->stream) { -+ pa_operation *o; -+ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); -+ if (o) -+ pa_operation_unref(o); -+ else -+ err = -EIO; -+ } -+ -+ pa_threaded_mainloop_unlock(pcm->p->mainloop); -+ -+ return err; -+} -+ - static const snd_pcm_ioplug_callback_t pulse_playback_callback = { - .start = pulse_start, - .stop = pulse_stop, -@@ -750,6 +774,7 @@ static const snd_pcm_ioplug_callback_t pulse_playback_callback = { - .prepare = pulse_prepare, - .hw_params = pulse_hw_params, - .close = pulse_close, -+ .pause = pulse_pause - }; - - --- -1.6.4 - diff --git a/0002-pulse-get-rid-of-a-number-of-assert-s.patch b/0002-pulse-get-rid-of-a-number-of-assert-s.patch deleted file mode 100644 index 1f871e7..0000000 --- a/0002-pulse-get-rid-of-a-number-of-assert-s.patch +++ /dev/null @@ -1,400 +0,0 @@ -From be8799947bac41c50460111b0ac20ff8176b6b47 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 15:25:44 +0200 -Subject: [PATCH 02/11] pulse: get rid of a number of assert()s - -Instead of hitting an assert when any of the plugin functions is called -in an invalid context we should return a clean error to make sure -programs are not unnecessarily aborted. - -This should fix issues such as http://pulseaudio.org/ticket/595 - -Signed-off-by: Takashi Iwai ---- - pulse/ctl_pulse.c | 35 ++++++++++++++++++----- - pulse/pcm_pulse.c | 79 +++++++++++++++++++++++++++++++++++++++++------------ - pulse/pulse.c | 34 ++++++++++++++++------- - 3 files changed, 112 insertions(+), 36 deletions(-) - -diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c -index c6cf9e2..2caa29b 100644 ---- a/pulse/ctl_pulse.c -+++ b/pulse/ctl_pulse.c -@@ -125,8 +125,9 @@ static void event_cb(pa_context * c, pa_subscription_event_type_t t, - pa_operation *o; - - assert(ctl); -- assert(ctl->p); -- assert(ctl->p->context); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return; - - o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, - sink_info_cb, ctl); -@@ -148,8 +149,9 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) - pa_operation *o; - - assert(ctl); -- assert(ctl->p); -- assert(ctl->p->context); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; - - o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, - sink_info_cb, ctl); -@@ -203,6 +205,9 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, - - assert(ctl); - -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; -+ - snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); - - pa_threaded_mainloop_lock(ctl->p->mainloop); -@@ -260,7 +265,9 @@ static int pulse_get_attribute(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - return -EINVAL; - - assert(ctl); -- assert(ctl->p); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -@@ -311,7 +318,9 @@ static int pulse_read_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - pa_cvolume *vol = NULL; - - assert(ctl); -- assert(ctl->p); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -@@ -361,7 +370,9 @@ static int pulse_write_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - pa_cvolume *vol = NULL; - - assert(ctl); -- assert(ctl->p && ctl->p->context); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -@@ -465,6 +476,9 @@ static void pulse_subscribe_events(snd_ctl_ext_t * ext, int subscribe) - - assert(ctl); - -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return; -+ - pa_threaded_mainloop_lock(ctl->p->mainloop); - - ctl->subscribed = !!(subscribe & SND_CTL_EVENT_MASK_VALUE); -@@ -481,6 +495,9 @@ static int pulse_read_event(snd_ctl_ext_t * ext, snd_ctl_elem_id_t * id, - - assert(ctl); - -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; -+ - pa_threaded_mainloop_lock(ctl->p->mainloop); - - if (!ctl->updated || !ctl->subscribed) -@@ -526,7 +543,9 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, - int err = 0; - - assert(ctl); -- assert(ctl->p); -+ -+ if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index c276839..24347f9 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -106,6 +106,9 @@ static int update_active(snd_pcm_pulse_t *pcm) { - - assert(pcm); - -+ if (!pcm->p) -+ return -EBADFD; -+ - ret = check_active(pcm); - if (ret < 0) - return ret; -@@ -125,7 +128,9 @@ static int pulse_start(snd_pcm_ioplug_t * io) - int err = 0, err_o = 0, err_u = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -174,7 +179,9 @@ static int pulse_stop(snd_pcm_ioplug_t * io) - int err = 0, err_o = 0, err_u = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -224,7 +231,9 @@ static int pulse_drain(snd_pcm_ioplug_t * io) - int err = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -259,7 +268,9 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) - snd_pcm_sframes_t ret = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - if (io->state == SND_PCM_STATE_XRUN) - return -EPIPE; -@@ -269,7 +280,10 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- assert(pcm->stream); -+ if (!pcm->stream) { -+ ret = -EBADFD; -+ goto finish; -+ } - - ret = pulse_check_connection(pcm->p); - if (ret < 0) -@@ -305,11 +319,16 @@ static int pulse_delay(snd_pcm_ioplug_t * io, snd_pcm_sframes_t * delayp) - pa_usec_t lat = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- assert(pcm->stream); -+ if (!pcm->stream) { -+ err = -EBADFD; -+ goto finish; -+ } - - for (;;) { - err = pulse_check_connection(pcm->p); -@@ -354,11 +373,16 @@ static snd_pcm_sframes_t pulse_write(snd_pcm_ioplug_t * io, - snd_pcm_sframes_t ret = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- assert(pcm->stream); -+ if (!pcm->stream) { -+ ret = -EBADFD; -+ goto finish; -+ } - - ret = pulse_check_connection(pcm->p); - if (ret < 0) -@@ -409,11 +433,16 @@ static snd_pcm_sframes_t pulse_read(snd_pcm_ioplug_t * io, - snd_pcm_sframes_t ret = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- assert(pcm->stream); -+ if (!pcm->stream) { -+ ret = -EBADFD; -+ goto finish; -+ } - - ret = pulse_check_connection(pcm->p); - if (ret < 0) -@@ -480,7 +509,9 @@ static void stream_request_cb(pa_stream * p, size_t length, void *userdata) - snd_pcm_pulse_t *pcm = userdata; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return; - - update_active(pcm); - } -@@ -490,7 +521,9 @@ static void stream_underrun_cb(pa_stream * p, void *userdata) - snd_pcm_pulse_t *pcm = userdata; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return; - - pcm->underrun = 1; - } -@@ -499,7 +532,9 @@ static void stream_latency_cb(pa_stream *p, void *userdata) { - snd_pcm_pulse_t *pcm = userdata; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return; - - pa_threaded_mainloop_signal(pcm->p->mainloop, 0); - } -@@ -512,7 +547,9 @@ static int pulse_pcm_poll_revents(snd_pcm_ioplug_t * io, - snd_pcm_pulse_t *pcm = io->private_data; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -541,7 +578,9 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) - unsigned c, d; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -645,7 +684,9 @@ static int pulse_hw_params(snd_pcm_ioplug_t * io, - int err = 0; - - assert(pcm); -- assert(pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -@@ -745,7 +786,9 @@ static int pulse_pause(snd_pcm_ioplug_t * io, int enable) - int err = 0; - - assert (pcm); -- assert (pcm->p); -+ -+ if (!pcm->p) -+ return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index 3940238..95d8dde 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -32,8 +32,9 @@ int pulse_check_connection(snd_pulse_t * p) - pa_context_state_t state; - - assert(p); -- assert(p->context); -- assert(p->mainloop); -+ -+ if (!p->context || !p->mainloop) -+ return -EBADFD; - - state = pa_context_get_state(p->context); - -@@ -77,8 +78,12 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) - { - assert(p); - assert(o); -- assert(p->state == PULSE_STATE_READY); -- assert(p->mainloop); -+ -+ if (p->state != PULSE_STATE_READY) -+ return -EBADFD; -+ -+ if (!p->mainloop) -+ return -EBADFD; - - for (;;) { - int err; -@@ -103,8 +108,12 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, - - assert(p); - assert(stream); -- assert(p->state == PULSE_STATE_READY); -- assert(p->mainloop); -+ -+ if (p->state != PULSE_STATE_READY) -+ return -EBADFD; -+ -+ if (!p->mainloop) -+ return -EBADFD; - - for (;;) { - int err; -@@ -197,7 +206,9 @@ snd_pulse_t *pulse_new(void) - - p->context = - pa_context_new(pa_threaded_mainloop_get_api(p->mainloop), buf); -- assert(p->context); -+ -+ if (!p->context) -+ goto fail; - - pa_context_set_state_callback(p->context, context_state_cb, p); - -@@ -246,9 +257,12 @@ int pulse_connect(snd_pulse_t * p, const char *server) - int err; - - assert(p); -- assert(p->context); -- assert(p->mainloop); -- assert(p->state == PULSE_STATE_INIT); -+ -+ if (!p->context || !p->mainloop) -+ return -EBADFD; -+ -+ if (p->state != PULSE_STATE_INIT) -+ return -EBADFD; - - pa_threaded_mainloop_lock(p->mainloop); - --- -1.6.4 - diff --git a/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch b/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch deleted file mode 100644 index 99abef6..0000000 --- a/0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch +++ /dev/null @@ -1,41 +0,0 @@ -From d2ea09f162f114480516a9d993d3d71bf357c835 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 16:01:52 +0200 -Subject: [PATCH 03/11] pulse: use PA_CONTEXT_IS_GOOD where applicable - -PA_CONTEXT_IS_GOOD is a safer way to check whether a context is still -valid. - -This patch also bumps the version requirement of libpulse to 0.9.11. - -Signed-off-by: Takashi Iwai ---- - pulse/pulse.c | 5 ++--- - 1 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index 95d8dde..dd17384 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -38,7 +38,7 @@ int pulse_check_connection(snd_pulse_t * p) - - state = pa_context_get_state(p->context); - -- if (state != PA_CONTEXT_READY) -+ if (!PA_CONTEXT_IS_GOOD(state)) - return -EIO; - - return 0; -@@ -127,8 +127,7 @@ int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, - if (state == target) - break; - -- if (state == PA_STREAM_FAILED || -- state == PA_STREAM_TERMINATED) -+ if (!PA_STREAM_IS_GOOD(state)) - return -EIO; - - pa_threaded_mainloop_wait(p->mainloop); --- -1.6.4 - diff --git a/0004-pulse-unify-destruction-of-snd_pulse_t.patch b/0004-pulse-unify-destruction-of-snd_pulse_t.patch deleted file mode 100644 index 379a55f..0000000 --- a/0004-pulse-unify-destruction-of-snd_pulse_t.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 422958fa4b8101af842220a67e77c8090ad34a8b Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 16:02:05 +0200 -Subject: [PATCH 04/11] pulse: unify destruction of snd_pulse_t - -Signed-off-by: Takashi Iwai ---- - pulse/pulse.c | 31 ++++++++++++------------------- - 1 files changed, 12 insertions(+), 19 deletions(-) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index dd17384..ae66b0c 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -217,36 +217,29 @@ snd_pulse_t *pulse_new(void) - return p; - - fail: -+ pulse_free(p); -+ -+ return NULL; -+} -+ -+void pulse_free(snd_pulse_t * p) -+{ - if (p->mainloop) - pa_threaded_mainloop_stop(p->mainloop); - -- if (p->context) -+ if (p->context) { -+ pa_context_disconnect(p->context); - pa_context_unref(p->context); -+ } - - if (p->mainloop) - pa_threaded_mainloop_free(p->mainloop); - -- if (p->main_fd >= 0) -- close(p->main_fd); -- - if (p->thread_fd >= 0) - close(p->thread_fd); - -- free(p); -- -- return NULL; --} -- --void pulse_free(snd_pulse_t * p) --{ -- pa_threaded_mainloop_stop(p->mainloop); -- -- pa_context_disconnect(p->context); -- pa_context_unref(p->context); -- pa_threaded_mainloop_free(p->mainloop); -- -- close(p->thread_fd); -- close(p->main_fd); -+ if (p->main_fd >= 0) -+ close(p->main_fd); - - free(p); - } --- -1.6.4 - diff --git a/0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch b/0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch deleted file mode 100644 index 284219d..0000000 --- a/0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 16f837ec71a254a6bff7d26faf55237c4df5749c Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Fri, 31 Jul 2009 16:02:21 +0200 -Subject: [PATCH 05/11] pulse: call pa_threaded_mainloop_wait() to handle spurious wakeups - -pa_threaded_mainloop_wait() can wake up for no reason, according to the -specs of the underlying POSIX ptrhead_cond_wait() docs, so we need to -call it in a loop here which should be cleaner anyway. - -Signed-off-by: Takashi Iwai ---- - pulse/pulse.c | 13 ++++++++++--- - 1 files changed, 10 insertions(+), 3 deletions(-) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index ae66b0c..6f58a7e 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -262,10 +262,17 @@ int pulse_connect(snd_pulse_t * p, const char *server) - if (err < 0) - goto error; - -- pa_threaded_mainloop_wait(p->mainloop); -+ for (;;) { -+ pa_context_state_t state = pa_context_get_state(p->context); - -- if (pa_context_get_state(p->context) != PA_CONTEXT_READY) -- goto error; -+ if (!PA_CONTEXT_IS_GOOD(state)) -+ goto error; -+ -+ if (state == PA_CONTEXT_READY) -+ break; -+ -+ pa_threaded_mainloop_wait(p->mainloop); -+ } - - pa_threaded_mainloop_unlock(p->mainloop); - --- -1.6.4 - diff --git a/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch b/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch deleted file mode 100644 index cbe0745..0000000 --- a/0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 76d34749c05ba77614f648128ad7045681f547ae Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:53:51 +0200 -Subject: [PATCH 06/11] pulse: replace manual mainloop by pa_mainloop_iterate() - -The pa_mainloop_prepare()/_poll()/_dispatch() can be simplified by -simply calling pa_mainloop_iterate() which does all this in one call. - -Signed-off-by: Takashi Iwai ---- - pulse/conf_pulse.c | 10 +--------- - 1 files changed, 1 insertions(+), 9 deletions(-) - -diff --git a/pulse/conf_pulse.c b/pulse/conf_pulse.c -index 3f9e071..35dd383 100644 ---- a/pulse/conf_pulse.c -+++ b/pulse/conf_pulse.c -@@ -61,15 +61,7 @@ conf_pulse_hook_load_if_running(snd_config_t * root, snd_config_t * config, - goto out; - - do { -- err = pa_mainloop_prepare(loop, -1); -- if (err < 0) -- goto out; -- -- err = pa_mainloop_poll(loop); -- if (err < 0) -- goto out; -- -- err = pa_mainloop_dispatch(loop); -+ err = pa_mainloop_iterate(loop, 1, NULL); - if (err < 0) - goto out; - --- -1.6.4 - diff --git a/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch b/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch deleted file mode 100644 index f99b8f7..0000000 --- a/0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch +++ /dev/null @@ -1,315 +0,0 @@ -From f74878bc610bccc4656f8194f29176cf9c956de9 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:54:24 +0200 -Subject: [PATCH 07/11] pulse: move a couple of PCM related functions from pulse.c to pcm_pulse.c - -A number of functions in pulse.c are only relevant for the PCM handling, -so let's move them to pcm_pulse.c. This allows us to simplify their -argument lists a bit. - -Signed-off-by: Takashi Iwai ---- - pulse/pcm_pulse.c | 118 ++++++++++++++++++++++++++++++++++++++++++---------- - pulse/pulse.c | 55 ------------------------- - pulse/pulse.h | 4 -- - 3 files changed, 95 insertions(+), 82 deletions(-) - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index 24347f9..a625f55 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -49,6 +49,32 @@ typedef struct snd_pcm_pulse { - pa_buffer_attr buffer_attr; - } snd_pcm_pulse_t; - -+static int check_stream(snd_pcm_pulse_t *pcm) -+{ -+ int err; -+ pa_stream_state_t state; -+ -+ assert(pcm); -+ -+ if (!pcm->p) -+ return -EBADFD; -+ -+ err = pulse_check_connection(pcm->p); -+ if (err < 0) -+ return err; -+ -+ if (!pcm->stream) -+ return -EBADFD; -+ -+ state = pa_stream_get_state(pcm->stream); -+ if (!PA_STREAM_IS_GOOD(state)) -+ return -EIO; -+ -+ err = 0; -+ -+ return err; -+} -+ - static int update_ptr(snd_pcm_pulse_t *pcm) - { - size_t size; -@@ -118,9 +144,53 @@ static int update_active(snd_pcm_pulse_t *pcm) { - else - pulse_poll_deactivate(pcm->p); - -+ return ret; -+} -+ -+static int wait_stream_state(snd_pcm_pulse_t *pcm, pa_stream_state_t target) -+{ -+ pa_stream_state_t state; -+ -+ assert(pcm); -+ -+ if (!pcm->p) -+ return -EBADFD; -+ -+ for (;;) { -+ int err; -+ -+ err = pulse_check_connection(pcm->p); -+ if (err < 0) -+ return err; -+ -+ if (!pcm->stream) -+ return -EBADFD; -+ -+ state = pa_stream_get_state(pcm->stream); -+ if (state == target) -+ break; -+ -+ if (!PA_STREAM_IS_GOOD(state)) -+ return -EIO; -+ -+ pa_threaded_mainloop_wait(pcm->p->mainloop); -+ } -+ - return 0; - } - -+static void stream_success_cb(pa_stream * p, int success, void *userdata) -+{ -+ snd_pcm_pulse_t *pcm = userdata; -+ -+ assert(pcm); -+ -+ if (!pcm->p) -+ return; -+ -+ pa_threaded_mainloop_signal(pcm->p->mainloop, 0); -+} -+ - static int pulse_start(snd_pcm_ioplug_t * io) - { - snd_pcm_pulse_t *pcm = io->private_data; -@@ -138,18 +208,13 @@ static int pulse_start(snd_pcm_ioplug_t * io) - if (err < 0) - goto finish; - -- if (pcm->stream == NULL) -- goto finish; -- -- o = pa_stream_cork(pcm->stream, 0, pulse_stream_success_cb, -- pcm->p); -+ o = pa_stream_cork(pcm->stream, 0, stream_success_cb, pcm); - if (!o) { - err = -EIO; - goto finish; - } - -- u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb, -- pcm->p); -+ u = pa_stream_trigger(pcm->stream, stream_success_cb, pcm); - - pcm->underrun = 0; - err_o = pulse_wait_operation(pcm->p, o); -@@ -165,7 +230,6 @@ static int pulse_start(snd_pcm_ioplug_t * io) - goto finish; - } - -- - finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); - -@@ -189,18 +253,13 @@ static int pulse_stop(snd_pcm_ioplug_t * io) - if (err < 0) - goto finish; - -- if (pcm->stream == NULL) -- goto finish; -- -- o = pa_stream_cork(pcm->stream, 1, pulse_stream_success_cb, -- pcm->p); -+ o = pa_stream_cork(pcm->stream, 1, stream_success_cb, pcm); - if (!o) { - err = -EIO; - goto finish; - } - -- u = pa_stream_flush(pcm->stream, pulse_stream_success_cb, -- pcm->p); -+ u = pa_stream_flush(pcm->stream, stream_success_cb, pcm); - if (!u) { - pa_operation_unref(o); - err = -EIO; -@@ -241,7 +300,7 @@ static int pulse_drain(snd_pcm_ioplug_t * io) - if (err < 0) - goto finish; - -- o = pa_stream_drain(pcm->stream, pulse_stream_success_cb, pcm->p); -+ o = pa_stream_drain(pcm->stream, stream_success_cb, pcm); - if (!o) { - err = -EIO; - goto finish; -@@ -504,6 +563,23 @@ finish: - return ret; - } - -+static void stream_state_cb(pa_stream * p, void *userdata) -+{ -+ snd_pcm_pulse_t *pcm = userdata; -+ pa_stream_state_t state; -+ -+ assert(pcm); -+ -+ if (!pcm->p) -+ return; -+ -+ state = pa_stream_get_state(p); -+ if (!PA_STREAM_IS_GOOD(state)) -+ pulse_poll_activate(pcm->p); -+ -+ pa_threaded_mainloop_signal(pcm->p->mainloop, 0); -+} -+ - static void stream_request_cb(pa_stream * p, size_t length, void *userdata) - { - snd_pcm_pulse_t *pcm = userdata; -@@ -586,8 +662,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) - - if (pcm->stream) { - pa_stream_disconnect(pcm->stream); -- pulse_wait_stream_state(pcm->p, pcm->stream, -- PA_STREAM_TERMINATED); -+ wait_stream_state(pcm, PA_STREAM_TERMINATED); - pa_stream_unref(pcm->stream); - pcm->stream = NULL; - } -@@ -620,9 +695,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) - goto finish; - } - -- pa_stream_set_state_callback(pcm->stream, pulse_stream_state_cb, -- pcm->p); -- -+ pa_stream_set_state_callback(pcm->stream, stream_state_cb, pcm); - pa_stream_set_latency_update_callback(pcm->stream, stream_latency_cb, pcm); - - if (io->stream == SND_PCM_STREAM_PLAYBACK) { -@@ -659,8 +732,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) - goto finish; - } - -- err = -- pulse_wait_stream_state(pcm->p, pcm->stream, PA_STREAM_READY); -+ err = wait_stream_state(pcm, PA_STREAM_READY); - if (err < 0) { - SNDERR("PulseAudio: Unable to create stream: %s\n", pa_strerror(pa_context_errno(pcm->p->context))); - pa_stream_unref(pcm->stream); -diff --git a/pulse/pulse.c b/pulse/pulse.c -index 6f58a7e..c313182 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -44,26 +44,6 @@ int pulse_check_connection(snd_pulse_t * p) - return 0; - } - --void pulse_stream_state_cb(pa_stream * s, void *userdata) --{ -- snd_pulse_t *p = userdata; -- -- assert(s); -- assert(p); -- -- pa_threaded_mainloop_signal(p->mainloop, 0); --} -- --void pulse_stream_success_cb(pa_stream * s, int success, void *userdata) --{ -- snd_pulse_t *p = userdata; -- -- assert(s); -- assert(p); -- -- pa_threaded_mainloop_signal(p->mainloop, 0); --} -- - void pulse_context_success_cb(pa_context * c, int success, void *userdata) - { - snd_pulse_t *p = userdata; -@@ -101,41 +81,6 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) - return 0; - } - --int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, -- pa_stream_state_t target) --{ -- pa_stream_state_t state; -- -- assert(p); -- assert(stream); -- -- if (p->state != PULSE_STATE_READY) -- return -EBADFD; -- -- if (!p->mainloop) -- return -EBADFD; -- -- for (;;) { -- int err; -- -- err = pulse_check_connection(p); -- if (err < 0) -- return err; -- -- state = pa_stream_get_state(stream); -- -- if (state == target) -- break; -- -- if (!PA_STREAM_IS_GOOD(state)) -- return -EIO; -- -- pa_threaded_mainloop_wait(p->mainloop); -- } -- -- return 0; --} -- - static void context_state_cb(pa_context * c, void *userdata) - { - snd_pulse_t *p = userdata; -diff --git a/pulse/pulse.h b/pulse/pulse.h -index 7bf1a5b..51f9a11 100644 ---- a/pulse/pulse.h -+++ b/pulse/pulse.h -@@ -41,13 +41,9 @@ typedef struct snd_pulse { - - int pulse_check_connection(snd_pulse_t * p); - --void pulse_stream_state_cb(pa_stream * s, void *userdata); --void pulse_stream_success_cb(pa_stream * s, int success, void *userdata); - void pulse_context_success_cb(pa_context * c, int success, void *userdata); - - int pulse_wait_operation(snd_pulse_t * p, pa_operation * o); --int pulse_wait_stream_state(snd_pulse_t * p, pa_stream * stream, -- pa_stream_state_t target); - - snd_pulse_t *pulse_new(void); - void pulse_free(snd_pulse_t * p); --- -1.6.4 - diff --git a/0008-pulse-get-rid-of-redundant-state-variable.patch b/0008-pulse-get-rid-of-redundant-state-variable.patch deleted file mode 100644 index 25d9075..0000000 --- a/0008-pulse-get-rid-of-redundant-state-variable.patch +++ /dev/null @@ -1,87 +0,0 @@ -From c3acf0f4df121fef0014bd165fa86ccb1060d669 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:54:42 +0200 -Subject: [PATCH 08/11] pulse: get rid of redundant state variable - -snd_pulse_t::state was mostly shadowing the state of -pa_context_get_state(snd_pulse_t::context), so get rid of it and use the -state of the context directly. - -Signed-off-by: Takashi Iwai ---- - pulse/pulse.c | 14 +++----------- - pulse/pulse.h | 6 ------ - 2 files changed, 3 insertions(+), 17 deletions(-) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index c313182..9c05171 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -59,12 +59,6 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) - assert(p); - assert(o); - -- if (p->state != PULSE_STATE_READY) -- return -EBADFD; -- -- if (!p->mainloop) -- return -EBADFD; -- - for (;;) { - int err; - -@@ -124,8 +118,6 @@ snd_pulse_t *pulse_new(void) - if (!p) - return NULL; - -- p->state = PULSE_STATE_INIT; -- - if (pipe(fd)) { - free(p); - return NULL; -@@ -192,13 +184,15 @@ void pulse_free(snd_pulse_t * p) - int pulse_connect(snd_pulse_t * p, const char *server) - { - int err; -+ pa_context_state_t state; - - assert(p); - - if (!p->context || !p->mainloop) - return -EBADFD; - -- if (p->state != PULSE_STATE_INIT) -+ state = pa_context_get_state(p->context); -+ if (state != PA_CONTEXT_UNCONNECTED) - return -EBADFD; - - pa_threaded_mainloop_lock(p->mainloop); -@@ -221,8 +215,6 @@ int pulse_connect(snd_pulse_t * p, const char *server) - - pa_threaded_mainloop_unlock(p->mainloop); - -- p->state = PULSE_STATE_READY; -- - return 0; - - error: -diff --git a/pulse/pulse.h b/pulse/pulse.h -index 51f9a11..e98124f 100644 ---- a/pulse/pulse.h -+++ b/pulse/pulse.h -@@ -31,12 +31,6 @@ typedef struct snd_pulse { - pa_context *context; - - int thread_fd, main_fd; -- -- enum { -- PULSE_STATE_INIT, -- PULSE_STATE_READY, -- } state; -- - } snd_pulse_t; - - int pulse_check_connection(snd_pulse_t * p); --- -1.6.4 - diff --git a/0009-pulse-unify-stream-context-state-checks.patch b/0009-pulse-unify-stream-context-state-checks.patch deleted file mode 100644 index 72103f5..0000000 --- a/0009-pulse-unify-stream-context-state-checks.patch +++ /dev/null @@ -1,434 +0,0 @@ -From 59ccd2aca941b4653803f5415b4985ab35de0c35 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:55:05 +0200 -Subject: [PATCH 09/11] pulse: unify stream/context state checks - -Unify (and simplify) the paths that check for the validity of a -stream/context: always call into check_stream()/pulse_check_connection() -when applicable instead of rolling our own checks each time. Also check -for validity of mainloop before locking it. - -Signed-off-by: Takashi Iwai ---- - pulse/ctl_pulse.c | 72 ++++++++++++++++++++++++++++++++---------- - pulse/pcm_pulse.c | 90 +++++++++++++++++++++++----------------------------- - 2 files changed, 95 insertions(+), 67 deletions(-) - -diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c -index 2caa29b..879f260 100644 ---- a/pulse/ctl_pulse.c -+++ b/pulse/ctl_pulse.c -@@ -150,9 +150,13 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p) - return -EBADFD; - -+ err = pulse_check_connection(ctl->p); -+ if (err < 0) -+ return err; -+ - o = pa_context_get_sink_info_by_name(ctl->p->context, ctl->sink, - sink_info_cb, ctl); - if (o) { -@@ -182,17 +186,27 @@ static int pulse_update_volume(snd_ctl_pulse_t * ctl) - static int pulse_elem_count(snd_ctl_ext_t * ext) - { - snd_ctl_pulse_t *ctl = ext->private_data; -- int count = 0; -+ int count = 0, err; - - assert(ctl); - -+ if (!ctl->p || !ctl->p->mainloop) -+ return -EBADFD; -+ - pa_threaded_mainloop_lock(ctl->p->mainloop); - -+ err = pulse_check_connection(ctl->p); -+ if (err < 0) { -+ count = err; -+ goto finish; -+ } -+ - if (ctl->source) - count += 2; - if (ctl->sink) - count += 2; - -+finish: - pa_threaded_mainloop_unlock(ctl->p->mainloop); - - return count; -@@ -202,16 +216,21 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, - snd_ctl_elem_id_t * id) - { - snd_ctl_pulse_t *ctl = ext->private_data; -+ int err; - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - snd_ctl_elem_id_set_interface(id, SND_CTL_ELEM_IFACE_MIXER); - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -+ err = pulse_check_connection(ctl->p); -+ if (err < 0) -+ goto finish; -+ - if (ctl->source) { - if (offset == 0) - snd_ctl_elem_id_set_name(id, SOURCE_VOL_NAME); -@@ -220,14 +239,19 @@ static int pulse_elem_list(snd_ctl_ext_t * ext, unsigned int offset, - } else - offset += 2; - -+ err = 0; -+ -+finish: - pa_threaded_mainloop_unlock(ctl->p->mainloop); - -- if (offset == 2) -- snd_ctl_elem_id_set_name(id, SINK_VOL_NAME); -- else if (offset == 3) -- snd_ctl_elem_id_set_name(id, SINK_MUTE_NAME); -+ if (err >= 0) { -+ if (offset == 2) -+ snd_ctl_elem_id_set_name(id, SINK_VOL_NAME); -+ else if (offset == 3) -+ snd_ctl_elem_id_set_name(id, SINK_MUTE_NAME); -+ } - -- return 0; -+ return err; - } - - static snd_ctl_ext_key_t pulse_find_elem(snd_ctl_ext_t * ext, -@@ -266,7 +290,7 @@ static int pulse_get_attribute(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); -@@ -319,7 +343,7 @@ static int pulse_read_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); -@@ -371,7 +395,7 @@ static int pulse_write_integer(snd_ctl_ext_t * ext, snd_ctl_ext_key_t key, - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); -@@ -476,7 +500,7 @@ static void pulse_subscribe_events(snd_ctl_ext_t * ext, int subscribe) - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return; - - pa_threaded_mainloop_lock(ctl->p->mainloop); -@@ -491,17 +515,23 @@ static int pulse_read_event(snd_ctl_ext_t * ext, snd_ctl_elem_id_t * id, - { - snd_ctl_pulse_t *ctl = ext->private_data; - int offset; -- int err = -EAGAIN; -+ int err; - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -- if (!ctl->updated || !ctl->subscribed) -+ err = pulse_check_connection(ctl->p); -+ if (err < 0) -+ goto finish; -+ -+ if (!ctl->updated || !ctl->subscribed) { -+ err = -EAGAIN; - goto finish; -+ } - - if (ctl->source) - offset = 2; -@@ -540,20 +570,28 @@ static int pulse_ctl_poll_revents(snd_ctl_ext_t * ext, struct pollfd *pfd, - unsigned short *revents) - { - snd_ctl_pulse_t *ctl = ext->private_data; -- int err = 0; -+ int err; - - assert(ctl); - -- if (!ctl->p || !ctl->p->mainloop || !ctl->p->context) -+ if (!ctl->p || !ctl->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(ctl->p->mainloop); - -+ err = pulse_check_connection(ctl->p); -+ if (err < 0) -+ goto finish; -+ - if (ctl->updated) - *revents = POLLIN; - else - *revents = 0; - -+ err = 0; -+ -+finish: -+ - pa_threaded_mainloop_unlock(ctl->p->mainloop); - - return err; -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index a625f55..98983f8 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -135,11 +135,15 @@ static int update_active(snd_pcm_pulse_t *pcm) { - if (!pcm->p) - return -EBADFD; - -- ret = check_active(pcm); -+ ret = check_stream(pcm); - if (ret < 0) -- return ret; -+ goto finish; -+ -+ ret = check_active(pcm); - -- if (ret > 0) -+finish: -+ -+ if (ret != 0) /* On error signal the caller, too */ - pulse_poll_activate(pcm->p); - else - pulse_poll_deactivate(pcm->p); -@@ -199,12 +203,12 @@ static int pulse_start(snd_pcm_ioplug_t * io) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- err = pulse_check_connection(pcm->p); -+ err = check_stream(pcm); - if (err < 0) - goto finish; - -@@ -244,12 +248,12 @@ static int pulse_stop(snd_pcm_ioplug_t * io) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- err = pulse_check_connection(pcm->p); -+ err = check_stream(pcm); - if (err < 0) - goto finish; - -@@ -291,12 +295,12 @@ static int pulse_drain(snd_pcm_ioplug_t * io) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- err = pulse_check_connection(pcm->p); -+ err = check_stream(pcm); - if (err < 0) - goto finish; - -@@ -328,7 +332,7 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - if (io->state == SND_PCM_STATE_XRUN) -@@ -339,12 +343,7 @@ static snd_pcm_sframes_t pulse_pointer(snd_pcm_ioplug_t * io) - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- if (!pcm->stream) { -- ret = -EBADFD; -- goto finish; -- } -- -- ret = pulse_check_connection(pcm->p); -+ ret = check_stream(pcm); - if (ret < 0) - goto finish; - -@@ -379,18 +378,13 @@ static int pulse_delay(snd_pcm_ioplug_t * io, snd_pcm_sframes_t * delayp) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- if (!pcm->stream) { -- err = -EBADFD; -- goto finish; -- } -- - for (;;) { -- err = pulse_check_connection(pcm->p); -+ err = check_stream(pcm); - if (err < 0) - goto finish; - -@@ -433,17 +427,12 @@ static snd_pcm_sframes_t pulse_write(snd_pcm_ioplug_t * io, - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- if (!pcm->stream) { -- ret = -EBADFD; -- goto finish; -- } -- -- ret = pulse_check_connection(pcm->p); -+ ret = check_stream(pcm); - if (ret < 0) - goto finish; - -@@ -493,17 +482,12 @@ static snd_pcm_sframes_t pulse_read(snd_pcm_ioplug_t * io, - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- if (!pcm->stream) { -- ret = -EBADFD; -- goto finish; -- } -- -- ret = pulse_check_connection(pcm->p); -+ ret = check_stream(pcm); - if (ret < 0) - goto finish; - -@@ -624,13 +608,16 @@ static int pulse_pcm_poll_revents(snd_pcm_ioplug_t * io, - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- err = check_active(pcm); -+ err = check_stream(pcm); -+ if (err < 0) -+ goto finish; - -+ err = check_active(pcm); - if (err < 0) - goto finish; - -@@ -655,7 +642,7 @@ static int pulse_prepare(snd_pcm_ioplug_t * io) - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); -@@ -757,7 +744,7 @@ static int pulse_hw_params(snd_pcm_ioplug_t * io, - - assert(pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); -@@ -856,23 +843,26 @@ static int pulse_pause(snd_pcm_ioplug_t * io, int enable) - { - snd_pcm_pulse_t *pcm = io->private_data; - int err = 0; -+ pa_operation *o; - - assert (pcm); - -- if (!pcm->p) -+ if (!pcm->p || !pcm->p->mainloop) - return -EBADFD; - - pa_threaded_mainloop_lock(pcm->p->mainloop); - -- if (pcm->stream) { -- pa_operation *o; -- o = pa_stream_cork(pcm->stream, enable, NULL, NULL); -- if (o) -- pa_operation_unref(o); -- else -- err = -EIO; -- } -+ err = check_stream(pcm); -+ if (err < 0) -+ goto finish; -+ -+ o = pa_stream_cork(pcm->stream, enable, NULL, NULL); -+ if (o) -+ pa_operation_unref(o); -+ else -+ err = -EIO; - -+finish: - pa_threaded_mainloop_unlock(pcm->p->mainloop); - - return err; --- -1.6.4 - diff --git a/0010-pulse-rework-object-destruction-paths-a-bit.patch b/0010-pulse-rework-object-destruction-paths-a-bit.patch deleted file mode 100644 index 5783e4d..0000000 --- a/0010-pulse-rework-object-destruction-paths-a-bit.patch +++ /dev/null @@ -1,73 +0,0 @@ -From 50562a9d5d54270ab67f183013204d24cdbeff21 Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:55:28 +0200 -Subject: [PATCH 10/11] pulse: rework object destruction paths a bit - -Make sure we deal better with partially initialized structs. - -Don't check for pointer state before calling free() since free() does -that anyway. - -Signed-off-by: Takashi Iwai ---- - pulse/ctl_pulse.c | 7 ++----- - pulse/pcm_pulse.c | 19 ++++++++++--------- - 2 files changed, 12 insertions(+), 14 deletions(-) - -diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c -index 879f260..85863ed 100644 ---- a/pulse/ctl_pulse.c -+++ b/pulse/ctl_pulse.c -@@ -606,11 +606,8 @@ static void pulse_close(snd_ctl_ext_t * ext) - if (ctl->p) - pulse_free(ctl->p); - -- if (ctl->source) -- free(ctl->source); -- if (ctl->sink) -- free(ctl->sink); -- -+ free(ctl->source); -+ free(ctl->sink); - free(ctl); - } - -diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c -index 98983f8..02a837e 100644 ---- a/pulse/pcm_pulse.c -+++ b/pulse/pcm_pulse.c -@@ -819,21 +819,22 @@ static int pulse_close(snd_pcm_ioplug_t * io) - - assert(pcm); - -- pa_threaded_mainloop_lock(pcm->p->mainloop); -+ if (pcm->p && pcm->p->mainloop) { - -- if (pcm->stream) { -- pa_stream_disconnect(pcm->stream); -- pa_stream_unref(pcm->stream); -- } -+ pa_threaded_mainloop_lock(pcm->p->mainloop); - -- pa_threaded_mainloop_unlock(pcm->p->mainloop); -+ if (pcm->stream) { -+ pa_stream_disconnect(pcm->stream); -+ pa_stream_unref(pcm->stream); -+ } -+ -+ pa_threaded_mainloop_unlock(pcm->p->mainloop); -+ } - - if (pcm->p) - pulse_free(pcm->p); - -- if (pcm->device) -- free(pcm->device); -- -+ free(pcm->device); - free(pcm); - - return 0; --- -1.6.4 - diff --git a/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch b/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch deleted file mode 100644 index 615c6ed..0000000 --- a/0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4c71fdd22dbfaf7b5fb7de62bbc9dd4002e788db Mon Sep 17 00:00:00 2001 -From: Lennart Poettering -Date: Tue, 4 Aug 2009 23:56:00 +0200 -Subject: [PATCH 11/11] pulse: immediately trigger EIO when connection is dropped - -When the connection is dropped notify the application immediately -instead of waiting until the applications calls into us the next time. - -This makes "aplay" handle connections shutdown similar to hardware -unplugs: an immediate EIO is thrown. - -Signed-off-by: Takashi Iwai ---- - pulse/pulse.c | 9 ++++++++- - 1 files changed, 8 insertions(+), 1 deletions(-) - -diff --git a/pulse/pulse.c b/pulse/pulse.c -index 9c05171..f26363a 100644 ---- a/pulse/pulse.c -+++ b/pulse/pulse.c -@@ -77,10 +77,17 @@ int pulse_wait_operation(snd_pulse_t * p, pa_operation * o) - - static void context_state_cb(pa_context * c, void *userdata) - { -+ pa_context_state_t state; - snd_pulse_t *p = userdata; - assert(c); - -- switch (pa_context_get_state(c)) { -+ state = pa_context_get_state(c); -+ -+ /* When we get disconnected, tell the process */ -+ if (!PA_CONTEXT_IS_GOOD(state)) -+ pulse_poll_activate(p); -+ -+ switch (state) { - case PA_CONTEXT_READY: - case PA_CONTEXT_TERMINATED: - case PA_CONTEXT_FAILED: --- -1.6.4 - diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 2fc9255..79e4561 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins -Version: 1.0.20 -Release: 5%{?dist} +Version: 1.0.21 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -15,18 +15,8 @@ Source5: upmix.conf Source6: vdownmix.conf Source7: pulse-default.conf Source8: arcamav.conf +Source9: maemo.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) -Patch1: 0001-alsa-plugins-pulse-Implement-pause.patch -Patch2: 0002-pulse-get-rid-of-a-number-of-assert-s.patch -Patch3: 0003-pulse-use-PA_CONTEXT_IS_GOOD-where-applicable.patch -Patch4: 0004-pulse-unify-destruction-of-snd_pulse_t.patch -Patch5: 0005-pulse-call-pa_threaded_mainloop_wait-to-handle-spuri.patch -Patch6: 0006-pulse-replace-manual-mainloop-by-pa_mainloop_iterate.patch -Patch7: 0007-pulse-move-a-couple-of-PCM-related-functions-from-pu.patch -Patch8: 0008-pulse-get-rid-of-redundant-state-variable.patch -Patch9: 0009-pulse-unify-stream-context-state-checks.patch -Patch10: 0010-pulse-rework-object-destruction-paths-a-bit.patch -Patch11: 0011-pulse-immediately-trigger-EIO-when-connection-is-dro.patch BuildRequires: alsa-lib-devel @@ -37,7 +27,8 @@ functionality to the Linux operating system. This package includes plugins for ALSA. %package jack -Requires: jack-audio-connection-kit, alsa-utils +Requires: alsa-utils +Requires: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA Group: System Environment/Libraries @@ -61,7 +52,8 @@ ALSA native apps can run on OSS drivers. This plugin provides the PCM type "oss". %package pulseaudio -Requires: pulseaudio, alsa-utils +Requires: alsa-utils +Requires: pulseaudio BuildRequires: pulseaudio-lib-devel Summary: Alsa to PulseAudio backend Group: System Environment/Libraries @@ -132,23 +124,23 @@ The rate plugin is an external rate converter using the Speex resampler (aka Public Parrot Hack) by Jean-Marc Valin. The pcm plugin provides pre-processing of a mono stream like denoise using libspeex DSP API. +%package maemo +BuildRequires: alsa-lib-devel = %{version} +Summary: Maemo plugin for ALSA +Group: System Environment/Libraries +License: LGPLv2+ +%description maemo +This plugin converts the ALSA API over PCM task nodes protocol. In this way, +ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. + %prep %setup -q -n %{name}-%{version}%{?prever} -%patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 -%patch11 -p1 %build %configure --disable-static \ - --with-speex=lib + --with-speex=lib \ + --enable-maemo-plugin \ + --enable-maemo-resource-manager make %{?_smp_mflags} %install @@ -156,20 +148,21 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm -install -m 644 %SOURCE1 %SOURCE2 \ - %SOURCE3 %SOURCE4 \ - %SOURCE5 %SOURCE6 \ +install -m 644 %SOURCE1 \ + %SOURCE2 \ + %SOURCE3 \ + %SOURCE4 \ + %SOURCE5 \ + %SOURCE6 \ %SOURCE8 \ + %SOURCE9 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +# pulseaudio configuration file install -m 644 %SOURCE7 \ ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; -# Removing the maemo plugins -find $RPM_BUILD_ROOT \( -name libasound_module_ctl_dsp_ctl.so -o \ - -name libasound_module_pcm_alsa_dsp.so \) -exec rm {} \; - %clean rm -rf $RPM_BUILD_ROOT @@ -245,8 +238,20 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_rate_speexrate_best.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so +%files maemo +%defattr(-,root,root,-) +%doc COPYING COPYING.GPL doc/README-maemo +%config(noreplace) %{_sysconfdir}/alsa/pcm/maemo.conf +%{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so +%{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so + %changelog +* Mon Sep 7 2009 Eric Moret - 1.0.21-1 +- Updated to 1.0.21 +- Patch clean up +- Added maemo subpackage + * Tue Aug 4 2009 Lennart Poettering - 1.0.20-5 - Add a couple of more clean up patches for the pulse plugin diff --git a/maemo.conf b/maemo.conf new file mode 100644 index 0000000..737890f --- /dev/null +++ b/maemo.conf @@ -0,0 +1,13 @@ +# PCM +pcm.!default { + type alsa_dsp + playback_device_file ["/dev/dsptask/pcm2"] + recording_device_file ["/dev/dsptask/pcm_rec"] +} + +# Mixer +ctl.!default { + type dsp_ctl + playback_devices ["/dev/dsptask/pcm2"] + recording_devices ["/dev/dsptask/pcm_rec"] +} diff --git a/sources b/sources index 0bce8c2..c947667 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -819c4f21e3e913eacefd32993a8fbed7 alsa-plugins-1.0.20.tar.bz2 +392d016c0948c54978c0505f24271e01 alsa-plugins-1.0.21.tar.bz2 From d403f5ae74b65005133497c3c3a7b28ebd5e1308 Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Tue, 8 Sep 2009 00:07:02 +0000 Subject: [PATCH 030/126] Added missing dbus-devel dependency to maemo subpackage --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 79e4561..fa177af 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -126,6 +126,7 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: alsa-lib-devel = %{version} +BuildRequires: dbus-devel Summary: Maemo plugin for ALSA Group: System Environment/Libraries License: LGPLv2+ From b0c1bdab09835cb592ebdc4c814c286a80d0d47f Mon Sep 17 00:00:00 2001 From: Eric Moret Date: Tue, 8 Sep 2009 00:25:49 +0000 Subject: [PATCH 031/126] Up package --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index fa177af..28ee1fe 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.21 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ License: GPLv2+ and LGPLv2+ @@ -248,6 +248,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Sep 7 2009 Eric Moret - 1.0.21-2 +- Added missing dbus-devel dependency to maemo subpackage + * Mon Sep 7 2009 Eric Moret - 1.0.21-1 - Updated to 1.0.21 - Patch clean up From e0feae96a676cc8060b625dbf3be5044fddebc21 Mon Sep 17 00:00:00 2001 From: Bill Nottingham Date: Wed, 25 Nov 2009 22:39:23 +0000 Subject: [PATCH 032/126] Fix typo that causes a failure to update the common directory. (releng #2781) --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 36d8f08..b654d76 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,10 @@ # Makefile for source rpm: alsa-plugins -# $Id$ +# $Id: Makefile,v 1.1 2007/08/07 23:46:58 kevin Exp $ NAME := alsa-plugins SPECFILE = $(firstword $(wildcard *.spec)) define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done +for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done endef MAKEFILE_COMMON := $(shell $(find-makefile-common)) From 0d0d642195484b33bcce15eb873a4a8c948b312c Mon Sep 17 00:00:00 2001 From: perex Date: Thu, 14 Jan 2010 16:48:07 +0000 Subject: [PATCH 033/126] Updated to 1.0.22 --- .cvsignore | 1 + alsa-plugins.spec | 10 +++++++--- sources | 1 + 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.cvsignore b/.cvsignore index d4ca659..ec4c0c8 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1,2 @@ alsa-plugins-1.0.21.tar.bz2 +alsa-plugins-1.0.22.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 28ee1fe..f211055 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,9 +1,10 @@ Name: alsa-plugins -Version: 1.0.21 -Release: 2%{?dist} +Version: 1.0.22 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ -License: GPLv2+ and LGPLv2+ +# pph plugin is BSD-like licensed +License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 @@ -248,6 +249,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 14 2010 Jaroslav Kysela - 1.0.22-1 +- Updated to 1.0.22 + * Mon Sep 7 2009 Eric Moret - 1.0.21-2 - Added missing dbus-devel dependency to maemo subpackage diff --git a/sources b/sources index c947667..4b51a59 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ 392d016c0948c54978c0505f24271e01 alsa-plugins-1.0.21.tar.bz2 +a482cce4007b7c75e1c0a677f7f0fe07 alsa-plugins-1.0.22.tar.bz2 From 6ecca31de3315d746db59f82e795b96eb75905ed Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 28 Jul 2010 09:45:23 +0000 Subject: [PATCH 034/126] dist-git conversion --- .cvsignore => .gitignore | 0 Makefile | 21 --------------------- 2 files changed, 21 deletions(-) rename .cvsignore => .gitignore (100%) delete mode 100644 Makefile diff --git a/.cvsignore b/.gitignore similarity index 100% rename from .cvsignore rename to .gitignore diff --git a/Makefile b/Makefile deleted file mode 100644 index b654d76..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: alsa-plugins -# $Id: Makefile,v 1.1 2007/08/07 23:46:58 kevin Exp $ -NAME := alsa-plugins -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$d/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) From ded90479f85d5fe40830f4b5d14c3e5a37af7a44 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 28 Jan 2011 15:54:10 +0100 Subject: [PATCH 035/126] updated to 1.0.24 final --- .gitignore | 2 ++ alsa-plugins.spec | 5 ++++- sources | 3 +-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index ec4c0c8..f26aef1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,4 @@ alsa-plugins-1.0.21.tar.bz2 alsa-plugins-1.0.22.tar.bz2 +/alsa-tools-1.0.24.tar.bz2 +/alsa-plugins-1.0.24.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f211055..90ab46d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,5 +1,5 @@ Name: alsa-plugins -Version: 1.0.22 +Version: 1.0.24 Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ @@ -249,6 +249,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 28 2011 Jaroslav Kysela - 1.0.24-1 +- Updated to 1.0.24 + * Thu Jan 14 2010 Jaroslav Kysela - 1.0.22-1 - Updated to 1.0.22 diff --git a/sources b/sources index 4b51a59..3ede6b6 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -392d016c0948c54978c0505f24271e01 alsa-plugins-1.0.21.tar.bz2 -a482cce4007b7c75e1c0a677f7f0fe07 alsa-plugins-1.0.22.tar.bz2 +e4d4c90e11ab9d1a117afbbc1edd2b16 alsa-plugins-1.0.24.tar.bz2 From ff6aa37c7ac33fd9c160f40d090f07d7200c79ca Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Mon, 7 Feb 2011 18:59:06 -0600 Subject: [PATCH 036/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 90ab46d..2fec3f2 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.24 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -249,6 +249,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Feb 07 2011 Fedora Release Engineering - 1.0.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + * Thu Jan 28 2011 Jaroslav Kysela - 1.0.24-1 - Updated to 1.0.24 From 10585b2af6605d04c1741de29608677b67ca278f Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Thu, 12 Jan 2012 15:11:41 -0600 Subject: [PATCH 037/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 2fec3f2..d918527 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,6 @@ Name: alsa-plugins Version: 1.0.24 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -249,6 +249,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 12 2012 Fedora Release Engineering - 1.0.24-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + * Mon Feb 07 2011 Fedora Release Engineering - 1.0.24-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild From b7ad7e8cfe432726832662ac5dcb968b3c3bfa12 Mon Sep 17 00:00:00 2001 From: Nikola Pajkovsky Date: Thu, 19 Jan 2012 12:40:41 +0100 Subject: [PATCH 038/126] rhbz#761244 - please disable JACK for RHEL Signed-off-by: Nikola Pajkovsky --- alsa-plugins.spec | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d918527..f0922fb 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,6 +1,12 @@ +%if 0%{?rhel} +%define with_jack 0 +%else +%define with_jack 1 +%endif + Name: alsa-plugins Version: 1.0.24 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -8,7 +14,9 @@ License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 +%if 0%{?with_jack} Source1: jack.conf +%endif Source2: pcm-oss.conf Source3: speex.conf Source4: samplerate.conf @@ -27,6 +35,7 @@ functionality to the Linux operating system. This package includes plugins for ALSA. +%if 0%{?with_jack} %package jack Requires: alsa-utils Requires: jack-audio-connection-kit @@ -39,6 +48,7 @@ This plugin converts the ALSA API over JACK (Jack Audio Connection Kit, http://jackit.sf.net) API. ALSA native applications can work transparently together with jackd for both playback and capture. This plugin provides the PCM type "jack" +%endif %package oss Requires: alsa-utils @@ -150,8 +160,10 @@ rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm -install -m 644 %SOURCE1 \ - %SOURCE2 \ +%if 0%{?with_jack} +install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +%endif +install -m 644 %SOURCE2 \ %SOURCE3 \ %SOURCE4 \ %SOURCE5 \ @@ -172,12 +184,14 @@ rm -rf $RPM_BUILD_ROOT %postun -p /sbin/ldconfig +%if 0%{?with_jack} %files jack %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-jack %dir %{_sysconfdir}/alsa/pcm %config(noreplace) %{_sysconfdir}/alsa/pcm/jack.conf %{_libdir}/alsa-lib/libasound_module_pcm_jack.so +%endif %files oss %defattr(-,root,root,-) @@ -249,6 +263,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jan 19 2012 Nikola Pajkovsky - 1.0.24-4 +- 761244 - please disable JACK for RHEL + * Thu Jan 12 2012 Fedora Release Engineering - 1.0.24-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild From c0b183c5c4e8fb61d889e7aa8bb85487f124f6f1 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 1 Feb 2012 10:46:06 +0100 Subject: [PATCH 039/126] updated to 1.0.25 --- .gitignore | 1 + samplerate.conf => 10-samplerate.conf | 0 speex.conf => 10-speex.conf | 0 arcamav.conf => 50-arcamav.conf | 0 jack.conf => 50-jack.conf | 0 pcm-oss.conf => 50-pcm-oss.conf | 0 upmix.conf => 50-upmix.conf | 0 vdownmix.conf => 97-vdownmix.conf | 0 maemo.conf => 98-maemo.conf | 0 alsa-plugins.spec | 71 +++++++++++++++------------ pulse-default.conf | 35 ------------- sources | 2 +- 12 files changed, 41 insertions(+), 68 deletions(-) rename samplerate.conf => 10-samplerate.conf (100%) rename speex.conf => 10-speex.conf (100%) rename arcamav.conf => 50-arcamav.conf (100%) rename jack.conf => 50-jack.conf (100%) rename pcm-oss.conf => 50-pcm-oss.conf (100%) rename upmix.conf => 50-upmix.conf (100%) rename vdownmix.conf => 97-vdownmix.conf (100%) rename maemo.conf => 98-maemo.conf (100%) delete mode 100644 pulse-default.conf diff --git a/.gitignore b/.gitignore index f26aef1..6c6b066 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ alsa-plugins-1.0.21.tar.bz2 alsa-plugins-1.0.22.tar.bz2 /alsa-tools-1.0.24.tar.bz2 /alsa-plugins-1.0.24.tar.bz2 +/alsa-plugins-1.0.25.tar.bz2 diff --git a/samplerate.conf b/10-samplerate.conf similarity index 100% rename from samplerate.conf rename to 10-samplerate.conf diff --git a/speex.conf b/10-speex.conf similarity index 100% rename from speex.conf rename to 10-speex.conf diff --git a/arcamav.conf b/50-arcamav.conf similarity index 100% rename from arcamav.conf rename to 50-arcamav.conf diff --git a/jack.conf b/50-jack.conf similarity index 100% rename from jack.conf rename to 50-jack.conf diff --git a/pcm-oss.conf b/50-pcm-oss.conf similarity index 100% rename from pcm-oss.conf rename to 50-pcm-oss.conf diff --git a/upmix.conf b/50-upmix.conf similarity index 100% rename from upmix.conf rename to 50-upmix.conf diff --git a/vdownmix.conf b/97-vdownmix.conf similarity index 100% rename from vdownmix.conf rename to 97-vdownmix.conf diff --git a/maemo.conf b/98-maemo.conf similarity index 100% rename from maemo.conf rename to 98-maemo.conf diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f0922fb..e4f1a37 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.24 -Release: 4%{?dist} +Version: 1.0.25 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -15,16 +15,15 @@ Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 %if 0%{?with_jack} -Source1: jack.conf +Source1: 50-jack.conf %endif -Source2: pcm-oss.conf -Source3: speex.conf -Source4: samplerate.conf -Source5: upmix.conf -Source6: vdownmix.conf -Source7: pulse-default.conf -Source8: arcamav.conf -Source9: maemo.conf +Source2: 50-pcm-oss.conf +Source3: 10-speex.conf +Source4: 10-samplerate.conf +Source5: 50-upmix.conf +Source6: 97-vdownmix.conf +Source8: 50-arcamav.conf +Source9: 98-maemo.conf BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -136,7 +135,7 @@ The rate plugin is an external rate converter using the Speex resampler pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo -BuildRequires: alsa-lib-devel = %{version} +#BuildRequires: alsa-lib-devel = %{version} BuildRequires: dbus-devel Summary: Maemo plugin for ALSA Group: System Environment/Libraries @@ -159,9 +158,9 @@ make %{?_smp_mflags} rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT -install -d ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +install -d ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d %if 0%{?with_jack} -install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm +install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d %endif install -m 644 %SOURCE2 \ %SOURCE3 \ @@ -170,10 +169,9 @@ install -m 644 %SOURCE2 \ %SOURCE6 \ %SOURCE8 \ %SOURCE9 \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa/pcm -# pulseaudio configuration file -install -m 644 %SOURCE7 \ - ${RPM_BUILD_ROOT}%{_sysconfdir}/alsa + ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d +mv ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example \ + ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; @@ -188,32 +186,34 @@ rm -rf $RPM_BUILD_ROOT %files jack %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-jack -%dir %{_sysconfdir}/alsa/pcm -%config(noreplace) %{_sysconfdir}/alsa/pcm/jack.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-jack.conf %{_libdir}/alsa-lib/libasound_module_pcm_jack.so %endif %files oss %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pcm-oss -%dir %{_sysconfdir}/alsa/pcm -%config(noreplace) %{_sysconfdir}/alsa/pcm/pcm-oss.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pcm-oss.conf %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so %files pulseaudio %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pulse -%config(noreplace) %{_sysconfdir}/alsa/pulse-default.conf %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf %files samplerate %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/samplerate.txt -%dir %{_sysconfdir}/alsa/pcm -%config(noreplace) %{_sysconfdir}/alsa/pcm/samplerate.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf %{_libdir}/alsa-lib/libasound_module_rate_samplerate.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_linear.so @@ -223,15 +223,15 @@ rm -rf $RPM_BUILD_ROOT %files upmix %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/upmix.txt -%dir %{_sysconfdir}/alsa/pcm -%config(noreplace) %{_sysconfdir}/alsa/pcm/upmix.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-upmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/vdownmix.txt -%dir %{_sysconfdir}/alsa/pcm -%config(noreplace) %{_sysconfdir}/alsa/pcm/vdownmix.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/97-vdownmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream @@ -242,13 +242,15 @@ rm -rf $RPM_BUILD_ROOT %files arcamav %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-arcam-av -%config(noreplace) %{_sysconfdir}/alsa/pcm/arcamav.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-arcamav.conf %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt -%config(noreplace) %{_sysconfdir}/alsa/pcm/speex.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-speex.conf %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate_best.so @@ -257,12 +259,17 @@ rm -rf $RPM_BUILD_ROOT %files maemo %defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-maemo -%config(noreplace) %{_sysconfdir}/alsa/pcm/maemo.conf +%dir %{_datadir}/alsa/alsa.conf.d +%config(noreplace) %{_datadir}/alsa/alsa.conf.d/98-maemo.conf %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so %changelog +* Wed Feb 1 2012 Jaroslav Kysela - 1.0.25-1 +- Updated to 1.0.25 +- Moved plugin specific configuration from /etc/alsa/pcm to /usr/share/alsa/alsa.conf.d + * Thu Jan 19 2012 Nikola Pajkovsky - 1.0.24-4 - 761244 - please disable JACK for RHEL diff --git a/pulse-default.conf b/pulse-default.conf deleted file mode 100644 index a84bede..0000000 --- a/pulse-default.conf +++ /dev/null @@ -1,35 +0,0 @@ -# PulseAudio plugin configuration -# $Id$ - -# Let's create a virtual device "pulse" for mixer and PCM - -pcm.pulse { - type pulse - hint { - description "PulseAudio Sound Server" - } -} - -ctl.pulse { - type pulse - hint { - description "PulseAudio Sound Server" - } -} - -# Let's make it the default! - -pcm.!default { - type pulse - hint { - description "Default" - } -} - -ctl.!default { - type pulse - hint { - description "Default" - } -} - diff --git a/sources b/sources index 3ede6b6..dee95e9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e4d4c90e11ab9d1a117afbbc1edd2b16 alsa-plugins-1.0.24.tar.bz2 +038c023eaa51171f018fbf7141255185 alsa-plugins-1.0.25.tar.bz2 From 2398280b219639fffd8c4b3d919e56584ec81a56 Mon Sep 17 00:00:00 2001 From: Paul Howarth Date: Mon, 23 Apr 2012 09:41:26 +0100 Subject: [PATCH 040/126] Bump and rebuild to maintain upgrade path (#806218) --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index e4f1a37..b4b8d70 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.25 -Release: 1%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Mon Apr 23 2012 Paul Howarth - 1.0.25-3 +- Bump and rebuild to maintain upgrade path (#806218) + * Wed Feb 1 2012 Jaroslav Kysela - 1.0.25-1 - Updated to 1.0.25 - Moved plugin specific configuration from /etc/alsa/pcm to /usr/share/alsa/alsa.conf.d From 6f5b8621a1125eff6cf3a3bf8cf56e2f1501dde6 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 18 Jul 2012 10:52:22 -0500 Subject: [PATCH 041/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index b4b8d70..036a4c7 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.25 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Jul 18 2012 Fedora Release Engineering - 1.0.25-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + * Mon Apr 23 2012 Paul Howarth - 1.0.25-3 - Bump and rebuild to maintain upgrade path (#806218) From 6f5e85fd3b32e6f39dc78df86c4941a27ac89403 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 6 Sep 2012 15:59:01 +0200 Subject: [PATCH 042/126] Updated to 1.0.26 --- .gitignore | 1 + alsa-plugins.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 6c6b066..28fa539 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ alsa-plugins-1.0.22.tar.bz2 /alsa-tools-1.0.24.tar.bz2 /alsa-plugins-1.0.24.tar.bz2 /alsa-plugins-1.0.25.tar.bz2 +/alsa-plugins-1.0.26.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 036a4c7..0a17458 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.25 -Release: 4%{?dist} +Version: 1.0.26 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Sep 6 2012 Jaroslav Kysela - 1.0.26-1 +- Updated to 1.0.26 + * Wed Jul 18 2012 Fedora Release Engineering - 1.0.25-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild diff --git a/sources b/sources index dee95e9..54aec69 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -038c023eaa51171f018fbf7141255185 alsa-plugins-1.0.25.tar.bz2 +4facd408326ef5567a7d4ceb6589e6b0 alsa-plugins-1.0.26.tar.bz2 From a934fcaae9334c65a9be47480be5e7c887b07dcf Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 6 Sep 2012 16:25:12 +0200 Subject: [PATCH 043/126] pulseaudio-libs-devel dependency fix --- alsa-plugins.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0a17458..5b7bd94 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.26 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -64,7 +64,7 @@ This plugin provides the PCM type "oss". %package pulseaudio Requires: alsa-utils Requires: pulseaudio -BuildRequires: pulseaudio-lib-devel +BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend Group: System Environment/Libraries License: LGPLv2+ @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Sep 6 2012 Jaroslav Kysela - 1.0.26-2 +- Changed dependency on pulseaudio-lib-devel to pulseaudio-libs-devel + * Thu Sep 6 2012 Jaroslav Kysela - 1.0.26-1 - Updated to 1.0.26 From e24b293617942b62fba3d9fbbbe47f3bb0768ff8 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 13 Feb 2013 10:28:58 -0600 Subject: [PATCH 044/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5b7bd94..605c434 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.26 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Feb 13 2013 Fedora Release Engineering - 1.0.26-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + * Thu Sep 6 2012 Jaroslav Kysela - 1.0.26-2 - Changed dependency on pulseaudio-lib-devel to pulseaudio-libs-devel From 47db255bc0b65c2917edd148cffdcc6392f4ea63 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 12 Apr 2013 12:21:29 +0200 Subject: [PATCH 045/126] updated to 1.0.27 --- .gitignore | 1 + alsa-plugins.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 28fa539..852fa78 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ alsa-plugins-1.0.22.tar.bz2 /alsa-plugins-1.0.24.tar.bz2 /alsa-plugins-1.0.25.tar.bz2 /alsa-plugins-1.0.26.tar.bz2 +/alsa-plugins-1.0.27.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 605c434..5c6b684 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.26 -Release: 3%{?dist} +Version: 1.0.27 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Fri Apr 12 2013 Jaroslav Kysela - 1.0.27-1 +- Updated to 1.0.27 + * Wed Feb 13 2013 Fedora Release Engineering - 1.0.26-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild diff --git a/sources b/sources index 54aec69..39d8a59 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -4facd408326ef5567a7d4ceb6589e6b0 alsa-plugins-1.0.26.tar.bz2 +ada0163e0e84c787bfc929ad0f3f5cb8 alsa-plugins-1.0.27.tar.bz2 From 13e9d27a293b20a5ae1db954cc28ecc6da6617a0 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 2 Aug 2013 19:39:05 -0500 Subject: [PATCH 046/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5c6b684..edd8c76 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.27 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Aug 03 2013 Fedora Release Engineering - 1.0.27-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + * Fri Apr 12 2013 Jaroslav Kysela - 1.0.27-1 - Updated to 1.0.27 From 491cb395ae6777dd2da8138df1258e66017d215b Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Fri, 6 Jun 2014 19:31:23 -0500 Subject: [PATCH 047/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index edd8c76..73a8c16 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.27 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -266,6 +266,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Sat Jun 07 2014 Fedora Release Engineering - 1.0.27-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + * Sat Aug 03 2013 Fedora Release Engineering - 1.0.27-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild From 1bb5e462e42be6e8ae4b6e940759c0556107b5e0 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 25 Jul 2014 00:25:11 +0100 Subject: [PATCH 048/126] 1.0.28 --- .gitignore | 8 +------- alsa-plugins.spec | 21 +++++---------------- sources | 2 +- 3 files changed, 7 insertions(+), 24 deletions(-) diff --git a/.gitignore b/.gitignore index 852fa78..0adcd05 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1 @@ -alsa-plugins-1.0.21.tar.bz2 -alsa-plugins-1.0.22.tar.bz2 -/alsa-tools-1.0.24.tar.bz2 -/alsa-plugins-1.0.24.tar.bz2 -/alsa-plugins-1.0.25.tar.bz2 -/alsa-plugins-1.0.26.tar.bz2 -/alsa-plugins-1.0.27.tar.bz2 +/alsa-plugins-1.*.tar.bz2 diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 73a8c16..d267500 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.27 -Release: 3%{?dist} +Version: 1.0.28 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -24,7 +24,6 @@ Source5: 50-upmix.conf Source6: 97-vdownmix.conf Source8: 50-arcamav.conf Source9: 98-maemo.conf -BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: alsa-lib-devel @@ -155,7 +154,6 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. make %{?_smp_mflags} %install -rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT install -d ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d @@ -175,8 +173,6 @@ mv ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.exam find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; -%clean -rm -rf $RPM_BUILD_ROOT %post -p /sbin/ldconfig @@ -184,7 +180,6 @@ rm -rf $RPM_BUILD_ROOT %if 0%{?with_jack} %files jack -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-jack %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-jack.conf @@ -192,7 +187,6 @@ rm -rf $RPM_BUILD_ROOT %endif %files oss -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pcm-oss %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pcm-oss.conf @@ -200,7 +194,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_pcm_oss.so %files pulseaudio -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-pulse %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so @@ -210,7 +203,6 @@ rm -rf $RPM_BUILD_ROOT %config(noreplace) %{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf %files samplerate -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/samplerate.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf @@ -221,33 +213,28 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_rate_samplerate_order.so %files upmix -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/upmix.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-upmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/vdownmix.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/97-vdownmix.conf %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream -%defattr(-,root,root,-) %doc COPYING COPYING.GPL %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %files arcamav -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-arcam-av %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-arcamav.conf %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-speex.conf @@ -257,7 +244,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so %files maemo -%defattr(-,root,root,-) %doc COPYING COPYING.GPL doc/README-maemo %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/98-maemo.conf @@ -266,6 +252,9 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Thu Jul 24 2014 Peter Robinson 1.0.28-1 +- Update to 1.0.28 + * Sat Jun 07 2014 Fedora Release Engineering - 1.0.27-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild diff --git a/sources b/sources index 39d8a59..5ebe30d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -ada0163e0e84c787bfc929ad0f3f5cb8 alsa-plugins-1.0.27.tar.bz2 +6fcbbb31e96f8ebc5fb926184a717aa4 alsa-plugins-1.0.28.tar.bz2 From bb38988b0e76018d0fb2cd822383bc07bbf952f0 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 25 Jul 2014 01:30:35 +0100 Subject: [PATCH 049/126] Fix Source1 conditional for src.rpm generation (RHBZ 856543) --- alsa-plugins.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d267500..04afb22 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.28 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -14,9 +14,7 @@ License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 -%if 0%{?with_jack} Source1: 50-jack.conf -%endif Source2: 50-pcm-oss.conf Source3: 10-speex.conf Source4: 10-samplerate.conf @@ -252,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Thu Jul 24 2014 Peter Robinson 1.0.28-2 +- Fix Source1 conditional for src.rpm generation (RHBZ 856543) + * Thu Jul 24 2014 Peter Robinson 1.0.28-1 - Update to 1.0.28 From a0dd73ed1d8d1f82fd079fe3e5531d2941f66190 Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Fri, 15 Aug 2014 20:22:34 +0000 Subject: [PATCH 050/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 04afb22..f651345 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.28 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Fri Aug 15 2014 Fedora Release Engineering - 1.0.28-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + * Thu Jul 24 2014 Peter Robinson 1.0.28-2 - Fix Source1 conditional for src.rpm generation (RHBZ 856543) From da7dc7e31020f03a308a53851f842b5b2e2c745a Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Thu, 29 Jan 2015 15:43:51 +0000 Subject: [PATCH 051/126] Add speexdsp-devel as a dep to fix FTBFS --- alsa-plugins.spec | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f651345..e12331a 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.28 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -121,8 +121,8 @@ This plugin exposes the controls for an Arcam AV amplifier (see: http://www.arcam.co.uk/) as an ALSA mixer device. %package speex -Requires: speex -BuildRequires: speex-devel +Requires: speex speexdsp +BuildRequires: speex-devel speexdsp-devel Summary: Rate Converter Plugin Using Speex Resampler Group: System Environment/Libraries License: LGPLv2+ @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Thu Jan 29 2015 Peter Robinson 1.0.28-4 +- Add speexdsp-devel as a dep to fix FTBFS + * Fri Aug 15 2014 Fedora Release Engineering - 1.0.28-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild From c221d933f2c8aa44a89d526792f7354bec32fefe Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 26 Feb 2015 16:29:45 +0100 Subject: [PATCH 052/126] updated to 1.0.29 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index e12331a..a300cf3 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.28 -Release: 4%{?dist} +Version: 1.0.29 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Thu Feb 26 2015 Jaroslav Kysela - 1.0.29-1 +- Updated to 1.0.29 + * Thu Jan 29 2015 Peter Robinson 1.0.28-4 - Add speexdsp-devel as a dep to fix FTBFS diff --git a/sources b/sources index 5ebe30d..501b9bf 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6fcbbb31e96f8ebc5fb926184a717aa4 alsa-plugins-1.0.28.tar.bz2 +a66797b4471e3cbe96575207bfbe252c alsa-plugins-1.0.29.tar.bz2 From da1ffc33587d24090c66ad6093fa22e8085b5159 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Tue, 16 Jun 2015 23:49:02 +0000 Subject: [PATCH 053/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index a300cf3..0ba7a04 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.0.29 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Tue Jun 16 2015 Fedora Release Engineering - 1.0.29-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Thu Feb 26 2015 Jaroslav Kysela - 1.0.29-1 - Updated to 1.0.29 From f7cf0d534b51fc9124269a6fe3a763eb6a198247 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 27 Oct 2015 18:25:47 +0100 Subject: [PATCH 054/126] updated to v1.1.0 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0ba7a04..e79f9ce 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.0.29 -Release: 2%{?dist} +Version: 1.1.0 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Tue Oct 27 2015 Jaroslav Kysela - 1.1.0-1 +- Updated to 1.1.0 + * Tue Jun 16 2015 Fedora Release Engineering - 1.0.29-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild diff --git a/sources b/sources index 501b9bf..dcb543d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -a66797b4471e3cbe96575207bfbe252c alsa-plugins-1.0.29.tar.bz2 +b123e42ed881b9adbc99e4040f257c39 alsa-plugins-1.1.0.tar.bz2 From b830d0afa9d74d1b281e2b223eadc1c2c6817b12 Mon Sep 17 00:00:00 2001 From: Dennis Gilmore Date: Wed, 3 Feb 2016 16:07:23 +0000 Subject: [PATCH 055/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index e79f9ce..c82984d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Wed Feb 03 2016 Fedora Release Engineering - 1.1.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + * Tue Oct 27 2015 Jaroslav Kysela - 1.1.0-1 - Updated to 1.1.0 From 9139f43ab77440821040eaead2291e323ac3e9ed Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 31 Mar 2016 17:39:07 +0200 Subject: [PATCH 056/126] updated to v1.1.1 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index c82984d..5170cb8 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.0 -Release: 2%{?dist} +Version: 1.1.1 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Thu Mar 31 2016 Jaroslav Kysela - 1.1.1-1 +- Updated to 1.1.1 + * Wed Feb 03 2016 Fedora Release Engineering - 1.1.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild diff --git a/sources b/sources index dcb543d..7dd4a91 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -b123e42ed881b9adbc99e4040f257c39 alsa-plugins-1.1.0.tar.bz2 +69f9f3e2de3c97fc71d496e91e271fe5 alsa-plugins-1.1.1.tar.bz2 From a13a75b619bedc31e8a98f977415a87a977c94e9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 10 Feb 2017 05:54:01 +0000 Subject: [PATCH 057/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5170cb8..b867efe 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Fri Feb 10 2017 Fedora Release Engineering - 1.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + * Thu Mar 31 2016 Jaroslav Kysela - 1.1.1-1 - Updated to 1.1.1 From 58696037115b1c029fb5e57f61411ed660404fdf Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 16 May 2017 15:07:32 +0200 Subject: [PATCH 058/126] updated to 1.1.4 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index b867efe..99b2e72 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.1 -Release: 2%{?dist} +Version: 1.1.4 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Tue May 16 2017 Jaroslav Kysela - 1.1.4-1 +- Updated to 1.1.4 + * Fri Feb 10 2017 Fedora Release Engineering - 1.1.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild diff --git a/sources b/sources index 7dd4a91..5daf28f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -69f9f3e2de3c97fc71d496e91e271fe5 alsa-plugins-1.1.1.tar.bz2 +MD5 (alsa-plugins-1.1.4.tar.bz2) = de51130a7444b79b2dd3c25e28420754 From 6ed9d59b989eeed72b7b56a660fe9c656560020c Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 26 Jul 2017 02:47:06 +0000 Subject: [PATCH 059/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 99b2e72..427cf38 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.4 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Wed Jul 26 2017 Fedora Release Engineering - 1.1.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + * Tue May 16 2017 Jaroslav Kysela - 1.1.4-1 - Updated to 1.1.4 From 1f8726b33ceaa832720fcc40f49df8ed11b2c149 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 2 Aug 2017 17:31:23 +0000 Subject: [PATCH 060/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 427cf38..d3cb0dd 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Wed Aug 02 2017 Fedora Release Engineering - 1.1.4-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + * Wed Jul 26 2017 Fedora Release Engineering - 1.1.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild From 4f01ceaeba74aba22f2bcd646908a47fbb173696 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 14 Nov 2017 09:53:26 +0100 Subject: [PATCH 061/126] updated to 1.1.5 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d3cb0dd..298f761 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.4 -Release: 3%{?dist} +Version: 1.1.5 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Tue Nov 14 2017 Jaroslav Kysela - 1.1.5-1 +- Updated to 1.1.5 + * Wed Aug 02 2017 Fedora Release Engineering - 1.1.4-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild diff --git a/sources b/sources index 5daf28f..ab587e5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -MD5 (alsa-plugins-1.1.4.tar.bz2) = de51130a7444b79b2dd3c25e28420754 +SHA512 (alsa-plugins-1.1.5.tar.bz2) = 50a79d9dbcca72b2133aba7dca594302dcd5816eb71afc311a4c2a96aac7632a0a034875faf3100f2c8a44f3fbbede264e5cd9beacf2a07f2fa6786f66edae39 From 709e7ae313198406cefa732ec58116fbe97be6d5 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 7 Feb 2018 02:09:23 +0000 Subject: [PATCH 062/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 298f761..13aac41 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -250,6 +250,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Wed Feb 07 2018 Fedora Release Engineering - 1.1.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + * Tue Nov 14 2017 Jaroslav Kysela - 1.1.5-1 - Updated to 1.1.5 From e68f9bd88c4268fe0056706d02a3021713abec1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= Date: Sun, 25 Feb 2018 19:17:52 +0100 Subject: [PATCH 063/126] Let plugin packages own %{_libdir}/alsa-lib (RHBZ#1548865) --- alsa-plugins.spec | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 13aac41..09a8342 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.5 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -181,6 +181,7 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-jack %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-jack.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_jack.so %endif @@ -188,11 +189,13 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-pcm-oss %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pcm-oss.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so %files pulseaudio %doc COPYING COPYING.GPL doc/README-pulse +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so @@ -204,6 +207,7 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/samplerate.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_rate_samplerate.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_linear.so @@ -214,28 +218,33 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/upmix.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-upmix.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix %doc COPYING COPYING.GPL doc/vdownmix.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/97-vdownmix.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream %doc COPYING COPYING.GPL +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %files arcamav %doc COPYING COPYING.GPL doc/README-arcam-av %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-arcamav.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-speex.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate_best.so @@ -245,11 +254,15 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-maemo %dir %{_datadir}/alsa/alsa.conf.d %config(noreplace) %{_datadir}/alsa/alsa.conf.d/98-maemo.conf +%dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so %changelog +* Sun Feb 25 2018 Ralf Corsépius - 1.1.5-3 +- Let plugin packages own %%{_libdir}/alsa-lib (RHBZ#1548865) + * Wed Feb 07 2018 Fedora Release Engineering - 1.1.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild From 406cbb880049fe28563d68167c36b0df773e37f6 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 3 Apr 2018 19:40:30 +0200 Subject: [PATCH 064/126] updated to 1.1.6 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 09a8342..70c439d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.5 -Release: 3%{?dist} +Version: 1.1.6 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -260,6 +260,9 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %changelog +* Tue Apr 03 2018 Jaroslav Kysela - 1.1.6-1 +- Updated to 1.1.6 + * Sun Feb 25 2018 Ralf Corsépius - 1.1.5-3 - Let plugin packages own %%{_libdir}/alsa-lib (RHBZ#1548865) diff --git a/sources b/sources index ab587e5..194f06c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.1.5.tar.bz2) = 50a79d9dbcca72b2133aba7dca594302dcd5816eb71afc311a4c2a96aac7632a0a034875faf3100f2c8a44f3fbbede264e5cd9beacf2a07f2fa6786f66edae39 +SHA512 (alsa-plugins-1.1.6.tar.bz2) = f01633cd7166a2fba4c5b4d5d786b5a2122f6a810f5b5b7209c42033759d116a4515174e7ee57973d5de716be88a246d733dc5a2daf92b72377c274b04db401b From 498539259d3a174d92996a459726197cae984469 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 4 Apr 2018 10:59:27 +0200 Subject: [PATCH 065/126] changed the add-on config directory to /etc/alsa/conf.d --- alsa-plugins.spec | 57 +++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 27 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 70c439d..5d2686b 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -152,11 +152,11 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. make %{?_smp_mflags} %install -make install DESTDIR=$RPM_BUILD_ROOT +make install DESTDIR=%{buildroot} -install -d ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d +install -d %{buildroot}/etc/alsa/conf.d %if 0%{?with_jack} -install -m 644 %SOURCE1 ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d +install -m 644 %SOURCE1 %{buildroot}/etc/alsa/conf.d %endif install -m 644 %SOURCE2 \ %SOURCE3 \ @@ -165,11 +165,11 @@ install -m 644 %SOURCE2 \ %SOURCE6 \ %SOURCE8 \ %SOURCE9 \ - ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d -mv ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf.example \ - ${RPM_BUILD_ROOT}%{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf + %{buildroot}/etc/alsa/conf.d +mv %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf.example \ + %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf -find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; +find %{buildroot} -name "*.la" -exec rm {} \; %post -p /sbin/ldconfig @@ -179,16 +179,16 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %if 0%{?with_jack} %files jack %doc COPYING COPYING.GPL doc/README-jack -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-jack.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/50-jack.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_jack.so %endif %files oss %doc COPYING COPYING.GPL doc/README-pcm-oss -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pcm-oss.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/50-pcm-oss.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so @@ -199,14 +199,14 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/99-pulseaudio-default.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/50-pulseaudio.conf +%config(noreplace) /etc/alsa/conf.d/99-pulseaudio-default.conf %files samplerate %doc COPYING COPYING.GPL doc/samplerate.txt -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/10-samplerate.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_rate_samplerate.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so @@ -216,15 +216,15 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %files upmix %doc COPYING COPYING.GPL doc/upmix.txt -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-upmix.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/50-upmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix %doc COPYING COPYING.GPL doc/vdownmix.txt -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/97-vdownmix.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/97-vdownmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so @@ -235,15 +235,15 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %files arcamav %doc COPYING COPYING.GPL doc/README-arcam-av -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/50-arcamav.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/50-arcamav.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/10-speex.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/10-speex.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so @@ -252,14 +252,17 @@ find $RPM_BUILD_ROOT -name "*.la" -exec rm {} \; %files maemo %doc COPYING COPYING.GPL doc/README-maemo -%dir %{_datadir}/alsa/alsa.conf.d -%config(noreplace) %{_datadir}/alsa/alsa.conf.d/98-maemo.conf +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/98-maemo.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so %changelog +* Wed Apr 04 2018 Jaroslav Kysela - 1.1.6-2 +- Changed the add-on config directory to /etc/alsa/conf.d + * Tue Apr 03 2018 Jaroslav Kysela - 1.1.6-1 - Updated to 1.1.6 From a8ca94350178235b04aa469ad4371899757ce043 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 16:55:25 +0200 Subject: [PATCH 066/126] changed the plugin config files --- 10-samplerate.conf | 11 - 10-speex.conf | 11 - 50-arcamav.conf | 10 - 50-jack.conf | 17 - 50-pcm-oss.conf | 9 - 50-upmix.conf | 10 - 97-vdownmix.conf | 18 -- 98-maemo.conf | 13 - alsa-plugins.spec | 22 +- plugin-config.patch | 750 ++++++++++++++++++++++++++++++++++++++++++++ 10 files changed, 759 insertions(+), 112 deletions(-) delete mode 100644 10-samplerate.conf delete mode 100644 10-speex.conf delete mode 100644 50-arcamav.conf delete mode 100644 50-jack.conf delete mode 100644 50-pcm-oss.conf delete mode 100644 50-upmix.conf delete mode 100644 97-vdownmix.conf delete mode 100644 98-maemo.conf create mode 100644 plugin-config.patch diff --git a/10-samplerate.conf b/10-samplerate.conf deleted file mode 100644 index 8bf7b9a..0000000 --- a/10-samplerate.conf +++ /dev/null @@ -1,11 +0,0 @@ -# samplerate plugin configuration -# $Id: samplerate.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ - -pcm.my_rate { - type rate - slave.pcm "hw" - converter "samplerate" - hint { - description "External rate converter" - } -} diff --git a/10-speex.conf b/10-speex.conf deleted file mode 100644 index c4f23e3..0000000 --- a/10-speex.conf +++ /dev/null @@ -1,11 +0,0 @@ -# samplerate plugin configuration -# $Id$ - -pcm.my_rate { - type rate - slave.pcm "hw" - converter "speexrate" - hint { - description "Rate Converter Plugin Using Speex Resampler" - } -} diff --git a/50-arcamav.conf b/50-arcamav.conf deleted file mode 100644 index 534663a..0000000 --- a/50-arcamav.conf +++ /dev/null @@ -1,10 +0,0 @@ -# arcam-av plugin configuration -# $Id$ - -ctl.arcam_av { - type arcam_av - port /dev/ttyS0 - hint { - description "Arcam-AV Amplifier" - } -} diff --git a/50-jack.conf b/50-jack.conf deleted file mode 100644 index e74f5fc..0000000 --- a/50-jack.conf +++ /dev/null @@ -1,17 +0,0 @@ -# The jack plugin configuration -# $Id: jack.conf,v 1.3 2008/03/19 20:01:04 emoret Exp $ - -pcm.jack { - type jack - playback_ports { - 0 alsa_pcm:playback_1 - 1 alsa_pcm:playback_2 - } - capture_ports { - 0 alsa_pcm:capture_1 - 1 alsa_pcm:capture_2 - } - hint { - description "JACK Audio Connection Kit" - } -} diff --git a/50-pcm-oss.conf b/50-pcm-oss.conf deleted file mode 100644 index b5aac44..0000000 --- a/50-pcm-oss.conf +++ /dev/null @@ -1,9 +0,0 @@ -# pcm-oss plugin configuration - -pcm.oss { - type oss - device /dev/dsp - hint { - description "Open Sound System" - } -} diff --git a/50-upmix.conf b/50-upmix.conf deleted file mode 100644 index e15055e..0000000 --- a/50-upmix.conf +++ /dev/null @@ -1,10 +0,0 @@ -# upmix plugin configuration -# $Id: upmix.conf,v 1.2 2008/03/09 15:50:49 lkundrak Exp $ - -pcm.upmix51 { - type upmix - slave.pcm "surround51" - hint { - description "Upmixer channel expander" - } -} diff --git a/97-vdownmix.conf b/97-vdownmix.conf deleted file mode 100644 index 95786b8..0000000 --- a/97-vdownmix.conf +++ /dev/null @@ -1,18 +0,0 @@ -# vdownmix plugin configuration -# $Id$ - -pcm.!surround51 { - type vdownmix - slave.pcm "default" - hint { - description "Downmixer to stereo from surround51" - } -} - -pcm.!surround40 { - type vdownmix - slave.pcm "default" - hint { - description "Downmixer to stereo from surround40" - } -} diff --git a/98-maemo.conf b/98-maemo.conf deleted file mode 100644 index 737890f..0000000 --- a/98-maemo.conf +++ /dev/null @@ -1,13 +0,0 @@ -# PCM -pcm.!default { - type alsa_dsp - playback_device_file ["/dev/dsptask/pcm2"] - recording_device_file ["/dev/dsptask/pcm_rec"] -} - -# Mixer -ctl.!default { - type dsp_ctl - playback_devices ["/dev/dsptask/pcm2"] - recording_devices ["/dev/dsptask/pcm_rec"] -} diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 5d2686b..fc4c2ee 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -14,14 +14,7 @@ License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 -Source1: 50-jack.conf -Source2: 50-pcm-oss.conf -Source3: 10-speex.conf -Source4: 10-samplerate.conf -Source5: 50-upmix.conf -Source6: 97-vdownmix.conf -Source8: 50-arcamav.conf -Source9: 98-maemo.conf +Patch0: plugin-config.patch BuildRequires: alsa-lib-devel @@ -132,7 +125,6 @@ The rate plugin is an external rate converter using the Speex resampler pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo -#BuildRequires: alsa-lib-devel = %{version} BuildRequires: dbus-devel Summary: Maemo plugin for ALSA Group: System Environment/Libraries @@ -143,6 +135,7 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %prep %setup -q -n %{name}-%{version}%{?prever} +%patch0 -p1 -n .plugin-config %build %configure --disable-static \ @@ -188,7 +181,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files oss %doc COPYING COPYING.GPL doc/README-pcm-oss %dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-pcm-oss.conf +%config(noreplace) /etc/alsa/conf.d/50-oss.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so @@ -217,26 +210,28 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files upmix %doc COPYING COPYING.GPL doc/upmix.txt %dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-upmix.conf +%config(noreplace) /etc/alsa/conf.d/60-upmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix %doc COPYING COPYING.GPL doc/vdownmix.txt %dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/97-vdownmix.conf +%config(noreplace) /etc/alsa/conf.d/60-vdownmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream %doc COPYING COPYING.GPL +%dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/98-usb-stream.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %files arcamav %doc COPYING COPYING.GPL doc/README-arcam-av %dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-arcamav.conf +%config(noreplace) /etc/alsa/conf.d/50-arcam-av-ctl.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so @@ -262,6 +257,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog * Wed Apr 04 2018 Jaroslav Kysela - 1.1.6-2 - Changed the add-on config directory to /etc/alsa/conf.d +- Changed the config files * Tue Apr 03 2018 Jaroslav Kysela - 1.1.6-1 - Updated to 1.1.6 diff --git a/plugin-config.patch b/plugin-config.patch new file mode 100644 index 0000000..a48069b --- /dev/null +++ b/plugin-config.patch @@ -0,0 +1,750 @@ +From e8fabec7adc70220f52588dc170d90d146b92ba7 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Thu, 5 Apr 2018 09:23:09 +0200 +Subject: [PATCH 1/2] samplerate: fix unused variable warning + +Signed-off-by: Jaroslav Kysela +--- + rate/rate_samplerate.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/rate/rate_samplerate.c b/rate/rate_samplerate.c +index 0b14a59..100d6f2 100644 +--- a/rate/rate_samplerate.c ++++ b/rate/rate_samplerate.c +@@ -154,14 +154,14 @@ static void pcm_src_close(void *obj) + } + + #if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 +-static int get_supported_rates(void *obj, unsigned int *rate_min, ++static int get_supported_rates(void *obj ATTRIBUTE_UNUSED, unsigned int *rate_min, + unsigned int *rate_max) + { + *rate_min = *rate_max = 0; /* both unlimited */ + return 0; + } + +-static void dump(void *obj, snd_output_t *out) ++static void dump(void *obj ATTRIBUTE_UNUSED, snd_output_t *out) + { + snd_output_printf(out, "Converter: libsamplerate\n"); + } +-- +2.13.6 + + +From 6e40eb5fd346207021a95d06bc30205a537926ea Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 4 Apr 2018 19:57:56 +0200 +Subject: [PATCH 2/2] configure: add --with-alsaaddondir, add default config + files for plugins + +Signed-off-by: Jaroslav Kysela +--- + a52/60-a52-encoder.conf | 38 ++++++++++++++++++++++++++ + a52/Makefile.am | 4 +++ + a52/pcm_a52.c | 2 +- + arcam-av/50-arcam-av-ctl.conf | 16 +++++++++++ + arcam-av/Makefile.am | 4 +++ + configure.ac | 12 +++++++++ + jack/50-jack.conf | 18 +++++++++++++ + jack/Makefile.am | 4 +++ + maemo/98-maemo.conf | 11 ++++++++ + maemo/Makefile.am | 4 +++ + mix/60-upmix.conf | 26 ++++++++++++++++++ + mix/60-vdownmix.conf | 24 +++++++++++++++++ + mix/Makefile.am | 5 +++- + oss/50-oss.conf | 26 ++++++++++++++++++ + oss/Makefile.am | 4 +++ + pph/10-speexrate.conf | 28 +++++++++++++++++++ + pph/Makefile.am | 4 +++ + pulse/50-pulseaudio.conf | 15 ++++++----- + pulse/Makefile.am | 4 +-- + rate-lavc/10-rate-lavc.conf | 28 +++++++++++++++++++ + rate-lavc/Makefile.am | 4 +++ + rate/10-samplerate.conf | 28 +++++++++++++++++++ + rate/Makefile.am | 4 +++ + speex/60-speex.conf | 63 +++++++++++++++++++++++++++++++++++++++++++ + speex/Makefile.am | 4 +++ + usb_stream/98-usb-stream.conf | 27 +++++++++++++++++++ + usb_stream/Makefile.am | 4 +++ + 27 files changed, 401 insertions(+), 10 deletions(-) + create mode 100644 a52/60-a52-encoder.conf + create mode 100644 arcam-av/50-arcam-av-ctl.conf + create mode 100644 jack/50-jack.conf + create mode 100644 maemo/98-maemo.conf + create mode 100644 mix/60-upmix.conf + create mode 100644 mix/60-vdownmix.conf + create mode 100644 oss/50-oss.conf + create mode 100644 pph/10-speexrate.conf + create mode 100644 rate-lavc/10-rate-lavc.conf + create mode 100644 rate/10-samplerate.conf + create mode 100644 speex/60-speex.conf + create mode 100644 usb_stream/98-usb-stream.conf + +diff --git a/a52/60-a52-encoder.conf b/a52/60-a52-encoder.conf +new file mode 100644 +index 0000000..346c94f +--- /dev/null ++++ b/a52/60-a52-encoder.conf +@@ -0,0 +1,38 @@ ++pcm.a52 { ++ @args [ CARD SLAVE RATE BITRATE CHANNELS ] ++ @args.CARD { ++ type integer ++ default { ++ @func refer ++ name defaults.pcm.card ++ } ++ } ++ @args.SLAVE { ++ type string ++ } ++ @args.RATE { ++ type integer ++ default 48000 ++ } ++ @args.BITRATE { ++ type integer ++ default 448 ++ } ++ @args.CHANNELS { ++ type string ++ default 6 ++ } ++ type a52 ++ card $CARD ++ slavepcm $SLAVE ++ rate $RATE ++ bitrate $BITRATE ++ channels $CHANNELS ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Plugin to convert multichannel stream to A52 (AC3) bitstream" ++ } ++} +diff --git a/a52/Makefile.am b/a52/Makefile.am +index 48567b4..cbc1497 100644 +--- a/a52/Makefile.am ++++ b/a52/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 60-a52-encoder.conf ++ + asound_module_pcm_a52_LTLIBRARIES = libasound_module_pcm_a52.la ++asound_module_addon_DATA = 60-a52-encoder.conf + + asound_module_pcm_a52dir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVCODEC_CFLAGS@ \ + -DAVCODEC_HEADER="@AVCODEC_HEADER@" +diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c +index 348d58f..155da36 100644 +--- a/a52/pcm_a52.c ++++ b/a52/pcm_a52.c +@@ -937,7 +937,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(a52) + goto error; + } + +- if (! pcm_string) { ++ if (! pcm_string || pcm_string[0] == '\0') { + snprintf(devstr, sizeof(devstr), + "iec958:{AES0 0x%x AES1 0x%x AES2 0x%x AES3 0x%x %s%s}", + IEC958_AES0_CON_EMPHASIS_NONE | IEC958_AES0_NONAUDIO | +diff --git a/arcam-av/50-arcam-av-ctl.conf b/arcam-av/50-arcam-av-ctl.conf +new file mode 100644 +index 0000000..b76caa9 +--- /dev/null ++++ b/arcam-av/50-arcam-av-ctl.conf +@@ -0,0 +1,16 @@ ++ctl.arcam_av { ++ @args [ PORT ] ++ @args.PORT { ++ type string ++ default "/dev/ttyUSB0" ++ } ++ type arcam_av ++ port $PORT ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Arcam-AV Amplifier" ++ } ++} +diff --git a/arcam-av/Makefile.am b/arcam-av/Makefile.am +index 5c7855f..4a54ccd 100644 +--- a/arcam-av/Makefile.am ++++ b/arcam-av/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 50-arcam-av-ctl.conf ++ + asound_module_ctl_arcam_av_LTLIBRARIES = libasound_module_ctl_arcam_av.la ++asound_module_addon_DATA = 50-arcam-av-ctl.conf + + asound_module_ctl_arcam_avdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined +diff --git a/configure.ac b/configure.ac +index ecc265b..ae98caa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -206,6 +206,18 @@ AC_DEFINE_UNQUOTED(ALSA_DATA_DIR, "$alsadatadir", [directory containing ALSA dat + ALSA_DATA_DIR="$alsadatadir" + AC_SUBST(ALSA_DATA_DIR) + ++dnl ALSA add-on config directory ++AC_ARG_WITH(alsaaddondir, ++ AS_HELP_STRING([--with-alsaaddondir=dir], ++ [path where ALSA add-on config files are stored]), ++ alsaaddondir="$withval", alsaaddondir="") ++if test -z "$alsaaddondir"; then ++ alsaaddondir="/etc/alsa/conf.d" ++fi ++AC_DEFINE_UNQUOTED(ALSA_ADDON_DIR, "$alsaaddondir", [directory containing ALSA add-on config files]) ++ALSA_ADDON_DIR="$alsaaddondir" ++AC_SUBST(ALSA_ADDON_DIR) ++ + SAVE_PLUGINS_VERSION + + AC_OUTPUT([ +diff --git a/jack/50-jack.conf b/jack/50-jack.conf +new file mode 100644 +index 0000000..d780dfc +--- /dev/null ++++ b/jack/50-jack.conf +@@ -0,0 +1,18 @@ ++pcm.jack { ++ type jack ++ playback_ports { ++ 0 alsa_pcm:playback_1 ++ 1 alsa_pcm:playback_2 ++ } ++ capture_ports { ++ 0 alsa_pcm:capture_1 ++ 1 alsa_pcm:capture_2 ++ } ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "JACK Audio Connection Kit" ++ } ++} +diff --git a/jack/Makefile.am b/jack/Makefile.am +index f913cb6..0a3d6ae 100644 +--- a/jack/Makefile.am ++++ b/jack/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 50-jack.conf ++ + asound_module_pcm_jack_LTLIBRARIES = libasound_module_pcm_jack.la ++asound_module_addon_DATA = 50-jack.conf + + asound_module_pcm_jackdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @JACK_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/maemo/98-maemo.conf b/maemo/98-maemo.conf +new file mode 100644 +index 0000000..a9ad6a0 +--- /dev/null ++++ b/maemo/98-maemo.conf +@@ -0,0 +1,11 @@ ++pcm.!default { ++ type alsa_dsp ++ playback_device_file [ "/dev/dsptask/pcm2" ] ++ recording_device_file [ "/dev/dsptask/pcm_rec" ] ++} ++ ++ctl.!default { ++ type dsp_ctl ++ playback_devices [ "/dev/dsptask/pcm2" ] ++ recording_devices [ "/dev/dsptask/pcm_rec" ] ++} +diff --git a/maemo/Makefile.am b/maemo/Makefile.am +index 2684781..aca481d 100644 +--- a/maemo/Makefile.am ++++ b/maemo/Makefile.am +@@ -1,8 +1,12 @@ ++EXTRA_DIST = 98-maemo.conf ++ + asound_module_pcm_alsa_dsp_LTLIBRARIES = libasound_module_pcm_alsa_dsp.la + asound_module_ctl_dsp_ctl_LTLIBRARIES = libasound_module_ctl_dsp_ctl.la ++asound_module_addon_DATA = 98-maemo.conf + + asound_module_pcm_alsa_dspdir = @ALSA_PLUGIN_DIR@ + asound_module_ctl_dsp_ctldir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -O2 @ALSA_CFLAGS@ $(DBUS_CFLAGS) + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/mix/60-upmix.conf b/mix/60-upmix.conf +new file mode 100644 +index 0000000..028cfe1 +--- /dev/null ++++ b/mix/60-upmix.conf +@@ -0,0 +1,26 @@ ++pcm.upmix { ++ @args [ SLAVE CHANNELS DELAY ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.CHANNELS { ++ type integer ++ default 6 ++ } ++ @args.DELAY { ++ type integer ++ default 0 ++ } ++ type upmix ++ channels $CHANNELS ++ delay $DELAY ++ slave.pcm $SLAVE ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Plugin for channel upmix (4,6,8)" ++ } ++} +diff --git a/mix/60-vdownmix.conf b/mix/60-vdownmix.conf +new file mode 100644 +index 0000000..32e9c56 +--- /dev/null ++++ b/mix/60-vdownmix.conf +@@ -0,0 +1,24 @@ ++pcm.vdownmix { ++ @args [ SLAVE CHANNELS DELAY ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.CHANNELS { ++ type integer ++ default 6 ++ } ++ @args.DELAY { ++ type integer ++ default 0 ++ } ++ type vdownmix ++ slave.pcm $SLAVE ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Plugin for channel downmix (stereo) with a simple spacialization" ++ } ++} +diff --git a/mix/Makefile.am b/mix/Makefile.am +index e31839a..710606c 100644 +--- a/mix/Makefile.am ++++ b/mix/Makefile.am +@@ -1,8 +1,12 @@ ++EXTRA_DIST = 60-upmix.conf 60-vdownmix.conf ++ + asound_module_pcm_upmix_LTLIBRARIES = libasound_module_pcm_upmix.la + asound_module_pcm_vdownmix_LTLIBRARIES = libasound_module_pcm_vdownmix.la ++asound_module_addon_DATA = 60-upmix.conf 60-vdownmix.conf + + asound_module_pcm_upmixdir = @ALSA_PLUGIN_DIR@ + asound_module_pcm_vdownmixdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -11,4 +15,3 @@ libasound_module_pcm_upmix_la_SOURCES = pcm_upmix.c + libasound_module_pcm_upmix_la_LIBADD = @ALSA_LIBS@ + libasound_module_pcm_vdownmix_la_SOURCES = pcm_vdownmix.c + libasound_module_pcm_vdownmix_la_LIBADD = @ALSA_LIBS@ +- +diff --git a/oss/50-oss.conf b/oss/50-oss.conf +new file mode 100644 +index 0000000..5b2817b +--- /dev/null ++++ b/oss/50-oss.conf +@@ -0,0 +1,26 @@ ++pcm.oss { ++ @args [ DEVICE ] ++ @args.DEVICE { ++ type string ++ default "/dev/dsp" ++ } ++ type oss ++ port $DEVICE ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Open Sound System" ++ } ++} ++ ++ctl.oss { ++ @args [ DEVICE ] ++ @args.DEVICE { ++ type string ++ default "/dev/mixer" ++ } ++ type oss ++ device $DEVICE ++} +diff --git a/oss/Makefile.am b/oss/Makefile.am +index 302538b..df83d20 100644 +--- a/oss/Makefile.am ++++ b/oss/Makefile.am +@@ -1,8 +1,12 @@ ++EXTRA_DIST = 50-oss.conf ++ + asound_module_pcm_oss_LTLIBRARIES = libasound_module_pcm_oss.la + asound_module_ctl_oss_LTLIBRARIES = libasound_module_ctl_oss.la ++asound_module_addon_DATA = 50-oss.conf + + asound_module_pcm_ossdir = @ALSA_PLUGIN_DIR@ + asound_module_ctl_ossdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/pph/10-speexrate.conf b/pph/10-speexrate.conf +new file mode 100644 +index 0000000..1d9eae9 +--- /dev/null ++++ b/pph/10-speexrate.conf +@@ -0,0 +1,28 @@ ++pcm.speexrate { ++ @args [ SLAVE RATE CONVERTER ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.RATE { ++ type integer ++ default 48000 ++ } ++ @args.CONVERTER { ++ type string ++ default "speexrate" ++ } ++ type rate ++ converter $CONVERTER ++ slave { ++ pcm $SLAVE ++ rate $RATE ++ } ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Rate Converter Plugin Using Speex Resampler" ++ } ++} +diff --git a/pph/Makefile.am b/pph/Makefile.am +index 551e5bd..abb950b 100644 +--- a/pph/Makefile.am ++++ b/pph/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 10-speexrate.conf ++ + asound_module_rate_speexrate_LTLIBRARIES = libasound_module_rate_speexrate.la ++asound_module_addon_DATA = 10-speexrate.conf + + asound_module_rate_speexratedir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -DVAR_ARRAYS -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/pulse/50-pulseaudio.conf b/pulse/50-pulseaudio.conf +index dd85dab..62da207 100644 +--- a/pulse/50-pulseaudio.conf ++++ b/pulse/50-pulseaudio.conf +@@ -1,13 +1,16 @@ + # Add a specific named PulseAudio pcm and ctl (typically useful for testing) + + pcm.pulse { +- type pulse +- hint { +- show on +- description "PulseAudio Sound Server" +- } ++ type pulse ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "PulseAudio Sound Server" ++ } + } + + ctl.pulse { +- type pulse ++ type pulse + } +diff --git a/pulse/Makefile.am b/pulse/Makefile.am +index a5550b9..835808c 100644 +--- a/pulse/Makefile.am ++++ b/pulse/Makefile.am +@@ -3,12 +3,12 @@ EXTRA_DIST = 50-pulseaudio.conf 99-pulseaudio-default.conf.example + asound_module_pcm_LTLIBRARIES = libasound_module_pcm_pulse.la + asound_module_ctl_LTLIBRARIES = libasound_module_ctl_pulse.la + asound_module_conf_LTLIBRARIES = libasound_module_conf_pulse.la +-asound_module_data_DATA = 50-pulseaudio.conf 99-pulseaudio-default.conf.example ++asound_module_addon_DATA = 50-pulseaudio.conf 99-pulseaudio-default.conf.example + + asound_module_pcmdir = @ALSA_PLUGIN_DIR@ + asound_module_ctldir = @ALSA_PLUGIN_DIR@ + asound_module_confdir = @ALSA_PLUGIN_DIR@ +-asound_module_datadir = @ALSA_DATA_DIR@/alsa.conf.d ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(PTHREAD_CFLAGS) $(pulseaudio_CFLAGS) -D_GNU_SOURCE + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/rate-lavc/10-rate-lavc.conf b/rate-lavc/10-rate-lavc.conf +new file mode 100644 +index 0000000..bab1694 +--- /dev/null ++++ b/rate-lavc/10-rate-lavc.conf +@@ -0,0 +1,28 @@ ++pcm.lavcrate { ++ @args [ SLAVE RATE CONVERTER ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.RATE { ++ type integer ++ default 48000 ++ } ++ @args.CONVERTER { ++ type string ++ default "lavcrate" ++ } ++ type rate ++ converter $CONVERTER ++ slave { ++ pcm $SLAVE ++ rate $RATE ++ } ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Rate Converter Plugin Using AVC Library" ++ } ++} +diff --git a/rate-lavc/Makefile.am b/rate-lavc/Makefile.am +index 5cffd44..5f66472 100644 +--- a/rate-lavc/Makefile.am ++++ b/rate-lavc/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 10-rate-lavc.conf ++ + asound_module_rate_lavcrate_LTLIBRARIES = libasound_module_rate_lavcrate.la ++asound_module_addon_DATA = 10-rate-lavc.conf + + asound_module_rate_lavcratedir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVCODEC_CFLAGS@ \ + -DAVCODEC_HEADER="@AVCODEC_HEADER@" +diff --git a/rate/10-samplerate.conf b/rate/10-samplerate.conf +new file mode 100644 +index 0000000..0d2e604 +--- /dev/null ++++ b/rate/10-samplerate.conf +@@ -0,0 +1,28 @@ ++pcm.samplerate { ++ @args [ SLAVE RATE CONVERTER ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.RATE { ++ type integer ++ default 48000 ++ } ++ @args.CONVERTER { ++ type string ++ default "samplerate" ++ } ++ type rate ++ converter $CONVERTER ++ slave { ++ pcm $SLAVE ++ rate $RATE ++ } ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Rate Converter Plugin Using Samplerate Library" ++ } ++} +diff --git a/rate/Makefile.am b/rate/Makefile.am +index 0605bfd..25014d8 100644 +--- a/rate/Makefile.am ++++ b/rate/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 10-samplerate.conf ++ + asound_module_rate_samplerate_LTLIBRARIES = libasound_module_rate_samplerate.la ++asound_module_addon_DATA = 10-samplerate.conf + + asound_module_rate_sampleratedir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(samplerate_CFLAGS) + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/speex/60-speex.conf b/speex/60-speex.conf +new file mode 100644 +index 0000000..bf2ce95 +--- /dev/null ++++ b/speex/60-speex.conf +@@ -0,0 +1,63 @@ ++pcm.speex { ++ @args [ SLAVE AGC AGC_LEVEL DENOISE ECHO ++ DEREVERB DEREVERB_DECAY DEREVERB_LEVEL ++ FRAMES FILTER_LENGTH ] ++ @args.SLAVE { ++ type string ++ default "plug:hw" ++ } ++ @args.AGC { ++ type string ++ default off ++ } ++ @args.AGC_LEVEL { ++ type integer ++ default 8000 ++ } ++ @args.DENOISE { ++ type string ++ default on ++ } ++ @args.ECHO { ++ type string ++ default off ++ } ++ @args.DEREVERB { ++ type string ++ default off ++ } ++ @args.DEREVERB_DECAY { ++ type real ++ default 0 ++ } ++ @args.DEREVERB_LEVEL { ++ type real ++ default 0 ++ } ++ @args.FRAMES { ++ type integer ++ default 64 ++ } ++ @args.FILTER_LENGTH { ++ type integer ++ default 256 ++ } ++ type speex ++ agc $AGC ++ agc_level $AGC_LEVEL ++ denoise $DENOISE ++ echo $ECHO ++ dereverb $DEREVERB ++ dereverb_decay $DEREVERB_DECAY ++ dereverb_level $DEREVERB_LEVEL ++ frames $FRAMES ++ filter_length $FILTER_LENGTH ++ slave.pcm $SLAVE ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "Plugin using Speex DSP (resample, agc, denoise, echo, dereverb)" ++ } ++} +diff --git a/speex/Makefile.am b/speex/Makefile.am +index 7d84190..7891954 100644 +--- a/speex/Makefile.am ++++ b/speex/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 60-speex.conf ++ + asound_module_pcm_speex_LTLIBRARIES = libasound_module_pcm_speex.la ++asound_module_addon_DATA = 60-speex.conf + + asound_module_pcm_speexdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @speexdsp_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +diff --git a/usb_stream/98-usb-stream.conf b/usb_stream/98-usb-stream.conf +new file mode 100644 +index 0000000..2efc95f +--- /dev/null ++++ b/usb_stream/98-usb-stream.conf +@@ -0,0 +1,27 @@ ++pcm.usbstream { ++ @args [ CARD RATE PERIOD_SIZE ] ++ @args.CARD { ++ type string ++ default { ++ func refer ++ name defaults.pcm.card ++ } ++ } ++ @args.RATE { ++ type integer ++ } ++ @args.PERIOD_SIZE { ++ type integer ++ } ++ type usb_stream ++ card $CARD ++ rate $RATE ++ period_size $PERIOD_SIZE ++ hint { ++ show { ++ @func refer ++ name defaults.namehint.basic ++ } ++ description "USB Stream Output" ++ } ++} +diff --git a/usb_stream/Makefile.am b/usb_stream/Makefile.am +index 50a98a0..b606d3d 100644 +--- a/usb_stream/Makefile.am ++++ b/usb_stream/Makefile.am +@@ -1,6 +1,10 @@ ++EXTRA_DIST = 98-usb-stream.conf ++ + asound_module_pcm_usb_stream_LTLIBRARIES = libasound_module_pcm_usb_stream.la ++asound_module_addon_DATA = 98-usb-stream.conf + + asound_module_pcm_usb_streamdir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic $(LDFLAGS_NOUNDEFINED) +-- +2.13.6 + From f98565a07dd502d9a360766d537b4cb4dca10392 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 17:10:35 +0200 Subject: [PATCH 067/126] rpmlint fixes --- alsa-plugins.spec | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index fc4c2ee..9c008df 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -135,7 +135,7 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %prep %setup -q -n %{name}-%{version}%{?prever} -%patch0 -p1 -n .plugin-config +%patch0 -p1 -b .plugin-config %build %configure --disable-static \ @@ -160,7 +160,7 @@ install -m 644 %SOURCE2 \ %SOURCE9 \ %{buildroot}/etc/alsa/conf.d mv %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf.example \ - %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf + %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf find %{buildroot} -name "*.la" -exec rm {} \; @@ -347,7 +347,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; * Mon Feb 07 2011 Fedora Release Engineering - 1.0.24-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild -* Thu Jan 28 2011 Jaroslav Kysela - 1.0.24-1 +* Fri Jan 28 2011 Jaroslav Kysela - 1.0.24-1 - Updated to 1.0.24 * Thu Jan 14 2010 Jaroslav Kysela - 1.0.22-1 From 33cef9200a268fe43a58be9cc647dd44c1881738 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 17:16:51 +0200 Subject: [PATCH 068/126] remove dead sources --- alsa-plugins.spec | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 9c008df..1207868 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -147,18 +147,6 @@ make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} -install -d %{buildroot}/etc/alsa/conf.d -%if 0%{?with_jack} -install -m 644 %SOURCE1 %{buildroot}/etc/alsa/conf.d -%endif -install -m 644 %SOURCE2 \ - %SOURCE3 \ - %SOURCE4 \ - %SOURCE5 \ - %SOURCE6 \ - %SOURCE8 \ - %SOURCE9 \ - %{buildroot}/etc/alsa/conf.d mv %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf.example \ %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf From 8f26d8b7baf681164f206e8214bf5ee1c4f5fbcd Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 17:43:00 +0200 Subject: [PATCH 069/126] add autoreconf (configure.ac updated) --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 1207868..fbd14fd 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -138,6 +138,7 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %patch0 -p1 -b .plugin-config %build +autoreconf -vif %configure --disable-static \ --with-speex=lib \ --enable-maemo-plugin \ From 0311a22941b85ee52a426a7bea197789c354c2bc Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 17:48:21 +0200 Subject: [PATCH 070/126] add missing autoconf/automake/libtool BuildRequires --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index fbd14fd..ca9c4bd 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -16,6 +16,7 @@ URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Patch0: plugin-config.patch +BuildRequires: autoconf automake libtool BuildRequires: alsa-lib-devel %description From eca0400e24625a8aa0a9ccaaa7204e15e66ceb64 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 17:57:33 +0200 Subject: [PATCH 071/126] 10-speex.conf was renamed to 60-speex.conf --- alsa-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index ca9c4bd..51cd6f1 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -228,7 +228,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files speex %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt %dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/10-speex.conf +%config(noreplace) /etc/alsa/conf.d/60-speex.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so From a04c140570d3648cf99b3ff2712f7a39809b8902 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 18:08:41 +0200 Subject: [PATCH 072/126] add back 10-speexrate.conf --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 51cd6f1..bb70a68 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -228,6 +228,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files speex %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt %dir /etc/alsa/conf.d +%config(noreplace) /etc/alsa/conf.d/10-speexrate.conf %config(noreplace) /etc/alsa/conf.d/60-speex.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so From 8cedb2d8f487394d5c0c4067ccb719b736c9860e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 16 Apr 2018 18:04:48 +0200 Subject: [PATCH 073/126] /etc/alsa/conf.d contains symlinks to /usr/share/alsa/alsa.conf.d templates --- alsa-plugins.spec | 26 +- plugin-config.patch | 1524 ++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 1547 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index bb70a68..0e669fd 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.6 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -164,6 +164,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-jack %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/50-jack.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/50-jack.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_jack.so %endif @@ -172,6 +174,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-pcm-oss %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/50-oss.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/50-oss.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_oss.so %{_libdir}/alsa-lib/libasound_module_pcm_oss.so @@ -185,11 +189,15 @@ find %{buildroot} -name "*.la" -exec rm {} \; %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/50-pulseaudio.conf %config(noreplace) /etc/alsa/conf.d/99-pulseaudio-default.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf %files samplerate %doc COPYING COPYING.GPL doc/samplerate.txt %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/10-samplerate.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/10-samplerate.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_rate_samplerate.so %{_libdir}/alsa-lib/libasound_module_rate_samplerate_best.so @@ -201,6 +209,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/upmix.txt %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/60-upmix.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/60-upmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so @@ -208,6 +218,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/vdownmix.txt %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/60-vdownmix.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/60-vdownmix.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so @@ -215,6 +227,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/98-usb-stream.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/98-usb-stream.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so @@ -222,6 +236,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-arcam-av %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/50-arcam-av-ctl.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so @@ -230,6 +246,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/10-speexrate.conf %config(noreplace) /etc/alsa/conf.d/60-speex.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/10-speexrate.conf +%{_datadir}/alsa/alsa.conf.d/10-speex.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so @@ -240,12 +259,17 @@ find %{buildroot} -name "*.la" -exec rm {} \; %doc COPYING COPYING.GPL doc/README-maemo %dir /etc/alsa/conf.d %config(noreplace) /etc/alsa/conf.d/98-maemo.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/98-maemo.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so %changelog +* Mon Apr 16 2018 Jaroslav Kysela - 1.1.6-3 +- /etc/alsa/conf.d contains symlinks to /usr/share/alsa/alsa.conf.d templates + * Wed Apr 04 2018 Jaroslav Kysela - 1.1.6-2 - Changed the add-on config directory to /etc/alsa/conf.d - Changed the config files diff --git a/plugin-config.patch b/plugin-config.patch index a48069b..2ccfb8f 100644 --- a/plugin-config.patch +++ b/plugin-config.patch @@ -1,7 +1,7 @@ From e8fabec7adc70220f52588dc170d90d146b92ba7 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 09:23:09 +0200 -Subject: [PATCH 1/2] samplerate: fix unused variable warning +Subject: [PATCH 1/5] samplerate: fix unused variable warning Signed-off-by: Jaroslav Kysela --- @@ -36,7 +36,7 @@ index 0b14a59..100d6f2 100644 From 6e40eb5fd346207021a95d06bc30205a537926ea Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 4 Apr 2018 19:57:56 +0200 -Subject: [PATCH 2/2] configure: add --with-alsaaddondir, add default config +Subject: [PATCH 2/5] configure: add --with-alsaaddondir, add default config files for plugins Signed-off-by: Jaroslav Kysela @@ -748,3 +748,1523 @@ index 50a98a0..b606d3d 100644 -- 2.13.6 + +From cc6bed233a3167d806834460befca2c6d655f0fb Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Fri, 13 Apr 2018 13:37:36 +0200 +Subject: [PATCH 3/5] config/Makefile: make everything modular + +Signed-off-by: Jaroslav Kysela +--- + Makefile.am | 21 ++++++++++++++++++--- + configure.ac | 20 +++++++++++++++++++- + doc/Makefile.am | 37 ++++++++++++++++++++++++++++++++++--- + 3 files changed, 71 insertions(+), 7 deletions(-) + +diff --git a/Makefile.am b/Makefile.am +index 69cfe0d..303bc83 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -1,4 +1,10 @@ +-SUBDIRS = oss mix usb_stream arcam-av doc ++SUBDIRS = doc ++if HAVE_OSS ++SUBDIRS += oss ++endif ++if HAVE_MIX ++SUBDIRS += mix ++endif + if HAVE_JACK + SUBDIRS += jack + endif +@@ -8,8 +14,17 @@ endif + if HAVE_SAMPLERATE + SUBDIRS += rate + endif +-if HAVE_AVCODEC +-SUBDIRS += a52 rate-lavc ++if HAVE_A52 ++SUBDIRS += a52 ++endif ++if HAVE_AVCRATE ++SUBDIRS += rate-lavc ++endif ++if HAVE_USBSTREAM ++SUBDIRS += usb_stream ++endif ++if HAVE_ARCAMAV ++SUBDIRS += arcam-av + endif + if HAVE_MAEMO_PLUGIN + SUBDIRS += maemo +diff --git a/configure.ac b/configure.ac +index ae98caa..2d7e6aa 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -135,6 +135,22 @@ AC_SUBST(AVCODEC_CFLAGS) + AC_SUBST(AVCODEC_LIBS) + AC_SUBST(AVCODEC_HEADER) + ++AC_ARG_ENABLE([a52], ++ AS_HELP_STRING([--disable-a52], [Disable building of A52 encoder plugin])) ++ ++if test "x$enable_a52" != "xno" -a "$HAVE_AVCODEC" = "yes"; then ++ HAVE_A52=yes ++fi ++AM_CONDITIONAL(HAVE_A52, test x$HAVE_A52 = xyes) ++ ++AC_ARG_ENABLE([avcrate], ++ AS_HELP_STRING([--disable-avcrate], [Disable building of AVC rate plugin])) ++ ++if test "x$enable_avcrate" != "xno" -a "$HAVE_AVCODEC" = "yes"; then ++ HAVE_AVCRATE=yes ++fi ++AM_CONDITIONAL(HAVE_AVCRATE, test x$HAVE_AVCRATE = xyes) ++ + AC_ARG_ENABLE([speexdsp], + AS_HELP_STRING([--disable-speexdsp], [Disable building of speexdsp plugin])) + +@@ -260,12 +276,14 @@ if test "$HAVE_SAMPLERATE" = "yes"; then + fi + echo "Maemo plugin: $HAVE_MAEMO_PLUGIN" + echo " Using Osso resource manager: $use_maemo_rm" +-echo "A52, lavc plugins: $HAVE_AVCODEC" + if test "$HAVE_AVCODEC" = "yes"; then ++ echo "AVCodec config:" + echo " AVCODEC_CFLAGS: $AVCODEC_CFLAGS" + echo " AVCODEC_LIBS: $AVCODEC_LIBS" + echo " AVCODEC_HEADER: $AVCODEC_HEADER" + fi ++echo "A52 plugin: $HAVE_A52" ++echo "AVC rate plugin: $HAVE_AVCRATE" + echo "Speex rate plugin: $PPH" + echo "Speex preprocess plugin: $HAVE_SPEEXDSP" + if test "$HAVE_SPEEX" = "yes"; then +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 19fa0d2..0d6f6e5 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -1,4 +1,35 @@ +-EXTRA_DIST = README-pcm-oss README-jack README-pulse README-maemo \ +- upmix.txt vdownmix.txt samplerate.txt a52.txt lavcrate.txt \ +- speexrate.txt speexdsp.txt README-arcam-av ++EXTRA_DIST = + ++if HAVE_OSS ++EXTRA_DIST += README-pcm-oss ++endif ++if HAVE_MIX ++EXTRA_DIST += upmix.txt vdownmix.txt ++endif ++if HAVE_JACK ++EXTRA_DIST += README-jack ++endif ++if HAVE_PULSE ++EXTRA_DIST += README-pulse ++endif ++if HAVE_MAEMO_PLUGIN ++EXTRA_DIST += README-maemo ++endif ++if HAVE_SAMPLERATE ++EXTRA_DIST += samplerate.txt ++endif ++if HAVE_A52 ++EXTRA_DIST += a52.txt ++endif ++if HAVE_AVCRATE ++EXTRA_DIST += lavcrate.txt ++endif ++if HAVE_PPH ++EXTRA_DIST += speexrate.txt ++endif ++if HAVE_SPEEXDSP ++EXTRA_DIST += speexdsp.txt ++endif ++if HAVE_ARCAMAV ++EXTRA_DIST += README-arcam-av ++endif +-- +2.13.6 + + +From 24db7f59d76984e2901f2834a297735853cab776 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 16 Apr 2018 16:24:29 +0200 +Subject: [PATCH 4/5] Move rate-lavc to rate-lav subdirectory and update to use + libavresample + +- --disable-avcodec renamed to --disable-libav +- --avcodec-includedir renamed to --libav-includedir +- --avcodec-libdir renamed to --libav-libdir +- --disable-lavcrate renamed to --disable-lavrate + +The .c changes are from Anton Khirnov. The rest is from Jaroslav Kysela. + +From: Anton Khirnov +Signed-off-by: Jaroslav Kysela +--- + Makefile.am | 4 +- + a52/Makefile.am | 5 +- + a52/pcm_a52.c | 2 +- + configure.ac | 85 +++--- + doc/Makefile.am | 4 +- + doc/{lavcrate.txt => lavrate.txt} | 10 +- + .../10-rate-lavc.conf => rate-lav/10-rate-lav.conf | 6 +- + rate-lav/Makefile.am | 25 ++ + {rate-lavc => rate-lav}/gcd.h | 0 + rate-lav/rate_lavrate.c | 235 +++++++++++++++++ + rate-lavc/Makefile.am | 26 -- + rate-lavc/rate_lavcrate.c | 291 --------------------- + 12 files changed, 311 insertions(+), 382 deletions(-) + rename doc/{lavcrate.txt => lavrate.txt} (76%) + rename rate-lavc/10-rate-lavc.conf => rate-lav/10-rate-lav.conf (73%) + create mode 100644 rate-lav/Makefile.am + rename {rate-lavc => rate-lav}/gcd.h (100%) + create mode 100644 rate-lav/rate_lavrate.c + delete mode 100644 rate-lavc/Makefile.am + delete mode 100644 rate-lavc/rate_lavcrate.c + +diff --git a/Makefile.am b/Makefile.am +index 303bc83..27f61a4 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -17,8 +17,8 @@ endif + if HAVE_A52 + SUBDIRS += a52 + endif +-if HAVE_AVCRATE +-SUBDIRS += rate-lavc ++if HAVE_LAVRATE ++SUBDIRS += rate-lav + endif + if HAVE_USBSTREAM + SUBDIRS += usb_stream +diff --git a/a52/Makefile.am b/a52/Makefile.am +index cbc1497..4ac8edd 100644 +--- a/a52/Makefile.am ++++ b/a52/Makefile.am +@@ -6,9 +6,8 @@ asound_module_addon_DATA = 60-a52-encoder.conf + asound_module_pcm_a52dir = @ALSA_PLUGIN_DIR@ + asound_module_addondir = @ALSA_ADDON_DIR@ + +-AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVCODEC_CFLAGS@ \ +- -DAVCODEC_HEADER="@AVCODEC_HEADER@" ++AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @LIBAV_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) + + libasound_module_pcm_a52_la_SOURCES = pcm_a52.c +-libasound_module_pcm_a52_la_LIBADD = @ALSA_LIBS@ @AVCODEC_LIBS@ ++libasound_module_pcm_a52_la_LIBADD = @ALSA_LIBS@ @LIBAV_LIBS@ @LIBAV_CODEC_LIBS@ +diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c +index 155da36..29ce45f 100644 +--- a/a52/pcm_a52.c ++++ b/a52/pcm_a52.c +@@ -25,7 +25,7 @@ + #include + #include + #include +-#include AVCODEC_HEADER ++#include + #include + + /* some compatibility wrappers */ +diff --git a/configure.ac b/configure.ac +index 2d7e6aa..cb1ae2d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -89,67 +89,55 @@ if test "$use_maemo_rm" = "yes"; then + fi + fi + +-AC_ARG_ENABLE([avcodec], +- AS_HELP_STRING([--disable-avcodec], [Don't build plugins depending on avcodec (a52)])) ++AC_ARG_ENABLE([libav], ++ AS_HELP_STRING([--disable-avlib], [Do not build plugins depending on libav/ffmpeg (a52,lavrate...)])) + +-if test "x$enable_avcodec" != "xno"; then +- PKG_CHECK_MODULES(AVCODEC, [libavcodec libavutil], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no]) ++if test "x$enable_libav" != "xno"; then ++ PKG_CHECK_MODULES(LIBAV, [libavcodec libavutil libavresample], [HAVE_LIBAV=yes], [HAVE_LIBAV=no]) + fi + +-if test "x$HAVE_AVCODEC" = "xno"; then +- AC_ARG_WITH([avcodec-includedir], +- AS_HELP_STRING([--with-avcodec-includedir=dir], +- [AVcodec include directory]), +- [AVCODEC_CFLAGS="-I$withval"], [AVCODEC_CFLAGS=""]) +- AC_ARG_WITH([avcodec-libdir], +- AS_HELP_STRING([--with-avcodec-libdir=dir], +- [AVcodec library directory]), +- [AVCODEC_LIBS="-L$withval"], [AVCODEC_LIBS=""]) ++if test "x$HAVE_LIBAV" = "xno"; then ++ AC_ARG_WITH([libav-includedir], ++ AS_HELP_STRING([--with-libav-includedir=dir], ++ [Libav/ffmpeg include directory]), ++ [LIBAV_CFLAGS="-I$(withval)"], [LIBAV_CFLAGS=""]) ++ AC_ARG_WITH([libav-libdir], ++ AS_HELP_STRING([--with-libav-libdir=dir], ++ [Libav/ffmpeg library directory]), ++ [LIBAV_LIBS="-L$withval"], [LIBAV_LIBS=""]) + + CFLAGS_saved="$CFLAGS" + LDFLAGS_saved="$LDFLAGS" +- CFLAGS="$CFLAGS $AVCODEC_CFLAGS" +- LDFLAGS="$LDFLAGS $AVCODEC_LIBS" +- AVCODEC_LIBS="$AVCODEC_LIBS -lavcodec" +- AC_CHECK_LIB([avcodec], [avcodec_open], [HAVE_AVCODEC=yes], [HAVE_AVCODEC=no]) ++ CFLAGS="$CFLAGS $LIBAV_CFLAGS" ++ LDFLAGS="$LDFLAGS $LIBAV_LIBS" ++ AC_CHECK_LIB([avcodec], [avcodec_open], [HAVE_LIBAV=yes], [HAVE_LIBAV=no]) + CFLAGS="$CFLAGS_saved" + LDFLAGS="$LDFLAGS_saved" ++ LIBAV_CODEC_LIBS="-lavcodec" ++ LIBAV_RESAMPLE_LIBS="-lavresample -lavutil" + fi + +-if test $HAVE_AVCODEC = yes; then +- AVCODEC_HEADER="" +- CFLAGS_saved="$CFLAGS" +- CFLAGS="$CFLAGS $AVCODEC_CFLAGS" +- AC_CHECK_HEADER([ffmpeg/avcodec.h], [AVCODEC_HEADER='']) +- if test -z "$AVCODEC_HEADER"; then +- AC_CHECK_HEADER([libavcodec/avcodec.h], [AVCODEC_HEADER='']) +- fi +- if test -z "$AVCODEC_HEADER"; then +- HAVE_AVCODEC=no +- fi +- CFLAGS="$CFLAGS_saved" +-fi +- +-AM_CONDITIONAL(HAVE_AVCODEC, test x$HAVE_AVCODEC = xyes) +-AC_SUBST(AVCODEC_CFLAGS) +-AC_SUBST(AVCODEC_LIBS) +-AC_SUBST(AVCODEC_HEADER) ++AM_CONDITIONAL(HAVE_LIBAV, test x$HAVE_LIBAV = xyes) ++AC_SUBST(LIBAV_CFLAGS) ++AC_SUBST(LIBAV_LIBS) ++AC_SUBST(LIBAV_CODEC_LIBS) ++AC_SUBST(LIBAV_RESAMPLE_LIBS) + + AC_ARG_ENABLE([a52], + AS_HELP_STRING([--disable-a52], [Disable building of A52 encoder plugin])) + +-if test "x$enable_a52" != "xno" -a "$HAVE_AVCODEC" = "yes"; then ++if test "x$enable_a52" != "xno" -a "$HAVE_LIBAV" = "yes"; then + HAVE_A52=yes + fi + AM_CONDITIONAL(HAVE_A52, test x$HAVE_A52 = xyes) + +-AC_ARG_ENABLE([avcrate], +- AS_HELP_STRING([--disable-avcrate], [Disable building of AVC rate plugin])) ++AC_ARG_ENABLE([lavrate], ++ AS_HELP_STRING([--disable-lavrate], [Disable building of libav/ffmpeg rate plugin])) + +-if test "x$enable_avcrate" != "xno" -a "$HAVE_AVCODEC" = "yes"; then +- HAVE_AVCRATE=yes ++if test "x$enable_lavrate" != "xno" -a "$HAVE_LIBAV" = "yes"; then ++ HAVE_LAVRATE=yes + fi +-AM_CONDITIONAL(HAVE_AVCRATE, test x$HAVE_AVCRATE = xyes) ++AM_CONDITIONAL(HAVE_LAVRATE, test x$HAVE_LAVRATE = xyes) + + AC_ARG_ENABLE([speexdsp], + AS_HELP_STRING([--disable-speexdsp], [Disable building of speexdsp plugin])) +@@ -245,7 +233,7 @@ AC_OUTPUT([ + mix/Makefile + rate/Makefile + a52/Makefile +- rate-lavc/Makefile ++ rate-lav/Makefile + maemo/Makefile + doc/Makefile + usb_stream/Makefile +@@ -276,14 +264,13 @@ if test "$HAVE_SAMPLERATE" = "yes"; then + fi + echo "Maemo plugin: $HAVE_MAEMO_PLUGIN" + echo " Using Osso resource manager: $use_maemo_rm" +-if test "$HAVE_AVCODEC" = "yes"; then +- echo "AVCodec config:" +- echo " AVCODEC_CFLAGS: $AVCODEC_CFLAGS" +- echo " AVCODEC_LIBS: $AVCODEC_LIBS" +- echo " AVCODEC_HEADER: $AVCODEC_HEADER" ++if test "$HAVE_LIBAV" = "yes"; then ++ echo "Libav/ffmpeg config:" ++ echo " LIBAV_CFLAGS: $LIBAV_CFLAGS" ++ echo " LIBAV_LIBS: $LIBAV_LIBS / $LIBAV_CODEC_LIBS / $LIBAV_RESAMPLE_LIBS" + fi +-echo "A52 plugin: $HAVE_A52" +-echo "AVC rate plugin: $HAVE_AVCRATE" ++echo "Libav A52 plugin: $HAVE_A52" ++echo "Libav rate plugin: $HAVE_LAVRATE" + echo "Speex rate plugin: $PPH" + echo "Speex preprocess plugin: $HAVE_SPEEXDSP" + if test "$HAVE_SPEEX" = "yes"; then +diff --git a/doc/Makefile.am b/doc/Makefile.am +index 0d6f6e5..7c004e5 100644 +--- a/doc/Makefile.am ++++ b/doc/Makefile.am +@@ -21,8 +21,8 @@ endif + if HAVE_A52 + EXTRA_DIST += a52.txt + endif +-if HAVE_AVCRATE +-EXTRA_DIST += lavcrate.txt ++if HAVE_LAVRATE ++EXTRA_DIST += lavrate.txt + endif + if HAVE_PPH + EXTRA_DIST += speexrate.txt +diff --git a/doc/lavcrate.txt b/doc/lavrate.txt +similarity index 76% +rename from doc/lavcrate.txt +rename to doc/lavrate.txt +index faf3e25..6575183 100644 +--- a/doc/lavcrate.txt ++++ b/doc/lavrate.txt +@@ -1,14 +1,14 @@ +-Rate Converter Plugin Using libavcodec +-====================================== ++Rate Converter Plugin Using libavresample ++=========================================0 + +-The plugin in rate-lavc subdirectory is an external rate converter using +-libavcodec's resampler. You can use this rate converter plugin by defining a ++The plugin in rate-lavr subdirectory is an external rate converter using ++libavresample library. You can use this rate converter plugin by defining a + rate PCM with "converter" parameter, such as: + + pcm.my_rate { + type rate + slave.pcm "hw" +- converter "lavcrate" ++ converter "lavrate" + } + + The plug plugin has also a similar field, "rate_converter". +diff --git a/rate-lavc/10-rate-lavc.conf b/rate-lav/10-rate-lav.conf +similarity index 73% +rename from rate-lavc/10-rate-lavc.conf +rename to rate-lav/10-rate-lav.conf +index bab1694..48ede62 100644 +--- a/rate-lavc/10-rate-lavc.conf ++++ b/rate-lav/10-rate-lav.conf +@@ -1,4 +1,4 @@ +-pcm.lavcrate { ++pcm.lavrate { + @args [ SLAVE RATE CONVERTER ] + @args.SLAVE { + type string +@@ -10,7 +10,7 @@ pcm.lavcrate { + } + @args.CONVERTER { + type string +- default "lavcrate" ++ default "lavrate" + } + type rate + converter $CONVERTER +@@ -23,6 +23,6 @@ pcm.lavcrate { + @func refer + name defaults.namehint.basic + } +- description "Rate Converter Plugin Using AVC Library" ++ description "Rate Converter Plugin Using Libav/FFmpeg Library" + } + } +diff --git a/rate-lav/Makefile.am b/rate-lav/Makefile.am +new file mode 100644 +index 0000000..0f6ecb6 +--- /dev/null ++++ b/rate-lav/Makefile.am +@@ -0,0 +1,25 @@ ++EXTRA_DIST = 10-rate-lav.conf ++ ++asound_module_rate_lavrate_LTLIBRARIES = libasound_module_rate_lavrate.la ++asound_module_addon_DATA = 10-rate-lav.conf ++ ++asound_module_rate_lavratedir = @ALSA_PLUGIN_DIR@ ++asound_module_addondir = @ALSA_ADDON_DIR@ ++ ++AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @LIBAV_CFLAGS@ ++AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) ++ ++libasound_module_rate_lavrate_la_SOURCES = rate_lavrate.c ++libasound_module_rate_lavrate_la_LIBADD = @ALSA_LIBS@ @LIBAV_LIBS@ @LIBAV_RESAMPLE_LIBS@ ++ ++noinst_HEADERS = gcd.h ++ ++install-exec-hook: ++ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_*.so ++ $(LN_S) libasound_module_rate_lavrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_higher.so ++ $(LN_S) libasound_module_rate_lavrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_high.so ++ $(LN_S) libasound_module_rate_lavrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_fast.so ++ $(LN_S) libasound_module_rate_lavrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_faster.so ++ ++uninstall-hook: ++ rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_*.so +diff --git a/rate-lavc/gcd.h b/rate-lav/gcd.h +similarity index 100% +rename from rate-lavc/gcd.h +rename to rate-lav/gcd.h +diff --git a/rate-lav/rate_lavrate.c b/rate-lav/rate_lavrate.c +new file mode 100644 +index 0000000..2b992c5 +--- /dev/null ++++ b/rate-lav/rate_lavrate.c +@@ -0,0 +1,235 @@ ++/* ++ * Rate converter plugin using libavresample ++ * Copyright (c) 2014 by Anton Khirnov ++ * ++ * This library is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU Lesser General Public ++ * License as published by the Free Software Foundation; either ++ * version 2.1 of the License, or (at your option) any later version. ++ * ++ * This library is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ++ * Lesser General Public License for more details. ++ */ ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++ ++ ++static unsigned int filter_size = 16; ++static unsigned int phase_shift = 10; /* auto-adjusts */ ++static double cutoff = 0; /* auto-adjusts */ ++ ++struct rate_src { ++ AVAudioResampleContext *avr; ++ ++ unsigned int in_rate; ++ unsigned int out_rate; ++ unsigned int channels; ++}; ++ ++static snd_pcm_uframes_t input_frames(void *obj ATTRIBUTE_UNUSED, ++ snd_pcm_uframes_t frames) ++{ ++ return frames; ++} ++ ++static snd_pcm_uframes_t output_frames(void *obj ATTRIBUTE_UNUSED, ++ snd_pcm_uframes_t frames) ++{ ++ return frames; ++} ++ ++static void pcm_src_free(void *obj) ++{ ++ struct rate_src *rate = obj; ++ avresample_free(&rate->avr); ++} ++ ++static int pcm_src_init(void *obj, snd_pcm_rate_info_t *info) ++{ ++ struct rate_src *rate = obj; ++ int i, ir, or; ++ ++ if (!rate->avr || rate->channels != info->channels) { ++ int ret; ++ ++ pcm_src_free(rate); ++ rate->channels = info->channels; ++ ir = rate->in_rate = info->in.rate; ++ or = rate->out_rate = info->out.rate; ++ i = av_gcd(or, ir); ++ if (or > ir) { ++ phase_shift = or/i; ++ } else { ++ phase_shift = ir/i; ++ } ++ if (cutoff <= 0.0) { ++ cutoff = 1.0 - 1.0/filter_size; ++ if (cutoff < 0.80) ++ cutoff = 0.80; ++ } ++ ++ rate->avr = avresample_alloc_context(); ++ if (!rate->avr) ++ return -ENOMEM; ++ ++ av_opt_set_int(rate->avr, "in_sample_rate", info->in.rate, 0); ++ av_opt_set_int(rate->avr, "out_sample_rate", info->out.rate, 0); ++ av_opt_set_int(rate->avr, "in_sample_format", AV_SAMPLE_FMT_S16, 0); ++ av_opt_set_int(rate->avr, "out_sample_format", AV_SAMPLE_FMT_S16, 0); ++ av_opt_set_int(rate->avr, "in_channel_layout", av_get_default_channel_layout(rate->channels), 0); ++ av_opt_set_int(rate->avr, "out_channel_layout", av_get_default_channel_layout(rate->channels), 0); ++ ++ av_opt_set_int(rate->avr, "filter_size", filter_size, 0); ++ av_opt_set_int(rate->avr, "phase_shift", phase_shift, 0); ++ av_opt_set_double(rate->avr, "cutoff", cutoff, 0); ++ ++ ret = avresample_open(rate->avr); ++ if (ret < 0) { ++ avresample_free(&rate->avr); ++ return -EINVAL; ++ } ++ } ++ ++ return 0; ++} ++ ++static int pcm_src_adjust_pitch(void *obj, snd_pcm_rate_info_t *info) ++{ ++ struct rate_src *rate = obj; ++ ++ if (info->out.rate != rate->out_rate || info->in.rate != rate->in_rate) ++ pcm_src_init(obj, info); ++ return 0; ++} ++ ++static void pcm_src_reset(void *obj) ++{ ++ struct rate_src *rate = obj; ++ ++ if (rate->avr) { ++#if 0 ++ avresample_close(rate->avr); ++ avresample_open(rate->avr); ++#endif ++ } ++} ++ ++static void pcm_src_convert_s16(void *obj, int16_t *dst, ++ unsigned int dst_frames, ++ const int16_t *src, ++ unsigned int src_frames) ++{ ++ struct rate_src *rate = obj; ++ int chans = rate->channels; ++ unsigned int total_in = avresample_get_delay(rate->avr) + src_frames; ++ ++ avresample_convert(rate->avr, (uint8_t **)&dst, dst_frames * chans * 2, dst_frames, ++ (uint8_t **)&src, src_frames * chans * 2, src_frames); ++ ++ avresample_set_compensation(rate->avr, ++ total_in - src_frames > filter_size ? 0 : 1, src_frames); ++} ++ ++static void pcm_src_close(void *obj) ++{ ++ pcm_src_free(obj); ++} ++ ++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 ++static int get_supported_rates(void *obj ATTRIBUTE_UNUSED, ++ unsigned int *rate_min, ++ unsigned int *rate_max) ++{ ++ *rate_min = *rate_max = 0; /* both unlimited */ ++ return 0; ++} ++ ++static void dump(void *obj ATTRIBUTE_UNUSED, snd_output_t *out) ++{ ++ snd_output_printf(out, "Converter: libavr\n"); ++} ++#endif ++ ++static snd_pcm_rate_ops_t pcm_src_ops = { ++ .close = pcm_src_close, ++ .init = pcm_src_init, ++ .free = pcm_src_free, ++ .reset = pcm_src_reset, ++ .adjust_pitch = pcm_src_adjust_pitch, ++ .convert_s16 = pcm_src_convert_s16, ++ .input_frames = input_frames, ++ .output_frames = output_frames, ++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 ++ .version = SND_PCM_RATE_PLUGIN_VERSION, ++ .get_supported_rates = get_supported_rates, ++ .dump = dump, ++#endif ++}; ++ ++int pcm_src_open(unsigned int version, void **objp, snd_pcm_rate_ops_t *ops) ++ ++{ ++ struct rate_src *rate; ++ ++#if SND_PCM_RATE_PLUGIN_VERSION < 0x010002 ++ if (version != SND_PCM_RATE_PLUGIN_VERSION) { ++ fprintf(stderr, "Invalid rate plugin version %x\n", version); ++ return -EINVAL; ++ } ++#endif ++ rate = calloc(1, sizeof(*rate)); ++ if (!rate) ++ return -ENOMEM; ++ ++ *objp = rate; ++ rate->avr = NULL; ++#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 ++ if (version == 0x010001) ++ memcpy(ops, &pcm_src_ops, sizeof(snd_pcm_rate_old_ops_t)); ++ else ++#endif ++ *ops = pcm_src_ops; ++ return 0; ++} ++ ++int SND_PCM_RATE_PLUGIN_ENTRY(lavrate)(unsigned int version, void **objp, ++ snd_pcm_rate_ops_t *ops) ++{ ++ return pcm_src_open(version, objp, ops); ++} ++int SND_PCM_RATE_PLUGIN_ENTRY(lavrate_higher)(unsigned int version, ++ void **objp, snd_pcm_rate_ops_t *ops) ++{ ++ filter_size = 64; ++ return pcm_src_open(version, objp, ops); ++} ++int SND_PCM_RATE_PLUGIN_ENTRY(lavrate_high)(unsigned int version, ++ void **objp, snd_pcm_rate_ops_t *ops) ++{ ++ filter_size = 32; ++ return pcm_src_open(version, objp, ops); ++} ++int SND_PCM_RATE_PLUGIN_ENTRY(lavrate_fast)(unsigned int version, ++ void **objp, snd_pcm_rate_ops_t *ops) ++{ ++ filter_size = 8; ++ return pcm_src_open(version, objp, ops); ++} ++int SND_PCM_RATE_PLUGIN_ENTRY(lavrate_faster)(unsigned int version, ++ void **objp, snd_pcm_rate_ops_t *ops) ++{ ++ filter_size = 4; ++ return pcm_src_open(version, objp, ops); ++} ++ ++ +diff --git a/rate-lavc/Makefile.am b/rate-lavc/Makefile.am +deleted file mode 100644 +index 5f66472..0000000 +--- a/rate-lavc/Makefile.am ++++ /dev/null +@@ -1,26 +0,0 @@ +-EXTRA_DIST = 10-rate-lavc.conf +- +-asound_module_rate_lavcrate_LTLIBRARIES = libasound_module_rate_lavcrate.la +-asound_module_addon_DATA = 10-rate-lavc.conf +- +-asound_module_rate_lavcratedir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ +- +-AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @AVCODEC_CFLAGS@ \ +- -DAVCODEC_HEADER="@AVCODEC_HEADER@" +-AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +- +-libasound_module_rate_lavcrate_la_SOURCES = rate_lavcrate.c +-libasound_module_rate_lavcrate_la_LIBADD = @ALSA_LIBS@ @AVCODEC_LIBS@ +- +-noinst_HEADERS = gcd.h +- +-install-exec-hook: +- rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_*.so +- $(LN_S) libasound_module_rate_lavcrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_higher.so +- $(LN_S) libasound_module_rate_lavcrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_high.so +- $(LN_S) libasound_module_rate_lavcrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_fast.so +- $(LN_S) libasound_module_rate_lavcrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_faster.so +- +-uninstall-hook: +- rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavcrate_*.so +diff --git a/rate-lavc/rate_lavcrate.c b/rate-lavc/rate_lavcrate.c +deleted file mode 100644 +index 14a2198..0000000 +--- a/rate-lavc/rate_lavcrate.c ++++ /dev/null +@@ -1,291 +0,0 @@ +-/* +- * Rate converter plugin using libavcodec's resampler +- * Copyright (c) 2007 by Nicholas Kain +- * +- * based on rate converter that uses libsamplerate +- * Copyright (c) 2006 by Takashi Iwai +- * +- * This library is free software; you can redistribute it and/or +- * modify it under the terms of the GNU Lesser General Public +- * License as published by the Free Software Foundation; either +- * version 2.1 of the License, or (at your option) any later version. +- * +- * This library is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +- * Lesser General Public License for more details. +- */ +- +-#include +-#include +-#include +-#include AVCODEC_HEADER +-#include "gcd.h" +- +-static int filter_size = 16; +-static int phase_shift = 10; /* auto-adjusts */ +-static double cutoff = 0; /* auto-adjusts */ +- +-struct rate_src { +- struct AVResampleContext *context; +- int in_rate; +- int out_rate; +- int stored; +- int point; +- int16_t **out; +- int16_t **in; +- unsigned int channels; +-}; +- +-static snd_pcm_uframes_t input_frames(void *obj, snd_pcm_uframes_t frames) +-{ +- return frames; +-} +- +-static snd_pcm_uframes_t output_frames(void *obj, snd_pcm_uframes_t frames) +-{ +- return frames; +-} +- +-static void pcm_src_free(void *obj) +-{ +- struct rate_src *rate = obj; +- int i; +- +- if (rate->out) { +- for (i=0; ichannels; i++) { +- free(rate->out[i]); +- } +- free(rate->out); +- } +- if (rate->in) { +- for (i=0; ichannels; i++) { +- free(rate->in[i]); +- } +- free(rate->in); +- } +- rate->out = rate->in = NULL; +- +- if (rate->context) { +- av_resample_close(rate->context); +- rate->context = NULL; +- } +-} +- +-static int pcm_src_init(void *obj, snd_pcm_rate_info_t *info) +-{ +- struct rate_src *rate = obj; +- int i, ir, or; +- +- if (! rate->context || rate->channels != info->channels) { +- pcm_src_free(rate); +- rate->channels = info->channels; +- ir = rate->in_rate = info->in.rate; +- or = rate->out_rate = info->out.rate; +- i = gcd(or, ir); +- if (or > ir) { +- phase_shift = or/i; +- } else { +- phase_shift = ir/i; +- } +- if (cutoff <= 0.0) { +- cutoff = 1.0 - 1.0/filter_size; +- if (cutoff < 0.80) +- cutoff = 0.80; +- } +- rate->context = av_resample_init(info->out.rate, info->in.rate, +- filter_size, phase_shift, +- (info->out.rate >= info->in.rate ? 0 : 1), cutoff); +- if (!rate->context) +- return -EINVAL; +- } +- +- rate->out = malloc(rate->channels * sizeof(int16_t *)); +- rate->in = malloc(rate->channels * sizeof(int16_t *)); +- for (i=0; ichannels; i++) { +- rate->out[i] = calloc(info->out.period_size * 2, +- sizeof(int16_t)); +- rate->in[i] = calloc(info->in.period_size * 2, +- sizeof(int16_t)); +- } +- rate->point = info->in.period_size / 2; +- if (!rate->out || !rate->in) { +- pcm_src_free(rate); +- return -ENOMEM; +- } +- +- return 0; +-} +- +-static int pcm_src_adjust_pitch(void *obj, snd_pcm_rate_info_t *info) +-{ +- struct rate_src *rate = obj; +- +- if (info->out.rate != rate->out_rate || info->in.rate != rate->in_rate) +- pcm_src_init(obj, info); +- return 0; +-} +- +-static void pcm_src_reset(void *obj) +-{ +- struct rate_src *rate = obj; +- rate->stored = 0; +-} +- +-static void deinterleave(const int16_t *src, int16_t **dst, unsigned int frames, +- unsigned int chans, int overflow) +-{ +- int i, j; +- +- if (chans == 1) { +- memcpy(dst + overflow, src, frames*sizeof(int16_t)); +- } else if (chans == 2) { +- for (j=overflow; j<(frames + overflow); j++) { +- dst[0][j] = *(src++); +- dst[1][j] = *(src++); +- } +- } else { +- for (j=overflow; j<(frames + overflow); j++) { +- for (i=0; ichannels, ret=0, i; +- int total_in = rate->stored + src_frames, new_stored; +- +- deinterleave(src, rate->in, src_frames, chans, rate->point); +- for (i=0; icontext, rate->out[i], +- rate->in[i]+rate->point-rate->stored, &consumed, +- total_in, dst_frames, i == (chans - 1)); +- new_stored = total_in-consumed; +- memmove(rate->in[i]+rate->point-new_stored, +- rate->in[i]+rate->point-rate->stored+consumed, +- new_stored*sizeof(int16_t)); +- } +- av_resample_compensate(rate->context, +- total_in-src_frames>filter_size?0:1, src_frames); +- reinterleave(rate->out, dst, ret, chans); +- rate->stored = total_in-consumed; +-} +- +-static void pcm_src_close(void *obj) +-{ +- pcm_src_free(obj); +-} +- +-#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 +-static int get_supported_rates(void *obj, unsigned int *rate_min, +- unsigned int *rate_max) +-{ +- *rate_min = *rate_max = 0; /* both unlimited */ +- return 0; +-} +- +-static void dump(void *obj, snd_output_t *out) +-{ +- snd_output_printf(out, "Converter: liblavc\n"); +-} +-#endif +- +-static snd_pcm_rate_ops_t pcm_src_ops = { +- .close = pcm_src_close, +- .init = pcm_src_init, +- .free = pcm_src_free, +- .reset = pcm_src_reset, +- .adjust_pitch = pcm_src_adjust_pitch, +- .convert_s16 = pcm_src_convert_s16, +- .input_frames = input_frames, +- .output_frames = output_frames, +-#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 +- .version = SND_PCM_RATE_PLUGIN_VERSION, +- .get_supported_rates = get_supported_rates, +- .dump = dump, +-#endif +-}; +- +-int pcm_src_open(unsigned int version, void **objp, snd_pcm_rate_ops_t *ops) +- +-{ +- struct rate_src *rate; +- +-#if SND_PCM_RATE_PLUGIN_VERSION < 0x010002 +- if (version != SND_PCM_RATE_PLUGIN_VERSION) { +- fprintf(stderr, "Invalid rate plugin version %x\n", version); +- return -EINVAL; +- } +-#endif +- rate = calloc(1, sizeof(*rate)); +- if (!rate) +- return -ENOMEM; +- +- *objp = rate; +- rate->context = NULL; +-#if SND_PCM_RATE_PLUGIN_VERSION >= 0x010002 +- if (version == 0x010001) +- memcpy(ops, &pcm_src_ops, sizeof(snd_pcm_rate_old_ops_t)); +- else +-#endif +- *ops = pcm_src_ops; +- return 0; +-} +- +-int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate)(unsigned int version, void **objp, +- snd_pcm_rate_ops_t *ops) +-{ +- return pcm_src_open(version, objp, ops); +-} +-int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_higher)(unsigned int version, +- void **objp, snd_pcm_rate_ops_t *ops) +-{ +- filter_size = 64; +- return pcm_src_open(version, objp, ops); +-} +-int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_high)(unsigned int version, +- void **objp, snd_pcm_rate_ops_t *ops) +-{ +- filter_size = 32; +- return pcm_src_open(version, objp, ops); +-} +-int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_fast)(unsigned int version, +- void **objp, snd_pcm_rate_ops_t *ops) +-{ +- filter_size = 8; +- return pcm_src_open(version, objp, ops); +-} +-int SND_PCM_RATE_PLUGIN_ENTRY(lavcrate_faster)(unsigned int version, +- void **objp, snd_pcm_rate_ops_t *ops) +-{ +- filter_size = 4; +- return pcm_src_open(version, objp, ops); +-} +- +- +-- +2.13.6 + + +From 4afd4ab0b276b26b965bae3aadaa31cdb52b1df0 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 16 Apr 2018 17:49:36 +0200 +Subject: [PATCH 5/5] configure: change --with-alsaaddondir to + --with-alsagconfdir and --with-alsalconfdir + +The local add-on configuration directory (/etc/alsa/conf.d) contains +links to the global configuration directory (/usr/share/alsa/alsa.conf.d) now. + +Signed-off-by: Jaroslav Kysela +--- + a52/Makefile.am | 14 +++++++++++--- + arcam-av/Makefile.am | 14 +++++++++++--- + configure.ac | 32 ++++++++++++++++++++++---------- + install-hooks.am | 16 ++++++++++++++++ + jack/Makefile.am | 14 +++++++++++--- + maemo/Makefile.am | 14 +++++++++++--- + mix/Makefile.am | 14 +++++++++++--- + oss/Makefile.am | 14 +++++++++++--- + pph/Makefile.am | 16 ++++++++++++---- + pulse/Makefile.am | 17 ++++++++++++++--- + rate-lav/Makefile.am | 13 ++++++++++--- + rate/Makefile.am | 14 +++++++++++--- + speex/Makefile.am | 14 +++++++++++--- + usb_stream/Makefile.am | 14 +++++++++++--- + 14 files changed, 173 insertions(+), 47 deletions(-) + create mode 100644 install-hooks.am + +diff --git a/a52/Makefile.am b/a52/Makefile.am +index 4ac8edd..cd5ce45 100644 +--- a/a52/Makefile.am ++++ b/a52/Makefile.am +@@ -1,13 +1,21 @@ +-EXTRA_DIST = 60-a52-encoder.conf ++GCONF_FILES = 60-a52-encoder.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_a52_LTLIBRARIES = libasound_module_pcm_a52.la +-asound_module_addon_DATA = 60-a52-encoder.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_a52dir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @LIBAV_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) + + libasound_module_pcm_a52_la_SOURCES = pcm_a52.c + libasound_module_pcm_a52_la_LIBADD = @ALSA_LIBS@ @LIBAV_LIBS@ @LIBAV_CODEC_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/arcam-av/Makefile.am b/arcam-av/Makefile.am +index 4a54ccd..c16aec0 100644 +--- a/arcam-av/Makefile.am ++++ b/arcam-av/Makefile.am +@@ -1,13 +1,21 @@ +-EXTRA_DIST = 50-arcam-av-ctl.conf ++GCONF_FILES = 50-arcam-av-ctl.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_ctl_arcam_av_LTLIBRARIES = libasound_module_ctl_arcam_av.la +-asound_module_addon_DATA = 50-arcam-av-ctl.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_ctl_arcam_avdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined + + libasound_module_ctl_arcam_av_la_SOURCES = ctl_arcam_av.c arcam_av.c arcam_av.h + libasound_module_ctl_arcam_av_la_LIBADD = @ALSA_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/configure.ac b/configure.ac +index cb1ae2d..f49bb6b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -210,17 +210,29 @@ AC_DEFINE_UNQUOTED(ALSA_DATA_DIR, "$alsadatadir", [directory containing ALSA dat + ALSA_DATA_DIR="$alsadatadir" + AC_SUBST(ALSA_DATA_DIR) + +-dnl ALSA add-on config directory +-AC_ARG_WITH(alsaaddondir, +- AS_HELP_STRING([--with-alsaaddondir=dir], +- [path where ALSA add-on config files are stored]), +- alsaaddondir="$withval", alsaaddondir="") +-if test -z "$alsaaddondir"; then +- alsaaddondir="/etc/alsa/conf.d" ++dnl ALSA add-on global config directory ++AC_ARG_WITH(alsagconfdir, ++ AS_HELP_STRING([--with-alsagconfdir=dir], ++ [path where ALSA global add-on config files are stored]), ++ alsagconfdir="$withval", alsagconfdir="") ++if test -z "$alsagconfdir"; then ++ alsagconfdir="$ALSA_DATA_DIR/alsa.conf.d" + fi +-AC_DEFINE_UNQUOTED(ALSA_ADDON_DIR, "$alsaaddondir", [directory containing ALSA add-on config files]) +-ALSA_ADDON_DIR="$alsaaddondir" +-AC_SUBST(ALSA_ADDON_DIR) ++AC_DEFINE_UNQUOTED(ALSA_GCONF_DIR, "$alsagconfdir", [directory containing global ALSA add-on config files]) ++ALSA_GCONF_DIR="$alsagconfdir" ++AC_SUBST(ALSA_GCONF_DIR) ++ ++dnl ALSA add-on local config directory ++AC_ARG_WITH(alsalconfdir, ++ AS_HELP_STRING([--with-alsalconfdir=dir], ++ [path where ALSA local add-on config files are stored]), ++ alsalconfdir="$withval", alsalconfdir="") ++if test -z "$alsalconfdir"; then ++ alsalconfdir="/etc/alsa/conf.d" ++fi ++AC_DEFINE_UNQUOTED(ALSA_LCONF_DIR, "$alsalconfdir", [directory containing local ALSA add-on config files]) ++ALSA_LCONF_DIR="$alsalconfdir" ++AC_SUBST(ALSA_LCONF_DIR) + + SAVE_PLUGINS_VERSION + +diff --git a/install-hooks.am b/install-hooks.am +new file mode 100644 +index 0000000..2d6d383 +--- /dev/null ++++ b/install-hooks.am +@@ -0,0 +1,16 @@ ++install-conf-hook: ++ mkdir -p $(DESTDIR)$(ALSA_LCONF_DIR) ++ @(echo cd $(DESTDIR)$(ALSA_LCONF_DIR); \ ++ cd $(DESTDIR)$(ALSA_LCONF_DIR); \ ++ for i in $(GCONF_FILES); do \ ++ echo $(RM) $$i";" ln -s $(ALSA_GCONF_DIR)/$$i .; \ ++ $(RM) $$i; \ ++ ln -s $(ALSA_GCONF_DIR)/$$i .; \ ++ done) ++uninstall-conf-hook: ++ @(echo cd $(DESTDIR)$(ALSA_LCONF_DIR); \ ++ cd $(DESTDIR)$(ALSA_LCONF_DIR); \ ++ for i in $(GCONF_FILES); do \ ++ echo $(RM) $$i; \ ++ $(RM) $$i; \ ++ done) +diff --git a/jack/Makefile.am b/jack/Makefile.am +index 0a3d6ae..7801194 100644 +--- a/jack/Makefile.am ++++ b/jack/Makefile.am +@@ -1,13 +1,21 @@ +-EXTRA_DIST = 50-jack.conf ++GCONF_FILES = 50-jack.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_jack_LTLIBRARIES = libasound_module_pcm_jack.la +-asound_module_addon_DATA = 50-jack.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_jackdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @JACK_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) + + libasound_module_pcm_jack_la_SOURCES = pcm_jack.c + libasound_module_pcm_jack_la_LIBADD = @ALSA_LIBS@ @JACK_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/maemo/Makefile.am b/maemo/Makefile.am +index aca481d..7749926 100644 +--- a/maemo/Makefile.am ++++ b/maemo/Makefile.am +@@ -1,12 +1,14 @@ +-EXTRA_DIST = 98-maemo.conf ++GCONF_FILES = 98-maemo.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_alsa_dsp_LTLIBRARIES = libasound_module_pcm_alsa_dsp.la + asound_module_ctl_dsp_ctl_LTLIBRARIES = libasound_module_ctl_dsp_ctl.la +-asound_module_addon_DATA = 98-maemo.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_alsa_dspdir = @ALSA_PLUGIN_DIR@ + asound_module_ctl_dsp_ctldir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -O2 @ALSA_CFLAGS@ $(DBUS_CFLAGS) + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -19,3 +21,9 @@ libasound_module_ctl_dsp_ctl_la_LIBADD = @ALSA_LIBS@ $(DBUS_LIBS) -lpthread + + noinst_HEADERS = constants.h debug.h dsp-protocol.h list.h reporting.h \ + types.h ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/mix/Makefile.am b/mix/Makefile.am +index 710606c..a74c200 100644 +--- a/mix/Makefile.am ++++ b/mix/Makefile.am +@@ -1,12 +1,14 @@ +-EXTRA_DIST = 60-upmix.conf 60-vdownmix.conf ++GCONF_FILES = 60-upmix.conf 60-vdownmix.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_upmix_LTLIBRARIES = libasound_module_pcm_upmix.la + asound_module_pcm_vdownmix_LTLIBRARIES = libasound_module_pcm_vdownmix.la +-asound_module_addon_DATA = 60-upmix.conf 60-vdownmix.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_upmixdir = @ALSA_PLUGIN_DIR@ + asound_module_pcm_vdownmixdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -15,3 +17,9 @@ libasound_module_pcm_upmix_la_SOURCES = pcm_upmix.c + libasound_module_pcm_upmix_la_LIBADD = @ALSA_LIBS@ + libasound_module_pcm_vdownmix_la_SOURCES = pcm_vdownmix.c + libasound_module_pcm_vdownmix_la_LIBADD = @ALSA_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/oss/Makefile.am b/oss/Makefile.am +index df83d20..46dfcac 100644 +--- a/oss/Makefile.am ++++ b/oss/Makefile.am +@@ -1,12 +1,14 @@ +-EXTRA_DIST = 50-oss.conf ++GCONF_FILEs = 50-oss.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_oss_LTLIBRARIES = libasound_module_pcm_oss.la + asound_module_ctl_oss_LTLIBRARIES = libasound_module_ctl_oss.la +-asound_module_addon_DATA = 50-oss.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_ossdir = @ALSA_PLUGIN_DIR@ + asound_module_ctl_ossdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -16,3 +18,9 @@ libasound_module_pcm_oss_la_LIBADD = @ALSA_LIBS@ + + libasound_module_ctl_oss_la_SOURCES = ctl_oss.c + libasound_module_ctl_oss_la_LIBADD = @ALSA_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/pph/Makefile.am b/pph/Makefile.am +index abb950b..6938b74 100644 +--- a/pph/Makefile.am ++++ b/pph/Makefile.am +@@ -1,10 +1,12 @@ +-EXTRA_DIST = 10-speexrate.conf ++GCONF_FILES = 10-speexrate.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_rate_speexrate_LTLIBRARIES = libasound_module_rate_speexrate.la +-asound_module_addon_DATA = 10-speexrate.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_rate_speexratedir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -DVAR_ARRAYS -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -20,6 +22,10 @@ libasound_module_rate_speexrate_la_SOURCES += resample.c + libasound_module_rate_speexrate_la_LIBADD += -lm + endif + ++noinst_HEADERS = speex_resampler.h arch.h fixed_generic.h ++ ++include ../install-hooks.am ++ + install-exec-hook: + rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_*.so + $(LN_S) libasound_module_rate_speexrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_best.so +@@ -28,4 +34,6 @@ install-exec-hook: + uninstall-hook: + rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_speexrate_*.so + +-noinst_HEADERS = speex_resampler.h arch.h fixed_generic.h ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/pulse/Makefile.am b/pulse/Makefile.am +index 835808c..c33e702 100644 +--- a/pulse/Makefile.am ++++ b/pulse/Makefile.am +@@ -1,14 +1,19 @@ +-EXTRA_DIST = 50-pulseaudio.conf 99-pulseaudio-default.conf.example ++GCONF_FILES = 50-pulseaudio.conf ++LCONF_FILES = 99-pulseaudio-default.conf.example ++ ++EXTRA_DIST = $(GCONF_FILES) $(LCONF_FILES) + + asound_module_pcm_LTLIBRARIES = libasound_module_pcm_pulse.la + asound_module_ctl_LTLIBRARIES = libasound_module_ctl_pulse.la + asound_module_conf_LTLIBRARIES = libasound_module_conf_pulse.la +-asound_module_addon_DATA = 50-pulseaudio.conf 99-pulseaudio-default.conf.example ++asound_module_gconf_DATA = $(GCONF_FILES) ++asound_module_lconf_DATA = $(LCONF_FILES) + + asound_module_pcmdir = @ALSA_PLUGIN_DIR@ + asound_module_ctldir = @ALSA_PLUGIN_DIR@ + asound_module_confdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ ++asound_module_lconfdir = @ALSA_LCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(PTHREAD_CFLAGS) $(pulseaudio_CFLAGS) -D_GNU_SOURCE + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -21,3 +26,9 @@ libasound_module_ctl_pulse_la_LIBADD = @ALSA_LIBS@ $(PTHREAD_LIBS) $(pulseaudio_ + + libasound_module_conf_pulse_la_SOURCES = conf_pulse.c + libasound_module_conf_pulse_la_LIBADD = @ALSA_LIBS@ $(PTHREAD_LIBS) $(pulseaudio_LIBS) ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/rate-lav/Makefile.am b/rate-lav/Makefile.am +index 0f6ecb6..eb672b5 100644 +--- a/rate-lav/Makefile.am ++++ b/rate-lav/Makefile.am +@@ -1,10 +1,12 @@ +-EXTRA_DIST = 10-rate-lav.conf ++GCONF_FILES = 10-rate-lav.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_rate_lavrate_LTLIBRARIES = libasound_module_rate_lavrate.la +-asound_module_addon_DATA = 10-rate-lav.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_rate_lavratedir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @LIBAV_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -14,6 +16,8 @@ libasound_module_rate_lavrate_la_LIBADD = @ALSA_LIBS@ @LIBAV_LIBS@ @LIBAV_RESAMP + + noinst_HEADERS = gcd.h + ++include ../install-hooks.am ++ + install-exec-hook: + rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_*.so + $(LN_S) libasound_module_rate_lavrate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_higher.so +@@ -23,3 +27,6 @@ install-exec-hook: + + uninstall-hook: + rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_lavrate_*.so ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/rate/Makefile.am b/rate/Makefile.am +index 25014d8..488c12a 100644 +--- a/rate/Makefile.am ++++ b/rate/Makefile.am +@@ -1,10 +1,12 @@ +-EXTRA_DIST = 10-samplerate.conf ++GCONF_FILES = 10-samplerate.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_rate_samplerate_LTLIBRARIES = libasound_module_rate_samplerate.la +-asound_module_addon_DATA = 10-samplerate.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_rate_sampleratedir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ $(samplerate_CFLAGS) + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) +@@ -12,6 +14,8 @@ AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUN + libasound_module_rate_samplerate_la_SOURCES = rate_samplerate.c + libasound_module_rate_samplerate_la_LIBADD = @ALSA_LIBS@ @samplerate_LIBS@ + ++include ../install-hooks.am ++ + install-exec-hook: + rm -f $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_samplerate_*.so + $(LN_S) libasound_module_rate_samplerate.so $(DESTDIR)@ALSA_PLUGIN_DIR@/libasound_module_rate_samplerate_best.so +@@ -21,3 +25,7 @@ install-exec-hook: + + uninstall-hook: + rm -f $(DESTDIR)$(libdir)/alsa-lib/libasound_module_rate_samplerate_*.so ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/speex/Makefile.am b/speex/Makefile.am +index 7891954..27c4ea5 100644 +--- a/speex/Makefile.am ++++ b/speex/Makefile.am +@@ -1,13 +1,21 @@ +-EXTRA_DIST = 60-speex.conf ++GCONF_FILES = 60-speex.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_speex_LTLIBRARIES = libasound_module_pcm_speex.la +-asound_module_addon_DATA = 60-speex.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_speexdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ @speexdsp_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic -no-undefined $(LDFLAGS_NOUNDEFINED) + + libasound_module_pcm_speex_la_SOURCES = pcm_speex.c + libasound_module_pcm_speex_la_LIBADD = @ALSA_LIBS@ @speexdsp_LIBS@ ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +diff --git a/usb_stream/Makefile.am b/usb_stream/Makefile.am +index b606d3d..203618b 100644 +--- a/usb_stream/Makefile.am ++++ b/usb_stream/Makefile.am +@@ -1,10 +1,12 @@ +-EXTRA_DIST = 98-usb-stream.conf ++GCONF_FILES = 98-usb-stream.conf ++ ++EXTRA_DIST = $(GCONF_FILES) + + asound_module_pcm_usb_stream_LTLIBRARIES = libasound_module_pcm_usb_stream.la +-asound_module_addon_DATA = 98-usb-stream.conf ++asound_module_gconf_DATA = $(GCONF_FILES) + + asound_module_pcm_usb_streamdir = @ALSA_PLUGIN_DIR@ +-asound_module_addondir = @ALSA_ADDON_DIR@ ++asound_module_gconfdir = @ALSA_GCONF_DIR@ + + AM_CFLAGS = -Wall -g @ALSA_CFLAGS@ + AM_LDFLAGS = -module -avoid-version -export-dynamic $(LDFLAGS_NOUNDEFINED) +@@ -13,3 +15,9 @@ libasound_module_pcm_usb_stream_la_SOURCES = pcm_usb_stream.c + libasound_module_pcm_usb_stream_la_LIBADD = @ALSA_LIBS@ + + noinst_HEADERS = usb_stream.h ++ ++include ../install-hooks.am ++ ++install-data-hook: install-conf-hook ++ ++uninstall-local: uninstall-conf-hook +-- +2.13.6 + From 8bab1d91f278426ada550cd657493002e3febe7f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 16 Apr 2018 18:15:02 +0200 Subject: [PATCH 074/126] plugin-config.patch: fix typo --- plugin-config.patch | 34 +++++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/plugin-config.patch b/plugin-config.patch index 2ccfb8f..f84dd45 100644 --- a/plugin-config.patch +++ b/plugin-config.patch @@ -1,7 +1,7 @@ From e8fabec7adc70220f52588dc170d90d146b92ba7 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Thu, 5 Apr 2018 09:23:09 +0200 -Subject: [PATCH 1/5] samplerate: fix unused variable warning +Subject: [PATCH 1/6] samplerate: fix unused variable warning Signed-off-by: Jaroslav Kysela --- @@ -36,7 +36,7 @@ index 0b14a59..100d6f2 100644 From 6e40eb5fd346207021a95d06bc30205a537926ea Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 4 Apr 2018 19:57:56 +0200 -Subject: [PATCH 2/5] configure: add --with-alsaaddondir, add default config +Subject: [PATCH 2/6] configure: add --with-alsaaddondir, add default config files for plugins Signed-off-by: Jaroslav Kysela @@ -752,7 +752,7 @@ index 50a98a0..b606d3d 100644 From cc6bed233a3167d806834460befca2c6d655f0fb Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 13 Apr 2018 13:37:36 +0200 -Subject: [PATCH 3/5] config/Makefile: make everything modular +Subject: [PATCH 3/6] config/Makefile: make everything modular Signed-off-by: Jaroslav Kysela --- @@ -890,7 +890,7 @@ index 19fa0d2..0d6f6e5 100644 From 24db7f59d76984e2901f2834a297735853cab776 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 16 Apr 2018 16:24:29 +0200 -Subject: [PATCH 4/5] Move rate-lavc to rate-lav subdirectory and update to use +Subject: [PATCH 4/6] Move rate-lavc to rate-lav subdirectory and update to use libavresample - --disable-avcodec renamed to --disable-libav @@ -1783,7 +1783,7 @@ index 14a2198..0000000 From 4afd4ab0b276b26b965bae3aadaa31cdb52b1df0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 16 Apr 2018 17:49:36 +0200 -Subject: [PATCH 5/5] configure: change --with-alsaaddondir to +Subject: [PATCH 5/6] configure: change --with-alsaaddondir to --with-alsagconfdir and --with-alsalconfdir The local add-on configuration directory (/etc/alsa/conf.d) contains @@ -2268,3 +2268,27 @@ index b606d3d..203618b 100644 -- 2.13.6 + +From beb24e58763e3b1d831fcd7ef87a478e6ac74fcc Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Mon, 16 Apr 2018 18:14:18 +0200 +Subject: [PATCH 6/6] oss/Makefile.am: fix typo + +Signed-off-by: Jaroslav Kysela +--- + oss/Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/oss/Makefile.am b/oss/Makefile.am +index 46dfcac..bff4443 100644 +--- a/oss/Makefile.am ++++ b/oss/Makefile.am +@@ -1,4 +1,4 @@ +-GCONF_FILEs = 50-oss.conf ++GCONF_FILES = 50-oss.conf + + EXTRA_DIST = $(GCONF_FILES) + +-- +2.13.6 + From 2f36816dad756dbba26ce795c32a3c018ff3e39e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 16 Apr 2018 18:19:39 +0200 Subject: [PATCH 075/126] fix another typo 10-speex.conf --- alsa-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0e669fd..0b7b17e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -248,7 +248,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %config(noreplace) /etc/alsa/conf.d/60-speex.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/10-speexrate.conf -%{_datadir}/alsa/alsa.conf.d/10-speex.conf +%{_datadir}/alsa/alsa.conf.d/60-speex.conf %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_speex.so %{_libdir}/alsa-lib/libasound_module_rate_speexrate.so From 3808a0af7cb0f6e5abdc773597ade6993119e8e6 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 12 Jul 2018 20:09:37 +0000 Subject: [PATCH 076/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0b7b17e..130dd17 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.6 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -267,6 +267,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Thu Jul 12 2018 Fedora Release Engineering - 1.1.6-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Mon Apr 16 2018 Jaroslav Kysela - 1.1.6-3 - /etc/alsa/conf.d contains symlinks to /usr/share/alsa/alsa.conf.d templates From 6f99b96ed824c410843336de641ebf86b51df6d0 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 16 Oct 2018 11:51:49 +0200 Subject: [PATCH 077/126] updated to 1.1.7 --- alsa-plugins.spec | 5 +++-- sources | 1 - 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 130dd17..73c02b1 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -14,7 +14,6 @@ License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 -Patch0: plugin-config.patch BuildRequires: autoconf automake libtool BuildRequires: alsa-lib-devel @@ -136,7 +135,6 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %prep %setup -q -n %{name}-%{version}%{?prever} -%patch0 -p1 -b .plugin-config %build autoreconf -vif @@ -267,6 +265,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Tue Oct 16 2018 Jaroslav Kysela - 1.1.7-1 +- Updated to 1.1.7 + * Thu Jul 12 2018 Fedora Release Engineering - 1.1.6-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild diff --git a/sources b/sources index 194f06c..e69de29 100644 --- a/sources +++ b/sources @@ -1 +0,0 @@ -SHA512 (alsa-plugins-1.1.6.tar.bz2) = f01633cd7166a2fba4c5b4d5d786b5a2122f6a810f5b5b7209c42033759d116a4515174e7ee57973d5de716be88a246d733dc5a2daf92b72377c274b04db401b From 9907bd3b68312e826f43a2312b0df3b29f38714b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 16 Oct 2018 11:53:59 +0200 Subject: [PATCH 078/126] fix version --- alsa-plugins.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 73c02b1..dd26bbe 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.6 -Release: 4%{?dist} +Version: 1.1.7 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed From 0b72f0af80424cc9fa647ab7e18b2f48f80e0a00 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 16 Oct 2018 11:57:50 +0200 Subject: [PATCH 079/126] updated sources --- sources | 1 + 1 file changed, 1 insertion(+) diff --git a/sources b/sources index e69de29..a1b2659 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (alsa-plugins-1.1.7.tar.bz2) = 16b29333fa7a4aa5be347a95afac238d701fc897e23d314dca15730440aaeda35813803aef098e822c5768b52172f1ac3faf179d9a81c3a77ab10ed4db7a02e4 From 8e316f03bf90ac57c36e3dfb7c8cbe4e0723cd83 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 16 Oct 2018 14:21:17 +0200 Subject: [PATCH 080/126] updated sources --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index a1b2659..39f36d1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.1.7.tar.bz2) = 16b29333fa7a4aa5be347a95afac238d701fc897e23d314dca15730440aaeda35813803aef098e822c5768b52172f1ac3faf179d9a81c3a77ab10ed4db7a02e4 +SHA512 (alsa-plugins-1.1.7.tar.bz2) = c3bb22ec3c5a167fb246cfc94131d53800e321b486ab743c3395a9d91dee0ff9703f6e4a2feaea5a4ee42a7e486d835d48ab880c784c5c34bb4eb5e9ded06d8e From 601dba6976a002736ca669727bfd4ab36fa09ab8 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 24 Oct 2018 12:46:04 +0200 Subject: [PATCH 081/126] fixed some regressions (double free) --- alsa-git.patch | 237 ++++++++++++++++++++++++++++++++++++++++++++++ alsa-plugins.spec | 6 +- 2 files changed, 241 insertions(+), 2 deletions(-) create mode 100644 alsa-git.patch diff --git a/alsa-git.patch b/alsa-git.patch new file mode 100644 index 0000000..7cb40b7 --- /dev/null +++ b/alsa-git.patch @@ -0,0 +1,237 @@ +From 68c4cd3a471ed1f4a367830eb31881d3e5815813 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 23 Oct 2018 08:39:16 +0200 +Subject: [PATCH 1/7] pcm_usb_stream: fix another leak in snd_pcm_us_open() + +Signed-off-by: Jaroslav Kysela +--- + usb_stream/pcm_usb_stream.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c +index eb4ca98..5ca1c0f 100644 +--- a/usb_stream/pcm_usb_stream.c ++++ b/usb_stream/pcm_usb_stream.c +@@ -424,8 +424,10 @@ static int snd_pcm_us_open(snd_pcm_t **pcmp, const char *name, + } + VDBG("%i %s", stream, us_name); + us->uus = get_uus(card); +- if (!us->uus) ++ if (!us->uus) { ++ free(us); + return -ENOMEM; ++ } + err = snd_hwdep_open(&us->hwdep, us_name, O_RDWR); + if (err < 0) { + us_free(us); +-- +2.13.6 + + +From 9ff42e4baf03a84eca83b8c25e0165572259d253 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 23 Oct 2018 08:47:16 +0200 +Subject: [PATCH 2/7] pcm_usb_stream: remove unused parameter in + snd_pcm_us_read() + +Signed-off-by: Jaroslav Kysela +--- + usb_stream/pcm_usb_stream.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c +index 5ca1c0f..6d08c37 100644 +--- a/usb_stream/pcm_usb_stream.c ++++ b/usb_stream/pcm_usb_stream.c +@@ -297,7 +297,7 @@ static snd_pcm_sframes_t snd_pcm_us_write(snd_pcm_ioplug_t *io, + return size; + } + +-static int usb_stream_read(struct user_usb_stream *uus, void *to, unsigned bytes) ++static int usb_stream_read(struct user_usb_stream *uus, void *to) + { + struct usb_stream *s = uus->s; + int p = s->inpacket_split, l = 0; +@@ -337,8 +337,7 @@ static snd_pcm_sframes_t snd_pcm_us_read(snd_pcm_ioplug_t *io, + return -EINVAL; + } + if (us->uus->s->periods_done - us->periods_done == 1) { +- red = usb_stream_read(us->uus, to, size * frame_size) / +- frame_size; ++ red = usb_stream_read(us->uus, to) / frame_size; + us->periods_done++; + return red; + } +-- +2.13.6 + + +From cbe7907f46ce9dcd73be392f6660c76767ce3c99 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 23 Oct 2018 08:49:23 +0200 +Subject: [PATCH 3/7] pcm_usb_stream: fix signess issues + +Signed-off-by: Jaroslav Kysela +--- + usb_stream/pcm_usb_stream.c | 4 ++-- + usb_stream/usb_stream.h | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c +index 6d08c37..3f74aba 100644 +--- a/usb_stream/pcm_usb_stream.c ++++ b/usb_stream/pcm_usb_stream.c +@@ -300,9 +300,9 @@ static snd_pcm_sframes_t snd_pcm_us_write(snd_pcm_ioplug_t *io, + static int usb_stream_read(struct user_usb_stream *uus, void *to) + { + struct usb_stream *s = uus->s; +- int p = s->inpacket_split, l = 0; ++ unsigned p = s->inpacket_split, l = 0; + void *i = (void *)s + s->inpacket[p].offset + s->inpacket_split_at; +- int il = s->inpacket[p].length - s->inpacket_split_at; ++ unsigned il = s->inpacket[p].length - s->inpacket_split_at; + + do { + if (l + il > s->period_size) +diff --git a/usb_stream/usb_stream.h b/usb_stream/usb_stream.h +index 4dd74ab..96f8d9e 100644 +--- a/usb_stream/usb_stream.h ++++ b/usb_stream/usb_stream.h +@@ -39,7 +39,7 @@ struct usb_stream { + unsigned read_size; + unsigned write_size; + +- int period_size; ++ unsigned period_size; + + unsigned state; + +-- +2.13.6 + + +From a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9 Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Tue, 23 Oct 2018 09:32:46 +0200 +Subject: [PATCH 4/7] a52_close: set slave to NULL to avoid double pcm free in + open fcn + +Signed-off-by: Jaroslav Kysela +--- + a52/pcm_a52.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c +index e431fd0..b005bc2 100644 +--- a/a52/pcm_a52.c ++++ b/a52/pcm_a52.c +@@ -654,10 +654,13 @@ static int a52_poll_revents(snd_pcm_ioplug_t *io, struct pollfd *pfd, + static int a52_close(snd_pcm_ioplug_t *io) + { + struct a52_ctx *rec = io->private_data; ++ snd_pcm_t *slave = rec->slave; + + a52_free(rec); +- if (rec->slave) +- return snd_pcm_close(rec->slave); ++ if (slave) { ++ rec->slave = NULL; ++ return snd_pcm_close(slave); ++ } + return 0; + } + +-- +2.13.6 + + +From a244a37076cec8c7a65b844e334518c393fbdc5b Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Oct 2018 12:18:42 +0200 +Subject: [PATCH 5/7] Revert "jack: Fix leaks when jack_set_hw_constraint() + fails" + +This reverts commit f4746667a4a2490f17c2a82b6f421bc3c9bd6de8. + +snd_pcm_ioplug_delete() already calls snd_pcm_close()! + +Signed-off-by: Jaroslav Kysela +--- + jack/pcm_jack.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c +index 6aaecac..b39835e 100644 +--- a/jack/pcm_jack.c ++++ b/jack/pcm_jack.c +@@ -538,7 +538,6 @@ static int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name, + err = jack_set_hw_constraint(jack); + if (err < 0) { + snd_pcm_ioplug_delete(&jack->io); +- snd_pcm_jack_free(jack); + return err; + } + +-- +2.13.6 + + +From 434c83d5c422dd4367711e08b3538e366fcc469e Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Oct 2018 12:23:11 +0200 +Subject: [PATCH 6/7] Revert "usb_stream: Fix leaks when us_set_hw_constraint() + fails" + +This reverts commit 6b996865126dd559ef186002e45dc6e1594291e7. + +snd_pcm_ioplug_delete() already calls snd_pcm_close()! + +Signed-off-by: Jaroslav Kysela +--- + usb_stream/pcm_usb_stream.c | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c +index 3f74aba..2a93d1f 100644 +--- a/usb_stream/pcm_usb_stream.c ++++ b/usb_stream/pcm_usb_stream.c +@@ -456,7 +456,6 @@ static int snd_pcm_us_open(snd_pcm_t **pcmp, const char *name, + err = us_set_hw_constraint(us); + if (err < 0) { + snd_pcm_ioplug_delete(&us->io); +- us_free(us); + return err; + } + +-- +2.13.6 + + +From 7dfd3c4fe073319f21192c89a44c16f8b68af3ad Mon Sep 17 00:00:00 2001 +From: Jaroslav Kysela +Date: Wed, 24 Oct 2018 12:27:16 +0200 +Subject: [PATCH 7/7] Revert "oss: Fix leaks when oss_hw_constraint() fails" + +This reverts commit b8bcd458b79146547fc6dae1645832695545da44. + +snd_pcm_ioplug_delete() already calls snd_pcm_close()! +--- + oss/pcm_oss.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/oss/pcm_oss.c b/oss/pcm_oss.c +index 8ab4fb0..dadbb5b 100644 +--- a/oss/pcm_oss.c ++++ b/oss/pcm_oss.c +@@ -413,7 +413,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss) + + if ((err = oss_hw_constraint(oss)) < 0) { + snd_pcm_ioplug_delete(&oss->io); +- goto error; ++ return err; + } + + *pcmp = oss->io.pcm; +-- +2.13.6 + diff --git a/alsa-plugins.spec b/alsa-plugins.spec index dd26bbe..c6cf4db 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.7 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -14,6 +14,7 @@ License: GPLv2+ and LGPLv2+ and BSD Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 +Patch0: alsa-git.patch BuildRequires: autoconf automake libtool BuildRequires: alsa-lib-devel @@ -135,6 +136,7 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %prep %setup -q -n %{name}-%{version}%{?prever} +%patch0 -p1 -b .alsa-git %build autoreconf -vif @@ -265,7 +267,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog -* Tue Oct 16 2018 Jaroslav Kysela - 1.1.7-1 +* Wed Oct 24 2018 Jaroslav Kysela - 1.1.7-2 - Updated to 1.1.7 * Thu Jul 12 2018 Fedora Release Engineering - 1.1.6-4 From 603df8e5645b0c712a05e584b8606ee1077c19bc Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 7 Jan 2019 19:24:42 +0100 Subject: [PATCH 082/126] updated to 1.1.8 --- alsa-git.patch | 237 ---------------------------------------------- alsa-plugins.spec | 7 +- sources | 2 +- 3 files changed, 6 insertions(+), 240 deletions(-) diff --git a/alsa-git.patch b/alsa-git.patch index 7cb40b7..e69de29 100644 --- a/alsa-git.patch +++ b/alsa-git.patch @@ -1,237 +0,0 @@ -From 68c4cd3a471ed1f4a367830eb31881d3e5815813 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Tue, 23 Oct 2018 08:39:16 +0200 -Subject: [PATCH 1/7] pcm_usb_stream: fix another leak in snd_pcm_us_open() - -Signed-off-by: Jaroslav Kysela ---- - usb_stream/pcm_usb_stream.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c -index eb4ca98..5ca1c0f 100644 ---- a/usb_stream/pcm_usb_stream.c -+++ b/usb_stream/pcm_usb_stream.c -@@ -424,8 +424,10 @@ static int snd_pcm_us_open(snd_pcm_t **pcmp, const char *name, - } - VDBG("%i %s", stream, us_name); - us->uus = get_uus(card); -- if (!us->uus) -+ if (!us->uus) { -+ free(us); - return -ENOMEM; -+ } - err = snd_hwdep_open(&us->hwdep, us_name, O_RDWR); - if (err < 0) { - us_free(us); --- -2.13.6 - - -From 9ff42e4baf03a84eca83b8c25e0165572259d253 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Tue, 23 Oct 2018 08:47:16 +0200 -Subject: [PATCH 2/7] pcm_usb_stream: remove unused parameter in - snd_pcm_us_read() - -Signed-off-by: Jaroslav Kysela ---- - usb_stream/pcm_usb_stream.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c -index 5ca1c0f..6d08c37 100644 ---- a/usb_stream/pcm_usb_stream.c -+++ b/usb_stream/pcm_usb_stream.c -@@ -297,7 +297,7 @@ static snd_pcm_sframes_t snd_pcm_us_write(snd_pcm_ioplug_t *io, - return size; - } - --static int usb_stream_read(struct user_usb_stream *uus, void *to, unsigned bytes) -+static int usb_stream_read(struct user_usb_stream *uus, void *to) - { - struct usb_stream *s = uus->s; - int p = s->inpacket_split, l = 0; -@@ -337,8 +337,7 @@ static snd_pcm_sframes_t snd_pcm_us_read(snd_pcm_ioplug_t *io, - return -EINVAL; - } - if (us->uus->s->periods_done - us->periods_done == 1) { -- red = usb_stream_read(us->uus, to, size * frame_size) / -- frame_size; -+ red = usb_stream_read(us->uus, to) / frame_size; - us->periods_done++; - return red; - } --- -2.13.6 - - -From cbe7907f46ce9dcd73be392f6660c76767ce3c99 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Tue, 23 Oct 2018 08:49:23 +0200 -Subject: [PATCH 3/7] pcm_usb_stream: fix signess issues - -Signed-off-by: Jaroslav Kysela ---- - usb_stream/pcm_usb_stream.c | 4 ++-- - usb_stream/usb_stream.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c -index 6d08c37..3f74aba 100644 ---- a/usb_stream/pcm_usb_stream.c -+++ b/usb_stream/pcm_usb_stream.c -@@ -300,9 +300,9 @@ static snd_pcm_sframes_t snd_pcm_us_write(snd_pcm_ioplug_t *io, - static int usb_stream_read(struct user_usb_stream *uus, void *to) - { - struct usb_stream *s = uus->s; -- int p = s->inpacket_split, l = 0; -+ unsigned p = s->inpacket_split, l = 0; - void *i = (void *)s + s->inpacket[p].offset + s->inpacket_split_at; -- int il = s->inpacket[p].length - s->inpacket_split_at; -+ unsigned il = s->inpacket[p].length - s->inpacket_split_at; - - do { - if (l + il > s->period_size) -diff --git a/usb_stream/usb_stream.h b/usb_stream/usb_stream.h -index 4dd74ab..96f8d9e 100644 ---- a/usb_stream/usb_stream.h -+++ b/usb_stream/usb_stream.h -@@ -39,7 +39,7 @@ struct usb_stream { - unsigned read_size; - unsigned write_size; - -- int period_size; -+ unsigned period_size; - - unsigned state; - --- -2.13.6 - - -From a4e7e1282c57a2f4e83afe9a4008042d8b4c5bb9 Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Tue, 23 Oct 2018 09:32:46 +0200 -Subject: [PATCH 4/7] a52_close: set slave to NULL to avoid double pcm free in - open fcn - -Signed-off-by: Jaroslav Kysela ---- - a52/pcm_a52.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/a52/pcm_a52.c b/a52/pcm_a52.c -index e431fd0..b005bc2 100644 ---- a/a52/pcm_a52.c -+++ b/a52/pcm_a52.c -@@ -654,10 +654,13 @@ static int a52_poll_revents(snd_pcm_ioplug_t *io, struct pollfd *pfd, - static int a52_close(snd_pcm_ioplug_t *io) - { - struct a52_ctx *rec = io->private_data; -+ snd_pcm_t *slave = rec->slave; - - a52_free(rec); -- if (rec->slave) -- return snd_pcm_close(rec->slave); -+ if (slave) { -+ rec->slave = NULL; -+ return snd_pcm_close(slave); -+ } - return 0; - } - --- -2.13.6 - - -From a244a37076cec8c7a65b844e334518c393fbdc5b Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 24 Oct 2018 12:18:42 +0200 -Subject: [PATCH 5/7] Revert "jack: Fix leaks when jack_set_hw_constraint() - fails" - -This reverts commit f4746667a4a2490f17c2a82b6f421bc3c9bd6de8. - -snd_pcm_ioplug_delete() already calls snd_pcm_close()! - -Signed-off-by: Jaroslav Kysela ---- - jack/pcm_jack.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/jack/pcm_jack.c b/jack/pcm_jack.c -index 6aaecac..b39835e 100644 ---- a/jack/pcm_jack.c -+++ b/jack/pcm_jack.c -@@ -538,7 +538,6 @@ static int snd_pcm_jack_open(snd_pcm_t **pcmp, const char *name, - err = jack_set_hw_constraint(jack); - if (err < 0) { - snd_pcm_ioplug_delete(&jack->io); -- snd_pcm_jack_free(jack); - return err; - } - --- -2.13.6 - - -From 434c83d5c422dd4367711e08b3538e366fcc469e Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 24 Oct 2018 12:23:11 +0200 -Subject: [PATCH 6/7] Revert "usb_stream: Fix leaks when us_set_hw_constraint() - fails" - -This reverts commit 6b996865126dd559ef186002e45dc6e1594291e7. - -snd_pcm_ioplug_delete() already calls snd_pcm_close()! - -Signed-off-by: Jaroslav Kysela ---- - usb_stream/pcm_usb_stream.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/usb_stream/pcm_usb_stream.c b/usb_stream/pcm_usb_stream.c -index 3f74aba..2a93d1f 100644 ---- a/usb_stream/pcm_usb_stream.c -+++ b/usb_stream/pcm_usb_stream.c -@@ -456,7 +456,6 @@ static int snd_pcm_us_open(snd_pcm_t **pcmp, const char *name, - err = us_set_hw_constraint(us); - if (err < 0) { - snd_pcm_ioplug_delete(&us->io); -- us_free(us); - return err; - } - --- -2.13.6 - - -From 7dfd3c4fe073319f21192c89a44c16f8b68af3ad Mon Sep 17 00:00:00 2001 -From: Jaroslav Kysela -Date: Wed, 24 Oct 2018 12:27:16 +0200 -Subject: [PATCH 7/7] Revert "oss: Fix leaks when oss_hw_constraint() fails" - -This reverts commit b8bcd458b79146547fc6dae1645832695545da44. - -snd_pcm_ioplug_delete() already calls snd_pcm_close()! ---- - oss/pcm_oss.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/oss/pcm_oss.c b/oss/pcm_oss.c -index 8ab4fb0..dadbb5b 100644 ---- a/oss/pcm_oss.c -+++ b/oss/pcm_oss.c -@@ -413,7 +413,7 @@ SND_PCM_PLUGIN_DEFINE_FUNC(oss) - - if ((err = oss_hw_constraint(oss)) < 0) { - snd_pcm_ioplug_delete(&oss->io); -- goto error; -+ return err; - } - - *pcmp = oss->io.pcm; --- -2.13.6 - diff --git a/alsa-plugins.spec b/alsa-plugins.spec index c6cf4db..d63ee28 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.7 -Release: 2%{?dist} +Version: 1.1.8 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -267,6 +267,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Mon Jan 7 2019 Jaroslav Kysela - 1.1.8-1 +- Updated to 1.1.8 + * Wed Oct 24 2018 Jaroslav Kysela - 1.1.7-2 - Updated to 1.1.7 diff --git a/sources b/sources index 39f36d1..dfafc67 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.1.7.tar.bz2) = c3bb22ec3c5a167fb246cfc94131d53800e321b486ab743c3395a9d91dee0ff9703f6e4a2feaea5a4ee42a7e486d835d48ab880c784c5c34bb4eb5e9ded06d8e +SHA512 (alsa-plugins-1.1.8.tar.bz2) = bb1a4411921ec332f47b43515f6d3b4c03a01568854950b9b5c3f0d8172d9a0c4a5b3652bc64c62eae5ea3aaa5d95fe3d32c0a213fe99adf490a9807bcb58ecd From d4fe1a07c3accdcc9334efd917935b5b1c801a97 Mon Sep 17 00:00:00 2001 From: Igor Gnatenko Date: Mon, 28 Jan 2019 20:17:38 +0100 Subject: [PATCH 083/126] Remove obsolete Group tag References: https://fedoraproject.org/wiki/Changes/Remove_Group_Tag --- alsa-plugins.spec | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d63ee28..ce48ce9 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -11,7 +11,6 @@ Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed License: GPLv2+ and LGPLv2+ and BSD -Group: System Environment/Libraries URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Patch0: alsa-git.patch @@ -31,7 +30,6 @@ Requires: alsa-utils Requires: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description jack This plugin converts the ALSA API over JACK (Jack Audio Connection @@ -44,7 +42,6 @@ This plugin provides the PCM type "jack" Requires: alsa-utils BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description oss This plugin converts the ALSA API over OSS API. With this plugin, @@ -57,7 +54,6 @@ Requires: alsa-utils Requires: pulseaudio BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend -Group: System Environment/Libraries License: LGPLv2+ %description pulseaudio This plugin allows any program that uses the ALSA API to access a PulseAudio @@ -69,7 +65,6 @@ one for mixer control. Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA -Group: System Environment/Libraries License: GPLv2+ %description samplerate This plugin is an external rate converter using libsamplerate by Erik de @@ -79,7 +74,6 @@ Castro Lopo. Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description upmix The upmix plugin is an easy-to-use plugin for upmixing to 4 or @@ -90,7 +84,6 @@ by the slave PCM or explicitly via channel option. Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description vdownmix The vdownmix plugin is a downmixer from 4-6 channels to 2-channel @@ -100,7 +93,6 @@ surround". %package usbstream Summary: USB stream plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description usbstream The usbstream plugin is for snd-usb-us122l driver. It converts PCM @@ -108,7 +100,6 @@ stream to USB specific stream. %package arcamav Summary: Arcam AV amplifier plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description arcamav This plugin exposes the controls for an Arcam AV amplifier @@ -118,7 +109,6 @@ This plugin exposes the controls for an Arcam AV amplifier Requires: speex speexdsp BuildRequires: speex-devel speexdsp-devel Summary: Rate Converter Plugin Using Speex Resampler -Group: System Environment/Libraries License: LGPLv2+ %description speex The rate plugin is an external rate converter using the Speex resampler @@ -128,7 +118,6 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: dbus-devel Summary: Maemo plugin for ALSA -Group: System Environment/Libraries License: LGPLv2+ %description maemo This plugin converts the ALSA API over PCM task nodes protocol. In this way, From 32ecc30f9825369a56fbbefc30a110ee9fef3747 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 31 Jan 2019 13:13:07 +0000 Subject: [PATCH 084/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index ce48ce9..7029754 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Thu Jan 31 2019 Fedora Release Engineering - 1.1.8-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + * Mon Jan 7 2019 Jaroslav Kysela - 1.1.8-1 - Updated to 1.1.8 From fb10cdc15e498b8332f022ecc8371348a131a027 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 10 May 2019 10:25:32 +0200 Subject: [PATCH 085/126] updated to 1.1.9 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 7029754..db9deb4 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.8 -Release: 2%{?dist} +Version: 1.1.9 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Fri May 10 2019 Jaroslav Kysela - 1.1.9-1 +- Updated to 1.1.9 + * Thu Jan 31 2019 Fedora Release Engineering - 1.1.8-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild diff --git a/sources b/sources index dfafc67..395d02f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.1.8.tar.bz2) = bb1a4411921ec332f47b43515f6d3b4c03a01568854950b9b5c3f0d8172d9a0c4a5b3652bc64c62eae5ea3aaa5d95fe3d32c0a213fe99adf490a9807bcb58ecd +SHA512 (alsa-plugins-1.1.9.tar.bz2) = 1969dfe8f2bb4283e81a18da73d2f7f86d8788d1a8764d7195b4830b2f4704c208eacb50a1e26e20c9fe57e7d5bb06a004112d84cc86b4682b4180d2fec4d5d9 From fed87f5be2c851ef327be5cc1d6b0301bb01a4f7 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 24 Jul 2019 17:47:49 +0000 Subject: [PATCH 086/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index db9deb4..41255bb 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.9 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Jul 24 2019 Fedora Release Engineering - 1.1.9-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri May 10 2019 Jaroslav Kysela - 1.1.9-1 - Updated to 1.1.9 From bfaf0a02cd4fc33603ee5490c85acafb22a9fb1b Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Tue, 20 Aug 2019 14:00:51 -0500 Subject: [PATCH 087/126] Macroize %{_sysconfdir} --- alsa-plugins.spec | 53 +++++++++++++++++++++++++---------------------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 41255bb..19dd8ae 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.1.9 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -138,8 +138,8 @@ make %{?_smp_mflags} %install make install DESTDIR=%{buildroot} -mv %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf.example \ - %{buildroot}/etc/alsa/conf.d/99-pulseaudio-default.conf +mv %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example \ + %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf find %{buildroot} -name "*.la" -exec rm {} \; @@ -151,8 +151,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %if 0%{?with_jack} %files jack %doc COPYING COPYING.GPL doc/README-jack -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-jack.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-jack.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/50-jack.conf %dir %{_libdir}/alsa-lib @@ -161,8 +161,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files oss %doc COPYING COPYING.GPL doc/README-pcm-oss -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-oss.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-oss.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/50-oss.conf %dir %{_libdir}/alsa-lib @@ -175,16 +175,16 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-pulseaudio.conf -%config(noreplace) /etc/alsa/conf.d/99-pulseaudio-default.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pulseaudio.conf +%config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf %files samplerate %doc COPYING COPYING.GPL doc/samplerate.txt -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/10-samplerate.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/10-samplerate.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/10-samplerate.conf %dir %{_libdir}/alsa-lib @@ -196,8 +196,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files upmix %doc COPYING COPYING.GPL doc/upmix.txt -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/60-upmix.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/60-upmix.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/60-upmix.conf %dir %{_libdir}/alsa-lib @@ -205,8 +205,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files vdownmix %doc COPYING COPYING.GPL doc/vdownmix.txt -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/60-vdownmix.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/60-vdownmix.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/60-vdownmix.conf %dir %{_libdir}/alsa-lib @@ -214,8 +214,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files usbstream %doc COPYING COPYING.GPL -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/98-usb-stream.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/98-usb-stream.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/98-usb-stream.conf %dir %{_libdir}/alsa-lib @@ -223,8 +223,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files arcamav %doc COPYING COPYING.GPL doc/README-arcam-av -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/50-arcam-av-ctl.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/50-arcam-av-ctl.conf %dir %{_libdir}/alsa-lib @@ -232,9 +232,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files speex %doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/10-speexrate.conf -%config(noreplace) /etc/alsa/conf.d/60-speex.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/10-speexrate.conf +%config(noreplace) %{_sysconfdir}/alsa/conf.d/60-speex.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/10-speexrate.conf %{_datadir}/alsa/alsa.conf.d/60-speex.conf @@ -246,8 +246,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files maemo %doc COPYING COPYING.GPL doc/README-maemo -%dir /etc/alsa/conf.d -%config(noreplace) /etc/alsa/conf.d/98-maemo.conf +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/98-maemo.conf %dir %{_datadir}/alsa/alsa.conf.d %{_datadir}/alsa/alsa.conf.d/98-maemo.conf %dir %{_libdir}/alsa-lib @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Tue Aug 20 2019 Gwyn Ciesla - 1.1.9-3 +- macroize %{_sysconfdir}. + * Wed Jul 24 2019 Fedora Release Engineering - 1.1.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From ee58480d3b05e61a78851cc65059a3d3d0345f3c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 13 Nov 2019 16:59:51 +0100 Subject: [PATCH 088/126] updated to 1.2.1 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 19dd8ae..baf10fc 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.1.9 -Release: 3%{?dist} +Version: 1.2.1 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Nov 13 2019 Jaroslav Kysela - 1.2.1-1 +- Updated to 1.2.1 + * Tue Aug 20 2019 Gwyn Ciesla - 1.1.9-3 - macroize %{_sysconfdir}. diff --git a/sources b/sources index 395d02f..0be1a1c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.1.9.tar.bz2) = 1969dfe8f2bb4283e81a18da73d2f7f86d8788d1a8764d7195b4830b2f4704c208eacb50a1e26e20c9fe57e7d5bb06a004112d84cc86b4682b4180d2fec4d5d9 +SHA512 (alsa-plugins-1.2.1.tar.bz2) = a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de From 51f4f651b45bf06cb86c034550386e4f2ea1ba53 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 13 Nov 2019 21:44:03 +0100 Subject: [PATCH 089/126] correctly escape macro start in changelog --- alsa-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index baf10fc..42c7129 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -260,7 +260,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; - Updated to 1.2.1 * Tue Aug 20 2019 Gwyn Ciesla - 1.1.9-3 -- macroize %{_sysconfdir}. +- macroize %%{_sysconfdir}. * Wed Jul 24 2019 Fedora Release Engineering - 1.1.9-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild From f1c7a00d5aa59a056cb1a2f3001352cd2676f153 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 28 Jan 2020 11:27:42 +0000 Subject: [PATCH 090/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 42c7129..4ae111d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Tue Jan 28 2020 Fedora Release Engineering - 1.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Wed Nov 13 2019 Jaroslav Kysela - 1.2.1-1 - Updated to 1.2.1 From b31e35e3338c086ec43336ef9e68d8b4ea88b7a2 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 19 Feb 2020 13:25:58 +0100 Subject: [PATCH 091/126] updated to 1.2.2 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4ae111d..2477880 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.2.1 -Release: 2%{?dist} +Version: 1.2.2 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Feb 19 2020 Jaroslav Kysela - 1.2.2-1 +- Updated to 1.2.2 + * Tue Jan 28 2020 Fedora Release Engineering - 1.2.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild diff --git a/sources b/sources index 0be1a1c..d350ed8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.1.tar.bz2) = a49ef9290b66855112e301a5fd5a0932f13a50254e164f3340f2b342a36469532ee783beabfe5e95870dbf4cd81ca1e8d0415d94c8c7ee963133fb3c343721de +SHA512 (alsa-plugins-1.2.2.tar.bz2) = 25a7dfaa64be024447d889b5cde668f1308d197f54880548a82d50beb4ac0dbff33b415da1e26dc5229408c934247a9bd38acfb0f82ca388deac0d77ab3cdadb From 688a0502e4f5b5b6a752fe74274a29ae0237a863 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 3 Mar 2020 10:19:28 +0100 Subject: [PATCH 092/126] add simple tests --- tests/run_tests.sh | 12 ++++++++++++ tests/tests.yml | 11 +++++++++++ 2 files changed, 23 insertions(+) create mode 100755 tests/run_tests.sh create mode 100644 tests/tests.yml diff --git a/tests/run_tests.sh b/tests/run_tests.sh new file mode 100755 index 0000000..ff02118 --- /dev/null +++ b/tests/run_tests.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +set -ex + +# create patest user +adduser patest + +# run pulseaudio daemon +su - patest -c "pulseaudio --start --log-target=stderr" + +# run pulseaudio test (null sink) +su - patest -c "speaker-test -D pulse -l 1" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..d18fdf5 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,11 @@ +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - pulseaudio + tests: + - simple: + dir: . + run: ./run_tests.sh From 64af59dd12410e4f8b749206a90975f2fca197fe Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 27 Jul 2020 11:57:27 +0000 Subject: [PATCH 093/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 2477880..f5a3614 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.2 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Mon Jul 27 2020 Fedora Release Engineering - 1.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Wed Feb 19 2020 Jaroslav Kysela - 1.2.2-1 - Updated to 1.2.2 From 5ae51c83bb280041a39b3233a6ba7c6ae99fcb52 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 31 Jul 2020 23:55:53 +0000 Subject: [PATCH 094/126] - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f5a3614..8ec8ec3 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -256,6 +256,10 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Fri Jul 31 2020 Fedora Release Engineering - 1.2.2-3 +- Second attempt - Rebuilt for + https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Mon Jul 27 2020 Fedora Release Engineering - 1.2.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 0da4153b24ddc9ef43d29d30e79a5ba5815550fe Mon Sep 17 00:00:00 2001 From: Tom Stellard Date: Wed, 16 Dec 2020 23:24:49 +0000 Subject: [PATCH 095/126] Add BuildRequires: make https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 8ec8ec3..2548e1e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -117,6 +117,7 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: dbus-devel +BuildRequires: make Summary: Maemo plugin for ALSA License: LGPLv2+ %description maemo From 34f8d7dacfbb57c49ec99967f711bc1ecaf6f7e8 Mon Sep 17 00:00:00 2001 From: Rex Dieter Date: Mon, 4 Jan 2021 11:41:33 -0600 Subject: [PATCH 096/126] -pulseaudio: Requires: pulseaudio-daemon --- alsa-plugins.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 2548e1e..ee34d8d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.2 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -51,7 +51,7 @@ This plugin provides the PCM type "oss". %package pulseaudio Requires: alsa-utils -Requires: pulseaudio +Requires: pulseaudio-daemon BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend License: LGPLv2+ @@ -257,6 +257,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Mon Jan 04 2021 Rex Dieter - 1.2.2-4 +- -pulseaudio: Requires: pulseaudio-daemon + * Fri Jul 31 2020 Fedora Release Engineering - 1.2.2-3 - Second attempt - Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild From 874eabbcffca1a30bcb444b52566e2a8adccb184 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Tue, 26 Jan 2021 00:00:44 +0000 Subject: [PATCH 097/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index ee34d8d..f8cccde 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.2 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -257,6 +257,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Tue Jan 26 2021 Fedora Release Engineering - 1.2.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Jan 04 2021 Rex Dieter - 1.2.2-4 - -pulseaudio: Requires: pulseaudio-daemon From 8495dc43dd2c0014f2374b00a116a2bb39a55e51 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Mon, 10 May 2021 06:27:10 +0000 Subject: [PATCH 098/126] Modernize the spec file - Use bconds for conditional build logic - Use autosetup macro for unpacking + patch application - Use standard macros for building and installing files - Minor formatting fixups - Stop installing license files as documentation - Remove unnecessary scriptlets --- alsa-plugins.spec | 60 +++++++++++++++++++++++++++++------------------ 1 file changed, 37 insertions(+), 23 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index f8cccde..20a610b 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,7 +1,7 @@ %if 0%{?rhel} -%define with_jack 0 +%bcond_with jack %else -%define with_jack 1 +%bcond_without jack %endif Name: alsa-plugins @@ -24,13 +24,14 @@ functionality to the Linux operating system. This package includes plugins for ALSA. -%if 0%{?with_jack} +%if %{with jack} %package jack Requires: alsa-utils Requires: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA License: LGPLv2+ + %description jack This plugin converts the ALSA API over JACK (Jack Audio Connection Kit, http://jackit.sf.net) API. ALSA native applications can work @@ -42,7 +43,8 @@ This plugin provides the PCM type "jack" Requires: alsa-utils BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA -License: LGPLv2+ +License: LGPLv2+ + %description oss This plugin converts the ALSA API over OSS API. With this plugin, ALSA native apps can run on OSS drivers. @@ -55,6 +57,7 @@ Requires: pulseaudio-daemon BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend License: LGPLv2+ + %description pulseaudio This plugin allows any program that uses the ALSA API to access a PulseAudio sound daemon. In other words, native ALSA applications can play and record @@ -66,6 +69,7 @@ Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA License: GPLv2+ + %description samplerate This plugin is an external rate converter using libsamplerate by Erik de Castro Lopo. @@ -75,6 +79,7 @@ Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA License: LGPLv2+ + %description upmix The upmix plugin is an easy-to-use plugin for upmixing to 4 or 6-channel stream. The number of channels to be expanded is determined @@ -85,6 +90,7 @@ Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA License: LGPLv2+ + %description vdownmix The vdownmix plugin is a downmixer from 4-6 channels to 2-channel stereo headphone output. This plugin processes the input signals with @@ -94,6 +100,7 @@ surround". %package usbstream Summary: USB stream plugin for ALSA License: LGPLv2+ + %description usbstream The usbstream plugin is for snd-usb-us122l driver. It converts PCM stream to USB specific stream. @@ -101,6 +108,7 @@ stream to USB specific stream. %package arcamav Summary: Arcam AV amplifier plugin for ALSA License: LGPLv2+ + %description arcamav This plugin exposes the controls for an Arcam AV amplifier (see: http://www.arcam.co.uk/) as an ALSA mixer device. @@ -110,6 +118,7 @@ Requires: speex speexdsp BuildRequires: speex-devel speexdsp-devel Summary: Rate Converter Plugin Using Speex Resampler License: LGPLv2+ + %description speex The rate plugin is an external rate converter using the Speex resampler (aka Public Parrot Hack) by Jean-Marc Valin. The pcm plugin provides @@ -120,13 +129,13 @@ BuildRequires: dbus-devel BuildRequires: make Summary: Maemo plugin for ALSA License: LGPLv2+ + %description maemo This plugin converts the ALSA API over PCM task nodes protocol. In this way, ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %prep -%setup -q -n %{name}-%{version}%{?prever} -%patch0 -p1 -b .alsa-git +%autosetup -n %{name}-%{version}%{?prever} -p1 %build autoreconf -vif @@ -134,10 +143,10 @@ autoreconf -vif --with-speex=lib \ --enable-maemo-plugin \ --enable-maemo-resource-manager -make %{?_smp_mflags} +%make_build %install -make install DESTDIR=%{buildroot} +%make_install mv %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example \ %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf @@ -145,13 +154,10 @@ mv %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example \ find %{buildroot} -name "*.la" -exec rm {} \; -%post -p /sbin/ldconfig - -%postun -p /sbin/ldconfig - -%if 0%{?with_jack} +%if %{with jack} %files jack -%doc COPYING COPYING.GPL doc/README-jack +%license COPYING COPYING.GPL +%doc doc/README-jack %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-jack.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -161,7 +167,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %endif %files oss -%doc COPYING COPYING.GPL doc/README-pcm-oss +%license COPYING COPYING.GPL +%doc doc/README-pcm-oss %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-oss.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -171,7 +178,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_oss.so %files pulseaudio -%doc COPYING COPYING.GPL doc/README-pulse +%license COPYING COPYING.GPL +%doc doc/README-pulse %dir %{_libdir}/alsa-lib %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so @@ -183,7 +191,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_datadir}/alsa/alsa.conf.d/50-pulseaudio.conf %files samplerate -%doc COPYING COPYING.GPL doc/samplerate.txt +%license COPYING COPYING.GPL +%doc doc/samplerate.txt %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-samplerate.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -196,7 +205,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_rate_samplerate_order.so %files upmix -%doc COPYING COPYING.GPL doc/upmix.txt +%license COPYING COPYING.GPL +%doc doc/upmix.txt %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-upmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -205,7 +215,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_upmix.so %files vdownmix -%doc COPYING COPYING.GPL doc/vdownmix.txt +%license COPYING COPYING.GPL +%doc doc/vdownmix.txt %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-vdownmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -214,7 +225,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_vdownmix.so %files usbstream -%doc COPYING COPYING.GPL +%license COPYING COPYING.GPL %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-usb-stream.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -223,7 +234,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_usb_stream.so %files arcamav -%doc COPYING COPYING.GPL doc/README-arcam-av +%license COPYING COPYING.GPL +%doc doc/README-arcam-av %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -232,7 +244,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_ctl_arcam_av.so %files speex -%doc COPYING COPYING.GPL doc/speexdsp.txt doc/speexrate.txt +%license COPYING COPYING.GPL +%doc doc/speexdsp.txt doc/speexrate.txt %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-speexrate.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-speex.conf @@ -246,7 +259,8 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_rate_speexrate_medium.so %files maemo -%doc COPYING COPYING.GPL doc/README-maemo +%license COPYING COPYING.GPL +%doc doc/README-maemo %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-maemo.conf %dir %{_datadir}/alsa/alsa.conf.d From cd50c48b4a6ed5e070de3a51caf51979165267bf Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sun, 30 May 2021 10:18:20 +0200 Subject: [PATCH 099/126] updated to 1.2.5 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 20a610b..d7b28db 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.2.2 -Release: 5%{?dist} +Version: 1.2.5 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Sun May 30 2021 Jaroslav Kysela - 1.2.5-1 +- Updated to 1.2.5 + * Tue Jan 26 2021 Fedora Release Engineering - 1.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild diff --git a/sources b/sources index d350ed8..e980921 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.2.tar.bz2) = 25a7dfaa64be024447d889b5cde668f1308d197f54880548a82d50beb4ac0dbff33b415da1e26dc5229408c934247a9bd38acfb0f82ca388deac0d77ab3cdadb +SHA512 (alsa-plugins-1.2.5.tar.bz2) = 32aa475ec4af040861c2bfb01eac71042242d2109d3c5102d0111f3327e3f6c9031c32cbb50eb4b6568a6bd9408691a047a39972f09d6087e31ec11f19ddc9cf From f759f274460986cfc9ac5e70f53fee16355f5fe9 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Sun, 30 May 2021 10:20:32 +0200 Subject: [PATCH 100/126] fix spec file (add modernize line to changelog) --- alsa-plugins.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d7b28db..b752485 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -273,6 +273,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog * Sun May 30 2021 Jaroslav Kysela - 1.2.5-1 - Updated to 1.2.5 +- Modernize the spec file (Neal Gompa) * Tue Jan 26 2021 Fedora Release Engineering - 1.2.2-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild From c10788ff7f678b96d48246dc0ab5460c4193b9b9 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 12:32:55 +0000 Subject: [PATCH 101/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering From e81a95290080a2eda54570fb9db9763bf78408cf Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 21 Jul 2021 17:28:20 +0000 Subject: [PATCH 102/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index b752485..2615d3e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.5 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Jul 21 2021 Fedora Release Engineering - 1.2.5-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + * Sun May 30 2021 Jaroslav Kysela - 1.2.5-1 - Updated to 1.2.5 - Modernize the spec file (Neal Gompa) From b145fad81df75fdd50a5221ca65bc595b8a2637a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 6 Dec 2021 13:37:45 +0100 Subject: [PATCH 103/126] updated to 1.2.6 --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 2615d3e..4868e2b 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.2.5 -Release: 2%{?dist} +Version: 1.2.6 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Mon Dec 6 2021 Jaroslav Kysela - 1.2.6-1 +- Updated to 1.2.6 + * Wed Jul 21 2021 Fedora Release Engineering - 1.2.5-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild diff --git a/sources b/sources index e980921..d101b57 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.5.tar.bz2) = 32aa475ec4af040861c2bfb01eac71042242d2109d3c5102d0111f3327e3f6c9031c32cbb50eb4b6568a6bd9408691a047a39972f09d6087e31ec11f19ddc9cf +SHA512 (alsa-plugins-1.2.6.tar.bz2) = ac54a6f227f1ca5f6e01e08d869e7c06f4bcd68f148932e1902a6fcf3e5ccd3667ac4d8c1a00b77e4b5cb27e17c01cf7526ded4aaf35c4b26fc69e14e6e341f9 From 1bbea1628b113f1a67ce3fb4f99f861ab0b72e33 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jan 2022 21:09:22 +0000 Subject: [PATCH 104/126] - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4868e2b..c26df0e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.6 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Jan 19 2022 Fedora Release Engineering - 1.2.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + * Mon Dec 6 2021 Jaroslav Kysela - 1.2.6-1 - Updated to 1.2.6 From a40cc5bfa98d284035fbe5abd85c9572eddb527f Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Fri, 17 Jun 2022 12:11:41 +0200 Subject: [PATCH 105/126] updated to 1.2.7.1 Signed-off-by: Jaroslav Kysela --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index c26df0e..292f91f 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -5,8 +5,8 @@ %endif Name: alsa-plugins -Version: 1.2.6 -Release: 2%{?dist} +Version: 1.2.7.1 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Fri Jun 17 2022 Jaroslav Kysela - 1.2.7.1-1 +- Updated to 1.2.7.1 + * Wed Jan 19 2022 Fedora Release Engineering - 1.2.6-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/sources b/sources index d101b57..5daf78e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.6.tar.bz2) = ac54a6f227f1ca5f6e01e08d869e7c06f4bcd68f148932e1902a6fcf3e5ccd3667ac4d8c1a00b77e4b5cb27e17c01cf7526ded4aaf35c4b26fc69e14e6e341f9 +SHA512 (alsa-plugins-1.2.7.1.tar.bz2) = 437c05a7e0175594768fd6a9a6d1a158bb4a01a7de6a42c2bd468d9381e01b64d385ddfac7d87baf84fe13cb4e65dc24da643940f416d4b191c528728822d964 From 72b3db12ecb13ec8d81c1de6f9a41aca3252ef98 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 20 Jul 2022 20:41:04 +0000 Subject: [PATCH 106/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 292f91f..d337f13 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Jul 20 2022 Fedora Release Engineering - 1.2.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + * Fri Jun 17 2022 Jaroslav Kysela - 1.2.7.1-1 - Updated to 1.2.7.1 From cdeba9c07877756aa4fff34f91abf0980d9eecfd Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 18 Jan 2023 21:37:46 +0000 Subject: [PATCH 107/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d337f13..4c49e53 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -6,7 +6,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -271,6 +271,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %changelog +* Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + * Wed Jul 20 2022 Fedora Release Engineering - 1.2.7.1-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild From 77a574b655abac5c165471b9bb946182cae2c0d6 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 1 Mar 2023 01:45:44 +0000 Subject: [PATCH 108/126] Remove or soften excess dependencies The alsa-utils dependencies were added to resolve directory ownership, but the plugins do not require the utils. Instead, just have the plugins co-own /etc/alsa. The hard requires on JACK and PulseAudio daemons (nowadays both provided by PipeWire) are not strictly necessary, e.g. in flatpak builds where the host instance is used over a socket connection. Fixes: https://src.fedoraproject.org/rpms/alsa-plugins/pull-request/6 --- alsa-plugins.spec | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4c49e53..3be9afa 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -26,8 +26,7 @@ This package includes plugins for ALSA. %if %{with jack} %package jack -Requires: alsa-utils -Requires: jack-audio-connection-kit +Recommends: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA License: LGPLv2+ @@ -40,7 +39,6 @@ This plugin provides the PCM type "jack" %endif %package oss -Requires: alsa-utils BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA License: LGPLv2+ @@ -52,8 +50,7 @@ ALSA native apps can run on OSS drivers. This plugin provides the PCM type "oss". %package pulseaudio -Requires: alsa-utils -Requires: pulseaudio-daemon +Recommends: pulseaudio-daemon BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend License: LGPLv2+ @@ -65,7 +62,6 @@ sound across a network. There are two plugins in the suite, one for PCM and one for mixer control. %package samplerate -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA License: GPLv2+ @@ -75,7 +71,6 @@ This plugin is an external rate converter using libsamplerate by Erik de Castro Lopo. %package upmix -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA License: LGPLv2+ @@ -86,7 +81,6 @@ The upmix plugin is an easy-to-use plugin for upmixing to 4 or by the slave PCM or explicitly via channel option. %package vdownmix -Requires: alsa-utils BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA License: LGPLv2+ @@ -158,6 +152,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files jack %license COPYING COPYING.GPL %doc doc/README-jack +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-jack.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -169,6 +164,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files oss %license COPYING COPYING.GPL %doc doc/README-pcm-oss +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-oss.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -184,6 +180,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_pcm_pulse.so %{_libdir}/alsa-lib/libasound_module_ctl_pulse.so %{_libdir}/alsa-lib/libasound_module_conf_pulse.so +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-pulseaudio.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf @@ -193,6 +190,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files samplerate %license COPYING COPYING.GPL %doc doc/samplerate.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-samplerate.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -207,6 +205,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files upmix %license COPYING COPYING.GPL %doc doc/upmix.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-upmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -217,6 +216,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files vdownmix %license COPYING COPYING.GPL %doc doc/vdownmix.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-vdownmix.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -226,6 +226,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files usbstream %license COPYING COPYING.GPL +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-usb-stream.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -236,6 +237,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files arcamav %license COPYING COPYING.GPL %doc doc/README-arcam-av +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/50-arcam-av-ctl.conf %dir %{_datadir}/alsa/alsa.conf.d @@ -246,6 +248,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files speex %license COPYING COPYING.GPL %doc doc/speexdsp.txt doc/speexrate.txt +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/10-speexrate.conf %config(noreplace) %{_sysconfdir}/alsa/conf.d/60-speex.conf @@ -261,6 +264,7 @@ find %{buildroot} -name "*.la" -exec rm {} \; %files maemo %license COPYING COPYING.GPL %doc doc/README-maemo +%dir %{_sysconfdir}/alsa %dir %{_sysconfdir}/alsa/conf.d %config(noreplace) %{_sysconfdir}/alsa/conf.d/98-maemo.conf %dir %{_datadir}/alsa/alsa.conf.d From 2dd8d24116dc8b595cce672b928946975ddf9a68 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Wed, 1 Mar 2023 10:25:00 +0100 Subject: [PATCH 109/126] Install alsa-utils in the run_tests.sh The previous patch removed the hard alsa-utils dependency, so the alsa-utils package must be installed manually. --- tests/run_tests.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/run_tests.sh b/tests/run_tests.sh index ff02118..8148361 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -2,6 +2,9 @@ set -ex +# install speaker-test +dnf install -y alsa-utils + # create patest user adduser patest From 004813eb8f6782aa839eadbd9554ce536e59269b Mon Sep 17 00:00:00 2001 From: Peter Robinson Date: Tue, 17 Aug 2021 14:46:42 +0000 Subject: [PATCH 110/126] Enable support for AVTP Fixes: https://src.fedoraproject.org/rpms/alsa-plugins/pull-request/4 --- alsa-plugins.spec | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 3be9afa..d557e1d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -16,6 +16,7 @@ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz Patch0: alsa-git.patch BuildRequires: autoconf automake libtool +BuildRequires: make BuildRequires: alsa-lib-devel %description @@ -39,7 +40,6 @@ This plugin provides the PCM type "jack" %endif %package oss -BuildRequires: alsa-lib-devel Summary: Oss PCM output plugin for ALSA License: LGPLv2+ @@ -120,7 +120,6 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: dbus-devel -BuildRequires: make Summary: Maemo plugin for ALSA License: LGPLv2+ @@ -128,6 +127,15 @@ License: LGPLv2+ This plugin converts the ALSA API over PCM task nodes protocol. In this way, ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. +%package avtp +BuildRequires: libavtp-devel +Summary: Audio Video Transport Protocol (AVTP) plugin for ALSA +License: LGPLv2+ + +%description avtp +This plugin supports Audio Video Transport Protocol (AVTP) as specified in +IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. + %prep %autosetup -n %{name}-%{version}%{?prever} -p1 @@ -145,7 +153,7 @@ autoreconf -vif mv %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf.example \ %{buildroot}%{_sysconfdir}/alsa/conf.d/99-pulseaudio-default.conf -find %{buildroot} -name "*.la" -exec rm {} \; +find %{buildroot} -name "*.la" -delete %if %{with jack} @@ -273,6 +281,9 @@ find %{buildroot} -name "*.la" -exec rm {} \; %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so +%files avtp +%license COPYING COPYING.GPL +%{_libdir}/alsa-lib/libasound_module_pcm_aaf.so %changelog * Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 From 113c4a7a2a0cd075d72c4994a2e2c07e3c04e4a0 Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Wed, 15 Feb 2023 03:30:38 +0000 Subject: [PATCH 111/126] Enable a52 and lavrate plugins Fixes: https://src.fedoraproject.org/rpms/alsa-plugins/pull-request/5 --- alsa-plugins.spec | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d557e1d..dee2e0e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -136,6 +136,26 @@ License: LGPLv2+ This plugin supports Audio Video Transport Protocol (AVTP) as specified in IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. +%package a52 +BuildRequires: ffmpeg-free-devel +Obsoletes: alsa-plugins-freeworld-a52 <= %{version}-%{release} +Summary: A52 output plugin for ALSA using libavcodec +License: LGPLv2+ + +%description a52 +This plugin converts S16 linear format to A52 compressed stream and +send to an SPDIF output. It requires libavcodec for encoding the +audio stream. + +%package lavrate +BuildRequires: ffmpeg-free-devel +Obsoletes: alsa-plugins-freeworld-lavrate <= %{version}-%{release} +Summary: Rate converter plugin for ALSA using libavcodec +License: LGPLv2+ + +%description lavrate +The plugin uses ffmpeg audio resample library to convert audio rates. + %prep %autosetup -n %{name}-%{version}%{?prever} -p1 @@ -285,6 +305,32 @@ find %{buildroot} -name "*.la" -delete %license COPYING COPYING.GPL %{_libdir}/alsa-lib/libasound_module_pcm_aaf.so +%files a52 +%license COPYING COPYING.GPL +%doc doc/a52.txt +%dir %{_sysconfdir}/alsa +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/60-a52-encoder.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/60-a52-encoder.conf +%dir %{_libdir}/alsa-lib +%{_libdir}/alsa-lib/libasound_module_pcm_a52.so + +%files lavrate +%license COPYING COPYING.GPL +%doc doc/lavrate.txt +%dir %{_sysconfdir}/alsa +%dir %{_sysconfdir}/alsa/conf.d +%config(noreplace) %{_sysconfdir}/alsa/conf.d/10-rate-lav.conf +%dir %{_datadir}/alsa/alsa.conf.d +%{_datadir}/alsa/alsa.conf.d/10-rate-lav.conf +%dir %{_libdir}/alsa-lib +%{_libdir}/alsa-lib/libasound_module_rate_lavrate.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_fast.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_faster.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_high.so +%{_libdir}/alsa-lib/libasound_module_rate_lavrate_higher.so + %changelog * Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 4960e7e66a154f856101d4a48d6092970b4fcd9a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 6 Mar 2023 16:57:52 +0100 Subject: [PATCH 112/126] Do not build ffmpeg plugins for RHEL --- alsa-plugins.spec | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index dee2e0e..99b18c4 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,7 +1,9 @@ %if 0%{?rhel} %bcond_with jack +%bcond_with ffmpeg %else %bcond_without jack +%bcond_without ffmpeg %endif Name: alsa-plugins @@ -136,6 +138,7 @@ License: LGPLv2+ This plugin supports Audio Video Transport Protocol (AVTP) as specified in IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. +%if %{with ffmpeg} %package a52 BuildRequires: ffmpeg-free-devel Obsoletes: alsa-plugins-freeworld-a52 <= %{version}-%{release} @@ -155,6 +158,7 @@ License: LGPLv2+ %description lavrate The plugin uses ffmpeg audio resample library to convert audio rates. +%endif %prep %autosetup -n %{name}-%{version}%{?prever} -p1 @@ -305,6 +309,7 @@ find %{buildroot} -name "*.la" -delete %license COPYING COPYING.GPL %{_libdir}/alsa-lib/libasound_module_pcm_aaf.so +%if %{with ffmpeg} %files a52 %license COPYING COPYING.GPL %doc doc/a52.txt @@ -330,6 +335,7 @@ find %{buildroot} -name "*.la" -delete %{_libdir}/alsa-lib/libasound_module_rate_lavrate_faster.so %{_libdir}/alsa-lib/libasound_module_rate_lavrate_high.so %{_libdir}/alsa-lib/libasound_module_rate_lavrate_higher.so +%endif %changelog * Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 From c2a6e842a68b92a91a23ad5203a9e33f97e5049b Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Mon, 6 Mar 2023 17:10:14 +0100 Subject: [PATCH 113/126] 1.2.7.1-4 release --- alsa-plugins.spec | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 99b18c4..60e6f2d 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -8,7 +8,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -338,6 +338,12 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Mon Mar 6 2023 Jaroslav Kysela - 1.2.7.1-4 +- Enable avtp plugin - Peter Robinson +- Enable a52 and livrate plugins - Yaakov Selkowitz +- Remove or soften excess dependendencies - Yaakov Selkowitz +- CI test & RHEL cleanups + * Wed Jan 18 2023 Fedora Release Engineering - 1.2.7.1-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild From 815faf58a930d97de5f8f6978e1ac6c2179fa58a Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 7 Mar 2023 17:23:48 +0100 Subject: [PATCH 114/126] fix typo in changelog --- alsa-plugins.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 60e6f2d..67f539c 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -340,7 +340,7 @@ find %{buildroot} -name "*.la" -delete %changelog * Mon Mar 6 2023 Jaroslav Kysela - 1.2.7.1-4 - Enable avtp plugin - Peter Robinson -- Enable a52 and livrate plugins - Yaakov Selkowitz +- Enable a52 and lavrate plugins - Yaakov Selkowitz - Remove or soften excess dependendencies - Yaakov Selkowitz - CI test & RHEL cleanups From ebbf01ca9cb82319548d0a3a2a182f27517eec07 Mon Sep 17 00:00:00 2001 From: Neal Gompa Date: Sun, 12 Mar 2023 11:40:30 -0400 Subject: [PATCH 115/126] Rebuild for ffmpeg 6.0 --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 67f539c..33bdf0e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -8,7 +8,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ # pph plugin is BSD-like licensed @@ -338,6 +338,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Sun Mar 12 2023 Neal Gompa - 1.2.7.1-5 +- Rebuild for ffmpeg 6.0 + * Mon Mar 6 2023 Jaroslav Kysela - 1.2.7.1-4 - Enable avtp plugin - Peter Robinson - Enable a52 and lavrate plugins - Yaakov Selkowitz From 1794a4347c0a1d4b83c768197e7b7b4e24712115 Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 6 Jun 2023 20:19:07 +0200 Subject: [PATCH 116/126] update to SPDX licenses --- alsa-plugins.spec | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 33bdf0e..a5bb52e 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -8,11 +8,11 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins -# All packages are LGPLv2+ with the exception of samplerate which is GPLv2+ -# pph plugin is BSD-like licensed -License: GPLv2+ and LGPLv2+ and BSD +# All packages are LGPL-2.1-or-later with the exception of samplerate +# which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed +License: GPL-2.0-or-later and LGPL-2.1-or-later and BSD-3-Clause URL: http://www.alsa-project.org/ Source0: ftp://ftp.alsa-project.org/pub/plugins/%{name}-%{version}.tar.bz2 Patch0: alsa-git.patch @@ -32,7 +32,7 @@ This package includes plugins for ALSA. Recommends: jack-audio-connection-kit BuildRequires: jack-audio-connection-kit-devel Summary: Jack PCM output plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description jack This plugin converts the ALSA API over JACK (Jack Audio Connection @@ -43,7 +43,7 @@ This plugin provides the PCM type "jack" %package oss Summary: Oss PCM output plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description oss This plugin converts the ALSA API over OSS API. With this plugin, @@ -55,7 +55,7 @@ This plugin provides the PCM type "oss". Recommends: pulseaudio-daemon BuildRequires: pulseaudio-libs-devel Summary: Alsa to PulseAudio backend -License: LGPLv2+ +License: LGPL-2.1-or-later %description pulseaudio This plugin allows any program that uses the ALSA API to access a PulseAudio @@ -66,7 +66,7 @@ one for mixer control. %package samplerate BuildRequires: libsamplerate-devel Summary: External rate converter plugin for ALSA -License: GPLv2+ +License: GPL-2.0-or-later %description samplerate This plugin is an external rate converter using libsamplerate by Erik de @@ -75,7 +75,7 @@ Castro Lopo. %package upmix BuildRequires: libsamplerate-devel Summary: Upmixer channel expander plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description upmix The upmix plugin is an easy-to-use plugin for upmixing to 4 or @@ -85,7 +85,7 @@ by the slave PCM or explicitly via channel option. %package vdownmix BuildRequires: libsamplerate-devel Summary: Downmixer to stereo plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description vdownmix The vdownmix plugin is a downmixer from 4-6 channels to 2-channel @@ -95,7 +95,7 @@ surround". %package usbstream Summary: USB stream plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description usbstream The usbstream plugin is for snd-usb-us122l driver. It converts PCM @@ -103,7 +103,7 @@ stream to USB specific stream. %package arcamav Summary: Arcam AV amplifier plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description arcamav This plugin exposes the controls for an Arcam AV amplifier @@ -113,7 +113,7 @@ This plugin exposes the controls for an Arcam AV amplifier Requires: speex speexdsp BuildRequires: speex-devel speexdsp-devel Summary: Rate Converter Plugin Using Speex Resampler -License: LGPLv2+ +License: LGPL-2.1-or-later %description speex The rate plugin is an external rate converter using the Speex resampler @@ -123,7 +123,7 @@ pre-processing of a mono stream like denoise using libspeex DSP API. %package maemo BuildRequires: dbus-devel Summary: Maemo plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description maemo This plugin converts the ALSA API over PCM task nodes protocol. In this way, @@ -132,7 +132,7 @@ ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. %package avtp BuildRequires: libavtp-devel Summary: Audio Video Transport Protocol (AVTP) plugin for ALSA -License: LGPLv2+ +License: LGPL-2.1-or-later %description avtp This plugin supports Audio Video Transport Protocol (AVTP) as specified in @@ -143,7 +143,7 @@ IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. BuildRequires: ffmpeg-free-devel Obsoletes: alsa-plugins-freeworld-a52 <= %{version}-%{release} Summary: A52 output plugin for ALSA using libavcodec -License: LGPLv2+ +License: LGPL-2.1-or-later %description a52 This plugin converts S16 linear format to A52 compressed stream and @@ -154,7 +154,7 @@ audio stream. BuildRequires: ffmpeg-free-devel Obsoletes: alsa-plugins-freeworld-lavrate <= %{version}-%{release} Summary: Rate converter plugin for ALSA using libavcodec -License: LGPLv2+ +License: LGPL-2.1-or-later %description lavrate The plugin uses ffmpeg audio resample library to convert audio rates. @@ -338,6 +338,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Tue Jun 6 2023 Jaroslav Kysela - 1.2.7.1-6 +- change to SPDX licenses + * Sun Mar 12 2023 Neal Gompa - 1.2.7.1-5 - Rebuild for ffmpeg 6.0 From fd88ccdb6dc5c77e1ba676bfff8158822e38bd0b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 19 Jul 2023 13:09:44 +0000 Subject: [PATCH 117/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild Signed-off-by: Fedora Release Engineering --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index a5bb52e..4e52d88 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -8,7 +8,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 6%{?dist} +Release: 7%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -338,6 +338,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Wed Jul 19 2023 Fedora Release Engineering - 1.2.7.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + * Tue Jun 6 2023 Jaroslav Kysela - 1.2.7.1-6 - change to SPDX licenses From 443ab57436436e74b0bb8eaa8ddc5b134f069fcd Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Fri, 25 Aug 2023 00:25:07 -0400 Subject: [PATCH 118/126] Disable avtp plugin in RHEL builds This avoids the libavtp build dependency for a plugin that is not due to be shipped in RHEL. --- alsa-plugins.spec | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 4e52d88..0fda53f 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -1,14 +1,16 @@ %if 0%{?rhel} +%bcond_with avtp %bcond_with jack %bcond_with ffmpeg %else +%bcond_without avtp %bcond_without jack %bcond_without ffmpeg %endif Name: alsa-plugins Version: 1.2.7.1 -Release: 7%{?dist} +Release: 8%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -129,6 +131,7 @@ License: LGPL-2.1-or-later This plugin converts the ALSA API over PCM task nodes protocol. In this way, ALSA native applications can run over DSP Gateway and use DSP PCM task nodes. +%if %{with avtp} %package avtp BuildRequires: libavtp-devel Summary: Audio Video Transport Protocol (AVTP) plugin for ALSA @@ -137,6 +140,7 @@ License: LGPL-2.1-or-later %description avtp This plugin supports Audio Video Transport Protocol (AVTP) as specified in IEEE 1722-2016 spec. AVTP is part of the Audio/Video Broadcast using TSN. +%endif %if %{with ffmpeg} %package a52 @@ -305,9 +309,11 @@ find %{buildroot} -name "*.la" -delete %{_libdir}/alsa-lib/libasound_module_ctl_dsp_ctl.so %{_libdir}/alsa-lib/libasound_module_pcm_alsa_dsp.so +%if %{with avtp} %files avtp %license COPYING COPYING.GPL %{_libdir}/alsa-lib/libasound_module_pcm_aaf.so +%endif %if %{with ffmpeg} %files a52 @@ -338,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Fri Aug 25 2023 Yaakov Selkowitz - 1.2.7.1-8 +- Disable avtp plugin in RHEL builds + * Wed Jul 19 2023 Fedora Release Engineering - 1.2.7.1-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild From 274e99c7fa02dcafdec5f3568a2f756970beeca8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 19 Jan 2024 12:45:03 +0000 Subject: [PATCH 119/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0fda53f..1337c98 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 8%{?dist} +Release: 9%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Fri Jan 19 2024 Fedora Release Engineering - 1.2.7.1-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Aug 25 2023 Yaakov Selkowitz - 1.2.7.1-8 - Disable avtp plugin in RHEL builds From d6eaddf0d79dd72d20097be6422d69e880971167 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Mon, 22 Jan 2024 22:56:18 +0000 Subject: [PATCH 120/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 1337c98..0dd9c51 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.7.1 -Release: 9%{?dist} +Release: 10%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Mon Jan 22 2024 Fedora Release Engineering - 1.2.7.1-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + * Fri Jan 19 2024 Fedora Release Engineering - 1.2.7.1-9 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 2a044274ea36eb021879f55ce45ec4af655d464e Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela Date: Tue, 11 Jun 2024 13:37:50 +0200 Subject: [PATCH 121/126] Updated to 1.2.12 Signed-off-by: Jaroslav Kysela --- alsa-plugins.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 0dd9c51..37cd2ae 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -9,8 +9,8 @@ %endif Name: alsa-plugins -Version: 1.2.7.1 -Release: 10%{?dist} +Version: 1.2.12 +Release: 1%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 +- Updated to 1.2.12 + * Mon Jan 22 2024 Fedora Release Engineering - 1.2.7.1-10 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/sources b/sources index 5daf78e..53faed0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (alsa-plugins-1.2.7.1.tar.bz2) = 437c05a7e0175594768fd6a9a6d1a158bb4a01a7de6a42c2bd468d9381e01b64d385ddfac7d87baf84fe13cb4e65dc24da643940f416d4b191c528728822d964 +SHA512 (alsa-plugins-1.2.12.tar.bz2) = b2064eb32662662f422f6e7c71f503d82c68d7a7059c8197bdd61ee08735b3ee104c6a5f9e3451e81124634514b91fc89d05d33041d9c2bb0f55b3c2ac3271b1 From 36290d6324f0a102c989efac412ff8afd15bfb5a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 16:52:50 +0000 Subject: [PATCH 122/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 37cd2ae..41be1b7 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.12 -Release: 1%{?dist} +Release: 2%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Tue Jun 11 2024 Jaroslav Kysela - 1.2.12-1 - Updated to 1.2.12 From 2cebe39166b19045ed59b2d801f797588bdfc277 Mon Sep 17 00:00:00 2001 From: Fabio Valentini Date: Mon, 23 Sep 2024 16:45:53 +0200 Subject: [PATCH 123/126] Rebuild for ffmpeg 7 --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 41be1b7..1bd79bf 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.12 -Release: 2%{?dist} +Release: 3%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Mon Sep 23 2024 Fabio Valentini - 1.2.12-3 +- Rebuild for ffmpeg 7 + * Wed Jul 17 2024 Fedora Release Engineering - 1.2.12-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 2ad7204c9a8813e6bc1253314b4dc25a6ceec4f4 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 10:54:22 +0000 Subject: [PATCH 124/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 1bd79bf..601c3e8 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.12 -Release: 3%{?dist} +Release: 4%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 1.2.12-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Mon Sep 23 2024 Fabio Valentini - 1.2.12-3 - Rebuild for ffmpeg 7 From 47c675eb8b07867c62f1fe1380adcfbb78c7d6b1 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 16:55:09 +0000 Subject: [PATCH 125/126] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index 601c3e8..addf603 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.12 -Release: 4%{?dist} +Release: 5%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 1.2.12-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jan 16 2025 Fedora Release Engineering - 1.2.12-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From 992760550591940b1204f9cb6730630e3190f320 Mon Sep 17 00:00:00 2001 From: Dominik Mierzejewski Date: Wed, 1 Oct 2025 11:53:34 +0200 Subject: [PATCH 126/126] Rebuilt for FFmpeg 8 --- alsa-plugins.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/alsa-plugins.spec b/alsa-plugins.spec index addf603..8230da3 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -10,7 +10,7 @@ Name: alsa-plugins Version: 1.2.12 -Release: 5%{?dist} +Release: 6%{?dist} Summary: The Advanced Linux Sound Architecture (ALSA) Plugins # All packages are LGPL-2.1-or-later with the exception of samplerate # which is GPL-2.0-or-later, pph plugin is BSD-3-Clause licensed @@ -344,6 +344,9 @@ find %{buildroot} -name "*.la" -delete %endif %changelog +* Wed Oct 01 2025 Dominik Mierzejewski - 1.2.12-6 +- Rebuilt for FFmpeg 8 + * Wed Jul 23 2025 Fedora Release Engineering - 1.2.12-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild