| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
The periods calculation was missing for initializing OSS fragments.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
Follow the new PCM rate-plugin protocol to support the rate range
queries, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
| |
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
optimisation
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
| |
Signed-off-by: Peter Stokes <linux@dadeos.co.uk>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
Added the check of non-zero numid to optimize the look-up for the
element.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
Added the check of non-zero numid and optimize the look-up for the
element.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
Avoid unnecessary substitution and use simply SUBDIRS += ...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
This change was reverted accidentally by the previous git-stash operation
on my local tree...
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
Added Speex pre-processing filter plugin for denoise, AGC, etc.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
The resampler code is moved to libspeexdsp instead of libspeex.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
| |
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
|
|
| |
This allows the compiler to assume more about their interface, if at
all possible.
Signed-off-by: Diego E. 'Flameeyes' Pettenò <flameeyes@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
If we fail, we need to free the device string
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
|
| |
Use more error checking where appropriate, optimize a few things, split common
code into seperate functions.
|
|
|
|
|
| |
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
|
|
|
|
|
| |
As long as we have only a single fd to watch we can use the default poll
handler implementations. So let's do this.
|
|
|
|
| |
The fields are constant so let's declare that they actually are.
|
|
|
|
|
| |
S32 samples are a recent addition to the PA API, so check if they are available
before actually using them.
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
|
|
|
|
| |
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.
|