]> git.alsa-project.org Git - alsa-plugins.git/log
alsa-plugins.git
13 years agoRelease v1.0.26 v1.0.26
Jaroslav Kysela [Thu, 6 Sep 2012 07:52:58 +0000 (09:52 +0200)]
Release v1.0.26

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
13 years agopulse: Support 24-bit formats
Andrew Eikum [Mon, 20 Aug 2012 09:28:14 +0000 (11:28 +0200)]
pulse: Support 24-bit formats

These formats were introduced in PulseAudio 0.9.15. There aren't any
new formats supported since then, so this also brings the PulseAudio
plugin in sync with current PulseAudio.

Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agousb_stream: Fix build with glibc 2.16
Takashi Iwai [Tue, 31 Jul 2012 09:18:54 +0000 (11:18 +0200)]
usb_stream: Fix build with glibc 2.16

_GNU_SOURCE needs to be defined at first.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoRelease v1.0.25 v1.0.25
Jaroslav Kysela [Wed, 25 Jan 2012 07:57:07 +0000 (08:57 +0100)]
Release v1.0.25

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
13 years agoAdded missing configuration files for the pulse plugin
Jaroslav Kysela [Mon, 23 Jan 2012 15:46:48 +0000 (16:46 +0100)]
Added missing configuration files for the pulse plugin

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
13 years agojack: Fix revents for playback
Fons Adriaensen [Mon, 9 Jan 2012 17:18:10 +0000 (18:18 +0100)]
jack: Fix revents for playback

The following patch will make snd_pcm_poll_descriptors_revents()
return the correct value when used on a jack plugin device.
The current version returns POLLIN regardless of capture or
playback.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agoSet CLOEXEC flag for pipes in PulseAudio plugins
Chris Rankin [Tue, 27 Sep 2011 07:44:15 +0000 (09:44 +0200)]
Set CLOEXEC flag for pipes in PulseAudio plugins

I have noticed that Alsa / PulseAudio are leaking a couple of pipes after a
fork/exec, and have traced the leak to the following two plugins:

libasound_module_ctl_pulse.so
libasound_module_pcm_pulse.so

This is with Fedora 15. I have attached a patch for the problem.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
13 years agopulse: Install a PulseAudio config snippet into alsa.conf.d
Colin Guthrie [Fri, 16 Sep 2011 09:35:17 +0000 (10:35 +0100)]
pulse: Install a PulseAudio config snippet into alsa.conf.d

v2: Assing priorities to the config snippets.

Signed-off-by: Colin Guthrie <colin@mageia.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agopulse - Define a dummy PA_CHECK_VERSION() when not available
Takashi Iwai [Fri, 26 Aug 2011 07:43:11 +0000 (09:43 +0200)]
pulse - Define a dummy PA_CHECK_VERSION() when not available

An old version of PA doesn't define this macro, and gives a build error.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agopulse - only underrun if no more data has been written
Takashi Iwai [Tue, 23 Aug 2011 15:02:17 +0000 (17:02 +0200)]
pulse - only underrun if no more data has been written

Original patch from David Henningsson <david.henningsson@canonical.com>

If more data has already been written after the underrun, the underrun
will automatically end and therefore we should not report it or
restart the stream.

[ This patch adds a more check of underrun with a new PA function so
  that the underrun handles works more reliably.  As the feature is
  supported only in a recent version of PA, the underrun handling is
  enabled as default now for the new PA, while it's still disabled for
  older PA.  -- tiwai ]

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agojack: Fix hanging applications when using jack plugin
Kevin Ross [Thu, 4 Aug 2011 14:19:56 +0000 (16:19 +0200)]
jack: Fix hanging applications when using jack plugin

As described in issue #2727

   https://bugtrack.alsa-project.org/alsa-bug/view.php?id=2727

applications hang after some seconds when using the jack plugin.

