diff --git a/alsa-plugins-a52.spec b/alsa-plugins-a52.spec index 9beefd1..88b8850 100644 --- a/alsa-plugins-a52.spec +++ b/alsa-plugins-a52.spec @@ -24,7 +24,7 @@ BuildRequires: alsa-devel ffmpeg-devel pkg-config Url: http://www.alsa-project.org/ Summary: A52 Encoding Plug-In for the ALSA Library Version: 1.0.18 -Release: 1 +Release: 4 License: GPL v2 or later; LGPL v2.1 or later Group: System/Libraries AutoReqProv: on diff --git a/alsa-plugins-git-fixes.diff b/alsa-plugins-git-fixes.diff new file mode 100644 index 0000000..925c3ea --- /dev/null +++ b/alsa-plugins-git-fixes.diff @@ -0,0 +1,90 @@ +diff --git a/pulse/ctl_pulse.c b/pulse/ctl_pulse.c +index 0b10628..8a5546c 100644 +--- a/pulse/ctl_pulse.c ++++ b/pulse/ctl_pulse.c +@@ -728,14 +728,11 @@ SND_CTL_PLUGIN_DEFINE_FUNC(pulse) + return 0; + + error: +- if (ctl->source) +- free(ctl->source); +- if (ctl->sink) +- free(ctl->sink); +- + if (ctl->p) + pulse_free(ctl->p); + ++ free(ctl->source); ++ free(ctl->sink); + free(ctl); + + return err; +diff --git a/pulse/pcm_pulse.c b/pulse/pcm_pulse.c +index 9a50aff..3d15ff0 100644 +--- a/pulse/pcm_pulse.c ++++ b/pulse/pcm_pulse.c +@@ -145,18 +145,15 @@ static int pulse_start(snd_pcm_ioplug_t * io) + + u = pa_stream_trigger(pcm->stream, pulse_stream_success_cb, + pcm->p); +- if (!u) { +- pa_operation_unref(o); +- err = -EIO; +- goto finish; +- } + + pcm->underrun = 0; + err_o = pulse_wait_operation(pcm->p, o); +- err_u = pulse_wait_operation(pcm->p, u); ++ if (u) ++ err_u = pulse_wait_operation(pcm->p, u); + + pa_operation_unref(o); +- pa_operation_unref(u); ++ if (u) ++ pa_operation_unref(u); + + if (err_o < 0 || err_u < 0) { + err = -EIO; +@@ -917,6 +914,7 @@ error: + if (pcm->p) + pulse_free(pcm->p); + ++ free(pcm->device); + free(pcm); + + return err; +diff --git a/pulse/pulse.c b/pulse/pulse.c +index 617851e..3940238 100644 +--- a/pulse/pulse.c ++++ b/pulse/pulse.c +@@ -188,9 +188,6 @@ snd_pulse_t *pulse_new(void) + if (!p->mainloop) + goto fail; + +- if (pa_threaded_mainloop_start(p->mainloop) < 0) +- goto fail; +- + if (pa_get_binary_name(proc, sizeof(proc))) + snprintf(buf, sizeof(buf), "ALSA plug-in [%s]", + pa_path_get_filename(proc)); +@@ -204,10 +201,19 @@ snd_pulse_t *pulse_new(void) + + pa_context_set_state_callback(p->context, context_state_cb, p); + ++ if (pa_threaded_mainloop_start(p->mainloop) < 0) ++ goto fail; ++ + return p; + + fail: + if (p->mainloop) ++ pa_threaded_mainloop_stop(p->mainloop); ++ ++ if (p->context) ++ pa_context_unref(p->context); ++ ++ if (p->mainloop) + pa_threaded_mainloop_free(p->mainloop); + + if (p->main_fd >= 0) diff --git a/alsa-plugins.changes b/alsa-plugins.changes index ec4dde1..4de2c17 100644 --- a/alsa-plugins.changes +++ b/alsa-plugins.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Wed Oct 15 12:20:29 CEST 2008 - tiwai@suse.de + +- Fix pulse plugin issues: + * broken capture returning -EIO (bnc#435058) + * small memory leak + ------------------------------------------------------------------- Wed Sep 10 18:00:38 CEST 2008 - tiwai@suse.de diff --git a/alsa-plugins.spec b/alsa-plugins.spec index d5a823c..f31a2c4 100644 --- a/alsa-plugins.spec +++ b/alsa-plugins.spec @@ -24,14 +24,14 @@ BuildRequires: alsa-devel dbus-1-devel libjack-devel libpulse-devel libsamplera Url: http://www.alsa-project.org/ Summary: Extra Plug-Ins for the ALSA Library Version: 1.0.18 -Release: 1 +Release: 4 License: BSD 3-Clause; LGPL v2.1 or later Group: System/Libraries AutoReqProv: on Source: ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-%{package_version}.tar.bz2 Source1: asound-pulse.conf Source2: alsa-pulse.conf -# Patch: alsa-plugins-git-fixes.diff +Patch: alsa-plugins-git-fixes.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -110,7 +110,7 @@ Authors: %prep %setup -q -n %{name}-%{package_version} -# %patch -p1 +%patch -p1 %build autoreconf -fi @@ -172,6 +172,10 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/alsa-lib/*.la %{_libdir}/alsa-lib/libasound_module_rate_samplerate*.so %changelog +* Wed Oct 15 2008 tiwai@suse.de +- Fix pulse plugin issues: + * broken capture returning -EIO (bnc#435058) + * small memory leak * Wed Sep 10 2008 tiwai@suse.de - updated to version 1.0.18rc3: * code cleanup in pulse pcm plugin