Age | Commit message (Collapse) | Author | Files | Lines |
|
* Fix extension API function export list.
* Ensure we trigger a subscription event when things change.
* Send the index with our subscription events.
* Clear out any existing formats when saving.
* Call the correct extension command for subscriptions.
|
|
|
|
|
|
When recording, we need to reverse the order of sample specs
(origin<->destination) from the sink code this was copied form.
|
|
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
As reported in http://kpaste.net/04f1f3f
it is possible to call enumeration_is_subset with null pointers.
Handle that case instead of crashing. (It is also possible that
Tanuk's pending element_is_subset patch solves the issue, but this
nevertheless gives some extra security.)
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
This patch introduces some extra protocol information, so protocol
version is bumped. This functionality is primarily needed to solve
a long standing issue in alsa-plugins, which should ignore underruns
if and only if it is obsolete, i e, if more data has been written to
the pipe in the meantime (which will automatically end the underrun).
BugLink: http://bugs.launchpad.net/bugs/805940
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
Also use glib-gettextize instead of plain gettextize.
|
|
Add an explanation and some example code to make it easier for people
writing client-side code to figure out how subscription events work.
|
|
|
|
This fixes browsing the PA Sink and Source container.
|
|
We want to set the volume callbacks only if volume sharing
is not used. When volume sharing is used, we don't want to
mess with the stream volumes.
This was broken in 6c6b50
|
|
|
|
Now that subset mixer paths are removed, this workaround is no longer needed.
This effectively reverts 1c38b5d4787d9466bd7bd5910d27e501298ec778 but due
to me forgetting to add files and adding a couple extra workarounds after,
it's easier to just do this manually rather than run git-revert.
|
|
|
|
In order to try and avoid 'spamming' the user with port choices,
attempt to detect and remove any pointless paths in a path set. That is
any paths which are subsets of other paths.
This should solve a problem case with some USB Headsets which result in
two paths both involving the 'Speaker' element. When no 'Master' element
exists (which is quite common on head/handsets), then the first path
(analog-output) will contain the 'Speaker' in a way that completely fits
with in the use of the 'Speaker' element in the other path
(analog-output-speaker).
|
|
Unification is really just a 'lowest common denominator' system. If any
paths do not support volume, mute or decibels, then mark them all as not
having them.
This was originally done this way because the flags set on sinks that
dictate if it supports h/w volume, mute etc. could not be changed after
the sink was created.
The fact that these flags could not change has now been change in the
previous commits, and thus there is now no need to use this 'lowest
common denominator' approach as we can fully support the various
different combinations, even if they change after initial creation
of the sinks/source.
|
|
This allows us to flip from software to hardware volume control as the port's
mixer path dictates.
|
|
Some sink flags are really just a product of what callbacks
are set on the device. We still enforce a degree of sanity
that the flags match the callbacks set, but we also set the
flags automatically in our callback setter functions to
help ensure that a) people use them and b) flags & callbacks
are kept in sync.
|
|
This is not currently useful but future commits will make further
changes concerning automatic setting of flags and event delivery
that makes this structure necessary.
|
|
|
|
|
|
When receiving an eol, the object will be NULL and we're not handling
this correctly. Thanks to Drew Ogle <dantealiegri@gmail.com> for
reporting this and providing a patch.
|
|
For source and sinks, we allow both the index and name to be invalid
while introspecting (the default source/sink will be used). This
modifies the assert appropriately. Thanks to Drew Ogle
<dantealiegri@gmail.com> for reporting and providing a patch.
|
|
This makes sure we don't perform a check on record stream volumes for
clients that don't support them.
|
|
This picks sane defaults for the sample spec used (32 kHz, mono) and
preprocessing (on by default). This should make it unncessary to provide
additional parameters in the default desktop case.
The main exception would be decreasing the sample rate for hardware with
limited processing power (can bring it down to 16 or 8 kHz).
|
|
|
|
|
|
|
|
|
|
This allows for build-time conditionals to be processed,
eliminating the need for a separate default.pa.win32.
|
|
Don't use sed to replace @variable@ in file.in.
|
|
|
|
mmap_write() work_done is wrongly initilized to TRUE. It ends up never
being FALSE. Fix it to reduce the costly update_smoother() calls.
|
|
And fix a small bug in pa_sndfile_format_from_string.
|
|
Using OpenEmbedded with 'minimal-uclibc' for 'MACHINE = "beagleboard"'
compilation fails with the following error [1].
[…]
CCLD pulseaudio
./.libs/libpulsecommon-0.9.22.so: undefined reference to `backtrace_symbols'
./.libs/libpulsecommon-0.9.22.so: undefined reference to `backtrace'
collect2: ld returned 1 exit status
make[3]: *** [pulseaudio] Error 1
Using uClibc 'backtrace' is in the library 'ubacktrace' and needs to be
searched in there. This patch is used successfully in OpenEmbedded[2].
[1] http://lists.linuxtogo.org/pipermail/openembedded-devel/2011-May/032979.html
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=0086e0506eb4939150bb50ec337d7f6787b8ae8a
|
|
|
|
Reported by Sean McNamara
|
|
|
|
This makes the compiler command line a bit shorter, useful for compiling with make V=1.
|
|
Those macros cover almost all functionality of attributes.m4 that was
used, so that file can be removed.
The CC_NOUNDEFINED macro is used directly in configure.ac.
|
|
|
|
This is a workaround - these usb headsets have one output volume
control only, labeled "Speaker". This causes the default profile
set to not control the volume at all, which is a bug. Workaround
that by creating a separate profile set.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
ORCC is now correctly set to orcc on build system instead of host for cross-compiling
|
|
|
|
|
|
|
|
The barrier is not used when pthread is not available.
|