Kevin Ross <kevin@familyross.net> writes:

   The cause: The plugin creates a pipe, so that the fd's could be
   polled to indicate completion of a transfer.  However, the call to
   write() blocks when playing audio, as nothing actually reads from the
   pipe, and it fills up until it blocks.

   Making the socket non-blocking fixes the problem, and testing with
   playback and capture both work properly for me now.

[Adrian: I've also tested Kevin's patch and confirm it works.]

Signed-off-by: Adrian Knoth <adi@drcomp.erfurt.thur.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agopulse: Set PA_CONTEXT_NOAUTOSPAWN when fallback is available
Takashi Iwai [Wed, 27 Jul 2011 07:32:12 +0000 (09:32 +0200)]
pulse: Set PA_CONTEXT_NOAUTOSPAWN when fallback is available

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agopulse: Add fallback option
Takashi Iwai [Tue, 26 Jul 2011 12:26:26 +0000 (14:26 +0200)]
pulse: Add fallback option

Added "fallback" option to give the PCM / controller name as a fallback
when connecting to PA server fails.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoa52: Fix build with older ffmpeg versions.
Colin Guthrie [Tue, 26 Apr 2011 21:55:44 +0000 (22:55 +0100)]
a52: Fix build with older ffmpeg versions.

This fixes a regression introduced in:
  40c129a160f37fe9488b2828d6299f99c269703e

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoPulse: Fix snd_pcm_avail returning 0 in some cases
David Henningsson [Thu, 21 Apr 2011 13:10:19 +0000 (15:10 +0200)]
Pulse: Fix snd_pcm_avail returning 0 in some cases

Due to a round-off error, snd_pcm_avail could in some cases
return 0 even though more data could be written to the stream.

Reported-by: Maarten Lankhorst <m.b.lankhorst@gmail.com>
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoa52 - Fix a52 codec with recent libavcodec updates
Joerg Reuter [Wed, 6 Apr 2011 14:36:11 +0000 (16:36 +0200)]
a52 - Fix a52 codec with recent libavcodec updates

The recent libavcodec is changed to accept only float input, but
the old ac3 encoder is still somehow working with a different name.
This patch makes it working again.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
14 years agoRelease v1.0.24 v1.0.24
Jaroslav Kysela [Wed, 26 Jan 2011 11:05:44 +0000 (12:05 +0100)]
Release v1.0.24

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
14 years agoFix README-jack (second channel)
Jaroslav Kysela [Wed, 17 Nov 2010 09:31:00 +0000 (10:31 +0100)]
Fix README-jack (second channel)

Reported-by: Raymond Yau <superquad.vortex2@gmail.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agopulse: Add handle_underrun option
Takashi Iwai [Fri, 9 Jul 2010 12:05:03 +0000 (14:05 +0200)]
pulse: Add handle_underrun option

Added a config option "handle_underrun" to specify whether pulse plugin
handles the underrun reported from PA.  The default value is now set to
false, i.e. it will ignore underruns in PA (for good reasons below).
You can take back to the old behavior by setting handle_underrun true.

The original idea was brought by David Henningsson <diwic@ubuntu.com>,
while this patch is simplified and makes the behavior configurable.

