| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
|
|
|
|
| |
Follow more closely the buffering metrics PA uses internally. This avoids
clamping of the metricsin PA internally.
|
|
|
|
|
|
|
| |
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!
|
|
|
|
| |
Since we set O_NONBLOCK more than once, make it a nice and correct function.
|
|
|
|
| |
Use more error checking where appropriate, optimize a few things.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
We can make our instance of snd_ctl_ext_callback_t const without any problems,
so let's do it.
|
|
|
|
|
| |
Use more error checking where applicable, optimize a few things, use PulseAudio
API functions for comparing pa_cvolume structures.
|
|
|
|
| |
Follow more closely the real limits of PulseAudio's API.
|
|
|
|
|
| |
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.
|
|
|
|
| |
Add a bit more error checking where necessary
|
|
|
|
| |
pulse_poll_revents() has no real purpose, so let's remove it.
|
|
|
|
|
| |
snprintf doesn't necessarily append a trailing NUL to the strings it writes. So
let's do it explicitly.
|
|
|
|
|
| |
PulseAudio has been supporting these for a while, so let's make use of them
here.
|
|
|
|
|
| |
We shouldn't spam on stderr unconditionally, so let's use ALSA subsystem for
printing errors.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
C functions taking no argument need a (void) as argument list. It's C++ where
() is allowed too.
|
|
|
|
|
| |
As suggested in the kernel's CodingStyle document force Emacs into kernel-style
indenting to prevent future indenting chaos, at least for Emacs users.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
| |
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
|
|
|
| |
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
| |
usb_stream PCM plugin is used together with snd-usb-us122l driver.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 <tiwai@suse.de>
|