The reasons for avoiding underruns (cited from David's original patch):

 Reporting underruns to ALSA seems to do more bad than good, for these reasons:
 * If pulseaudio gets an underrun, the normal way to end that underrun is to
   feed it with more buffers. This is different from the ALSA way of dealing
   with underruns, which requires hardware buffer pointers to be reset.
 * In addition, underrun signals are delivered asynchronously from pulseaudio.
   This means that there might be more buffers on the way to pulseaudio when
   the underrun is reported, making the underrun obsolete. Unfortunately,
   there is currently no known way to determine whether this is the case or
   not.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agopulse: Fix invalid buffer pointer return value
David Henningsson [Sat, 9 Jan 2010 08:09:14 +0000 (09:09 +0100)]
pulse: Fix invalid buffer pointer return value

This patch improves recovering from underruns, and prevents hangs inside
snd_pcm_write* and snd_pcm_read* due to snd_pcm_avail* returning too
low values. It especially helps low latency situations.

Signed-off-by: David Henningsson <diwic@ubuntu.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoRelease v1.0.23 v1.0.23
Jaroslav Kysela [Fri, 16 Apr 2010 11:11:10 +0000 (13:11 +0200)]
Release v1.0.23

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agousb_stream: Allow user-set period-size and rate
Michaël Cadilhac [Mon, 22 Feb 2010 09:01:49 +0000 (10:01 +0100)]
usb_stream: Allow user-set period-size and rate

* usb_stream/pcm_usb_stream.c: Allow user-set period-size and rate.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agousb_stream: Check for NULL-ness before dereferencing
Michaël Cadilhac [Mon, 22 Feb 2010 08:59:26 +0000 (09:59 +0100)]
usb_stream: Check for NULL-ness before dereferencing

 * usb_stream/pcm_usb_stream.c (snd_pcm_us_stop): Prevent
   dereferencing when structure is not initialized.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoRelease v1.0.22 v1.0.22
Jaroslav Kysela [Wed, 16 Dec 2009 15:18:55 +0000 (16:18 +0100)]
Release v1.0.22

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
15 years agoupmix - Add 7.1 support
Christopher Schramm [Thu, 3 Dec 2009 16:18:48 +0000 (17:18 +0100)]
upmix - Add 7.1 support

Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoa52 - set channel layout with recent libavcodec
Anssi Hannula [Fri, 27 Nov 2009 15:15:46 +0000 (17:15 +0200)]
a52 - set channel layout with recent libavcodec

As of SVN r18631 (2009-04-20) A52 encoder of libavcodec outputs a
warning at run-time if channel layout is not specified.

Fix that by setting the channel layout in a52_prepare() when building
against libavcodec revision that supports this.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
15 years agoa52 - fix 5.1 channel order with recent libavcodec
Anssi Hannula [Fri, 27 Nov 2009 15:15:45 +0000 (17:15 +0200)]
a52 - fix 5.1 channel order with recent libavcodec

As of SVN r18540 libavcodec expects 5.1 channel audio with SMPTE channel
order. Fix ALSA a52 plugin to use that order when built against such a
libavcodec. Minor version of libavcodec was raised on the same day (Apr
17th 2009), so use that for the check.

Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoRelease v1.0.21 v1.0.21
Jaroslav Kysela [Mon, 31 Aug 2009 13:09:41 +0000 (15:09 +0200)]
Release v1.0.21

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agopulse: immediately trigger EIO when connection is dropped
Lennart Poettering [Tue, 4 Aug 2009 21:56:00 +0000 (23:56 +0200)]
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 <tiwai@suse.de>
16 years agopulse: rework object destruction paths a bit
Lennart Poettering [Tue, 4 Aug 2009 21:55:28 +0000 (23:55 +0200)]
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 <tiwai@suse.de>
16 years agopulse: unify stream/context state checks
Lennart Poettering [Tue, 4 Aug 2009 21:55:05 +0000 (23:55 +0200)]
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 <tiwai@suse.de>
16 years agopulse: get rid of redundant state variable
Lennart Poettering [Tue, 4 Aug 2009 21:54:42 +0000 (23:54 +0200)]
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 <tiwai@suse.de>
16 years agopulse: move a couple of PCM related functions from pulse.c to pcm_pulse.c
Lennart Poettering [Tue, 4 Aug 2009 21:54:24 +0000 (23:54 +0200)]
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 <tiwai@suse.de>
16 years agopulse: replace manual mainloop by pa_mainloop_iterate()
Lennart Poettering [Tue, 4 Aug 2009 21:53:51 +0000 (23:53 +0200)]
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 <tiwai@suse.de>
16 years agopulse: call pa_threaded_mainloop_wait() to handle spurious wakeups
Lennart Poettering [Fri, 31 Jul 2009 14:02:21 +0000 (16:02 +0200)]
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 <tiwai@suse.de>
16 years agopulse: unify destruction of snd_pulse_t
Lennart Poettering [Fri, 31 Jul 2009 14:02:05 +0000 (16:02 +0200)]
pulse: unify destruction of snd_pulse_t

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse: use PA_CONTEXT_IS_GOOD where applicable
Lennart Poettering [Fri, 31 Jul 2009 14:01:52 +0000 (16:01 +0200)]
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 <tiwai@suse.de>
16 years agopulse: get rid of a number of assert()s
Lennart Poettering [Fri, 31 Jul 2009 13:25:44 +0000 (15:25 +0200)]
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 <tiwai@suse.de>
16 years agooss - Add missing initialization of fragments
Takashi Iwai [Fri, 17 Jul 2009 10:00:18 +0000 (12:00 +0200)]
oss - Add missing initialization of fragments

The periods calculation was missing for initializing OSS fragments.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoalsa-plugins/pulse: Implement 'pause'.
Troy Moure [Thu, 18 Jun 2009 13:55:21 +0000 (14:55 +0100)]
alsa-plugins/pulse: Implement 'pause'.

Just cork or uncork the stream to pause or unpause it.

Signed-off-by: Troy Moure <twmoure@szypr.net>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agospeex - Add echo-cancelling option to speexdsp plugin
Takashi Iwai [Tue, 16 Jun 2009 06:04:22 +0000 (08:04 +0200)]
speex - Add echo-cancelling option to speexdsp plugin

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoAdd PCM rates query support for PCM rate plugins
Takashi Iwai [Tue, 2 Jun 2009 14:30:06 +0000 (16:30 +0200)]
Add PCM rates query support for PCM rate plugins

Follow the new PCM rate-plugin protocol to support the rate range
queries, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoRelease v1.0.20 v1.0.20
Jaroslav Kysela [Wed, 6 May 2009 07:07:28 +0000 (09:07 +0200)]
Release v1.0.20

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoarcam_av: Refactor event callback to facilitate addition of "numid" optimisation
Peter Stokes [Mon, 2 Mar 2009 11:24:13 +0000 (12:24 +0100)]
arcam_av: Refactor event callback to facilitate addition of "numid" optimisation

Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoarcam_av: Refactor control specifications to facilitate addition of "numid" optimisation
Peter Stokes [Mon, 23 Feb 2009 09:03:31 +0000 (10:03 +0100)]
arcam_av: Refactor control specifications to facilitate addition of "numid" optimisation

Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoarcam_av: Remove incorrect usage of the static SHM ID variable
Peter Stokes [Mon, 23 Feb 2009 09:02:50 +0000 (10:02 +0100)]
arcam_av: Remove incorrect usage of the static SHM ID variable

Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agooss: Add numid check in ctl plugin
Takashi Iwai [Tue, 17 Feb 2009 16:29:17 +0000 (17:29 +0100)]
oss: Add numid check in ctl plugin

Added the check of non-zero numid to optimize the look-up for the
element.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse: Add numid check in ctl plugin
Takashi Iwai [Tue, 17 Feb 2009 16:28:13 +0000 (17:28 +0100)]
pulse: Add numid check in ctl plugin

Added the check of non-zero numid and optimize the look-up for the
element.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoClean up Makefile.am
Takashi Iwai [Thu, 22 Jan 2009 11:15:56 +0000 (12:15 +0100)]
Clean up Makefile.am

Avoid unnecessary substitution and use simply SUBDIRS += ...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoAdd arcam-av plugin
Peter Stokes [Thu, 22 Jan 2009 11:09:44 +0000 (12:09 +0100)]
Add arcam-av plugin

Added arcam-av control plugin (type "arcam_av") for accessing
Arcam AV amplifier via ALSA mixer interface.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoAdd missing continue in config parser of pcm-upmix plugin (again)
Takashi Iwai [Wed, 21 Jan 2009 14:55:45 +0000 (15:55 +0100)]
Add missing continue in config parser of pcm-upmix plugin (again)

This change was reverted accidentally by the previous git-stash operation
on my local tree...

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoAdd Speex pre-processing plugin
Takashi Iwai [Wed, 21 Jan 2009 17:11:43 +0000 (18:11 +0100)]
Add Speex pre-processing plugin

Added Speex pre-processing filter plugin for denoise, AGC, etc.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoFix build of pph plugin with speex-1.2rc1
Takashi Iwai [Wed, 21 Jan 2009 15:53:36 +0000 (16:53 +0100)]
Fix build of pph plugin with speex-1.2rc1

The resampler code is moved to libspeexdsp instead of libspeex.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoAdd missing continue in config parser of pcm-upmix plugin
Takashi Iwai [Wed, 21 Jan 2009 14:55:45 +0000 (15:55 +0100)]
Add missing continue in config parser of pcm-upmix plugin

16 years agoAdd missing -lm to pph plugin
Takashi Iwai [Wed, 21 Jan 2009 08:36:57 +0000 (09:36 +0100)]
Add missing -lm to pph plugin

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agoRelease v1.0.19 v1.0.19
Jaroslav Kysela [Mon, 19 Jan 2009 11:17:21 +0000 (12:17 +0100)]
Release v1.0.19

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoAdded m4/attributes.m4 to extra dist.
Jaroslav Kysela [Mon, 5 Jan 2009 12:55:05 +0000 (13:55 +0100)]
Added m4/attributes.m4 to extra dist.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agoMark as static the functions not used outside their unit.
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 01:20:36 +0000 (02:20 +0100)]
Mark as static the functions not used outside their unit.

This allows the compiler to assume more about their interface, if at
all possible.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoMake some static tables and strings constants.
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 01:11:44 +0000 (02:11 +0100)]
Make some static tables and strings constants.

By doing this we move them from the .data section to .rodata setion,
or from .data.rel to .data.rel.ro.

The .rodata section is mapped directly from the on-disk file, which is
always a save, while .data.rel.ro is mapped directly when using
prelink, which is a save in a lot of cases.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years ago[RFC] Don't use pow() for calculating a power of 2, use shift instead.
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 01:00:58 +0000 (02:00 +0100)]
[RFC] Don't use pow() for calculating a power of 2, use shift instead.

This assumes that the power2 argument is in the 0-32 range, so this
need to be carefully checked.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoCleanup flags in maemo/Makefile.am
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 00:58:41 +0000 (01:58 +0100)]
Cleanup flags in maemo/Makefile.am

Pass libraries on LIBADD rather than LDFLAGS, don't link to libdl
since it's unneeded, no need to pass -shared since libtool's -module
takes care of that, the same goes for -fPIC -DPIC (which might not
even be the right option).

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoCheck for --no-undefined linker flag and use it.
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 00:54:21 +0000 (01:54 +0100)]
Check for --no-undefined linker flag and use it.

This adds extra safety that the built libraries will have all the
correct dependencies linked in.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoAdd the attributes.m4 macro file from xine/lscube.
Diego E. 'Flameeyes' Pettenò [Fri, 21 Nov 2008 00:52:40 +0000 (01:52 +0100)]
Add the attributes.m4 macro file from xine/lscube.

This is a shared macro file that is currently maintained in both xine
and lscube repositories and contains a series of utility macros to
check compiler and linker features.

Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoAllow opt-out from jack, pulseaudio and avcodec dependencies.
Diego 'Flameeyes' Pettenò [Thu, 13 Nov 2008 12:10:31 +0000 (13:10 +0100)]
Allow opt-out from jack, pulseaudio and avcodec dependencies.

Without this patch the jack, pulseaudio and avcodec discovery was
"automagic", without a way for the user to disable the relative
plugins if the dependencies are installed but the plugin is unwanted.

This patch does not change the default behaviour but allows to opt-out
from the plugins by passing the relative --without option at
./configure time.

Signed-off-by: Diego 'Flameeyes' Pettenò <flameeyes@gmail.com>
16 years agoRelease v1.0.18 v1.0.18
Jaroslav Kysela [Wed, 29 Oct 2008 12:42:13 +0000 (13:42 +0100)]
Release v1.0.18

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
16 years agopulse - Fix capture problem
Takashi Iwai [Wed, 15 Oct 2008 10:18:23 +0000 (12:18 +0200)]
pulse - Fix capture problem

In pulse_start(), pa_stream_trigger() may return NULL for the capture
stream, and this caused -EIO error.
Allow now pa_stream_trigger() returning NULL.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse - Fix destruction logic on failed construction
Lennart Poettering [Thu, 25 Sep 2008 19:03:01 +0000 (21:03 +0200)]
pulse - Fix destruction logic on failed construction

We need to stop the main loop first, then free the context and finally
free the mainloop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse - Fix destruction order on failure
Lennart Poettering [Thu, 25 Sep 2008 19:02:32 +0000 (21:02 +0200)]
pulse - Fix destruction order on failure

If we failure we should make sure the event loop thread is not running
and hence not accessing our source/sink strings before we free those
strings.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse - fix minor memory leak
Lennart Poettering [Thu, 25 Sep 2008 19:01:55 +0000 (21:01 +0200)]
pulse - fix minor memory leak

If we fail, we need to free the device string

Signed-off-by: Takashi Iwai <tiwai@suse.de>
16 years agopulse - Start PA event loop after we have created the context
Lennart Poettering [Thu, 25 Sep 2008 19:01:22 +0000 (21:01 +0200)]
pulse - Start PA event loop after we have created the context

We shouldn't be passing the main loop object to the pa_context while
that loop is running and not locked. Push the main loop startup after we
created the main loop.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoRelease v1.0.18rc3 v1.0.18rc3
Jaroslav Kysela [Tue, 9 Sep 2008 16:55:55 +0000 (18:55 +0200)]
Release v1.0.18rc3

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoA bag of clean-ups for pcm_ctl.c
Lennart Poettering [Wed, 3 Sep 2008 18:15:40 +0000 (20:15 +0200)]
A bag of clean-ups for pcm_ctl.c

Use more error checking where appropriate, optimize a few things, split common
code into seperate functions.

17 years agoRemove our own poll handler implementation entirely
Lennart Poettering [Wed, 3 Sep 2008 18:13:48 +0000 (20:13 +0200)]
Remove our own poll handler implementation entirely

Neither pcm_pulse.c nor ctl_pulse.c is using our poll handler implementation
anymore, so let's get rid of the common parts previously used by them, too

17 years agoDon't implement our own poll handlers, we can use the default ones
Lennart Poettering [Wed, 3 Sep 2008 18:12:36 +0000 (20:12 +0200)]
Don't implement our own poll handlers, we can use the default ones

As long as we have only a single fd to watch we can use the default poll
handler implementations. So let's do this.

17 years agoAdd const to our snd_pcm_ioplug_callback_t instances
Lennart Poettering [Wed, 3 Sep 2008 18:06:22 +0000 (20:06 +0200)]
Add const to our snd_pcm_ioplug_callback_t instances

The fields are constant so let's declare that they actually are.

17 years agoUse S32/FLOAT32 only where available in the PA libs
Lennart Poettering [Wed, 3 Sep 2008 18:04:26 +0000 (20:04 +0200)]
Use S32/FLOAT32 only where available in the PA libs

S32 samples are a recent addition to the PA API, so check if they are available
before actually using them.

17 years agoUse PA_STREAM_EARLY_REQUESTS if available
Lennart Poettering [Wed, 3 Sep 2008 17:59:12 +0000 (19:59 +0200)]
Use PA_STREAM_EARLY_REQUESTS if available

Use PA_STREAM_EARLY_REQUESTS if PA knows it. PA >= 0.9.12 learned this flag
which will make the buffering more similar to traditional fragment/period-based
scheduling. Instead of delaying buffer fillup until the latest moment possible
this will cause fillups much earlier.

This is useful for compatibility for broken ALSA clients that don't care about
'readability' of the ALSA fd but instead schedule audio via usleep() or a
similar call. (One exampler being mplayer)

17 years agoMake sure we always have a sensible channel mapping
Lennart Poettering [Wed, 3 Sep 2008 17:57:04 +0000 (19:57 +0200)]
Make sure we always have a sensible channel mapping

If PA doesn't know a default channel map for the specified number of channels,
synthesize one by extending a known one with a smaller channel number.

17 years agoAdjust buffering metrics to match what PA internally uses
Lennart Poettering [Wed, 3 Sep 2008 16:18:48 +0000 (18:18 +0200)]
Adjust buffering metrics to match what PA internally uses

Follow more closely the buffering metrics PA uses internally. This avoids
clamping of the metricsin PA internally.

17 years agoSave a byte of memory
Lennart Poettering [Wed, 3 Sep 2008 00:59:49 +0000 (02:59 +0200)]
Save a byte of memory

Since we only need a single char, we should allocate only a single char,
instead of a string of two bytes.

Woah! We're saving memory, baby!

17 years agoSplit out O_NONBLOCK setting into seperate function
Lennart Poettering [Wed, 3 Sep 2008 00:58:35 +0000 (02:58 +0200)]
Split out O_NONBLOCK setting into seperate function

Since we set O_NONBLOCK more than once, make it a nice and correct function.

17 years agoA bag of minor clean-ups for pulse.c
Lennart Poettering [Wed, 3 Sep 2008 00:57:15 +0000 (02:57 +0200)]
A bag of minor clean-ups for pulse.c

Use more error checking where appropriate, optimize a few things.

17 years agoDrop our own implementation of the poll() callbacks
Lennart Poettering [Wed, 3 Sep 2008 00:53:10 +0000 (02:53 +0200)]
Drop our own implementation of the poll() callbacks

The ctl extension interfaces support poll() via a single file descriptor
anyway, so let's use it instead of rolling our own poll support callbacks.

17 years agoMake pulse_ext_callback const
Lennart Poettering [Wed, 3 Sep 2008 00:51:43 +0000 (02:51 +0200)]
Make pulse_ext_callback const

We can make our instance of snd_ctl_ext_callback_t const without any problems,
so let's do it.

17 years agoA bag of minor clean ups for ctl_pulse.c
Lennart Poettering [Wed, 3 Sep 2008 00:50:06 +0000 (02:50 +0200)]
A bag of minor clean ups for ctl_pulse.c

Use more error checking where applicable, optimize a few things, use PulseAudio
API functions for comparing pa_cvolume structures.

17 years agoRework hardware parameter selection
Lennart Poettering [Thu, 21 Aug 2008 23:13:41 +0000 (01:13 +0200)]
Rework hardware parameter selection

Follow more closely the real limits of PulseAudio's API.

17 years agoRemove fix for bug 0003470
Lennart Poettering [Thu, 21 Aug 2008 23:12:18 +0000 (01:12 +0200)]
Remove fix for bug 0003470

This fix is completely broken (introduces new segfaults) and the assert is
tries to fix is superfluous anyway, so let's just remove this altogether.

17 years agoAdd more error checking
Lennart Poettering [Thu, 21 Aug 2008 23:11:10 +0000 (01:11 +0200)]
Add more error checking

Add a bit more error checking where necessary

17 years agoGet rid of pulse_poll_revents()
Lennart Poettering [Thu, 21 Aug 2008 22:08:53 +0000 (00:08 +0200)]
Get rid of pulse_poll_revents()

pulse_poll_revents() has no real purpose, so let's remove it.

17 years agoAdd trailing NUL character to snprintf output
Lennart Poettering [Thu, 21 Aug 2008 22:11:13 +0000 (00:11 +0200)]
Add trailing NUL character to snprintf output

snprintf doesn't necessarily append a trailing NUL to the strings it writes. So
let's do it explicitly.

17 years agoSupport S32 sample types
Lennart Poettering [Thu, 21 Aug 2008 22:06:27 +0000 (00:06 +0200)]
Support S32 sample types

PulseAudio has been supporting these for a while, so let's make use of them
here.

17 years agouse SNDERR instead of fprintf to print error messages
Lennart Poettering [Thu, 21 Aug 2008 22:05:47 +0000 (00:05 +0200)]
use SNDERR instead of fprintf to print error messages

We shouldn't spam on stderr unconditionally, so let's use ALSA subsystem for
printing errors.

17 years agoCall pa_context_disconnect() explicitly
Lennart Poettering [Thu, 21 Aug 2008 21:34:01 +0000 (23:34 +0200)]
Call pa_context_disconnect() explicitly

Make sure the pa_context is disconnected when we unref it. This is also done
implicitly when the last reference to the pa_context is dropped, but that might
be later then expected in case someone else took a reference on our object. To
make sure that the pa_context will than not make any call into our code,
disconnect it explicitly.

17 years agoDon't modify the SIGPIPE handler
Lennart Poettering [Thu, 21 Aug 2008 21:32:13 +0000 (23:32 +0200)]
Don't modify the SIGPIPE handler

Since quite a while (2 years or so) PulsAudio doesn't require SIGPIPE anymore
to be set to SIG_IGN. Since resetting this was incredibly ugly in the first
place it is now time to get rid of this.

17 years agoMake pulse_new() a proper C function
Lennart Poettering [Thu, 21 Aug 2008 21:30:23 +0000 (23:30 +0200)]
Make pulse_new() a proper C function

C functions taking no argument need a (void) as argument list. It's C++ where
() is allowed too.

17 years agoAdd Emacs-style /*-*- linux-c -*-*/ header comment
Lennart Poettering [Thu, 21 Aug 2008 21:20:15 +0000 (23:20 +0200)]
Add Emacs-style /*-*- linux-c -*-*/ header comment

As suggested in the kernel's CodingStyle document force Emacs into kernel-style
indenting to prevent future indenting chaos, at least for Emacs users.

17 years agoReindent to Linux kernel style
Lennart Poettering [Thu, 21 Aug 2008 21:16:08 +0000 (23:16 +0200)]
Reindent to Linux kernel style

The PulseAudio plugin was horrible mix-up of different indenting styles even in
the same files. Indenting by 4, by 2, by 8 characters, sometimes with tabs,
sometimes with spaces. To fix this chaos I ran all files through "indent -kr
-i8". Hopefully future patches will follow kernel style indenting too.

17 years agoFix build with recent ffmpeg
Takashi Iwai [Tue, 26 Aug 2008 15:06:43 +0000 (17:06 +0200)]
Fix build with recent ffmpeg

Add a check of pkgconfig libavcodec in configure script.
Since the header file was moved to <libavcodec/*>, its location has
to be checked in configure, too.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
17 years agoRelease v1.0.18rc2 v1.0.18rc2
Jaroslav Kysela [Tue, 19 Aug 2008 11:41:00 +0000 (13:41 +0200)]
Release v1.0.18rc2

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
17 years agoAdd missing noinst_HEADERS to usb_stream/Makefile.am
Takashi Iwai [Mon, 18 Aug 2008 15:02:33 +0000 (17:02 +0200)]
Add missing noinst_HEADERS to usb_stream/Makefile.am

Signed-off-by: Takashi Iwai <tiwai@suse.de>