platform/upstream/pulseaudio.git
14 years agoalsa: leave headphone jack enabled in normal mixer paths
Lennart Poettering [Fri, 21 Aug 2009 01:45:58 +0000 (03:45 +0200)]
alsa: leave headphone jack enabled in normal mixer paths

14 years agocombine: quieten gcc a bit
Lennart Poettering [Fri, 21 Aug 2009 01:45:17 +0000 (03:45 +0200)]
combine: quieten gcc a bit

14 years agoadjust various data/library paths automatically if we are run from a build tree
Lennart Poettering [Fri, 21 Aug 2009 01:43:53 +0000 (03:43 +0200)]
adjust various data/library paths automatically if we are run from a build tree

14 years agoladspa: forward volume changes from ladspa sink to stream and hence via flat volume...
Lennart Poettering [Fri, 21 Aug 2009 00:59:26 +0000 (02:59 +0200)]
ladspa: forward volume changes from ladspa sink to stream and hence via flat volume logic to master sink

14 years agosink-input: add callbacks that are called whenever the mute/volume changes
Lennart Poettering [Fri, 21 Aug 2009 00:56:17 +0000 (02:56 +0200)]
sink-input: add callbacks that are called whenever the mute/volume changes

14 years agoremap: make the MMX code pretier
Wim Taymans [Thu, 20 Aug 2009 18:00:50 +0000 (20:00 +0200)]
remap: make the MMX code pretier

14 years agoremap: add MMX mono to stereo
Wim Taymans [Thu, 20 Aug 2009 17:46:06 +0000 (19:46 +0200)]
remap: add MMX mono to stereo

14 years agoremap: init the do_remap function to NULL
Wim Taymans [Thu, 20 Aug 2009 16:32:51 +0000 (18:32 +0200)]
remap: init the do_remap function to NULL

14 years agoremap: allow specialisations to install NULL
Wim Taymans [Thu, 20 Aug 2009 16:29:02 +0000 (18:29 +0200)]
remap: allow specialisations to install NULL

Fallback to the default C implementation when the remap init function did not
set a function.

14 years agoremap: move remapping code in separate file
Wim Taymans [Thu, 20 Aug 2009 16:23:42 +0000 (18:23 +0200)]
remap: move remapping code in separate file

Move the remapping code into a separate file. Have functions to install custom
init functions that can install optimized versions, when they want.

14 years agoresamples; refactor the channel remapping bits
Wim Taymans [Thu, 20 Aug 2009 15:54:45 +0000 (17:54 +0200)]
resamples; refactor the channel remapping bits

Move the channel remapping bits into a separate structure. We'll make this
structure global so that optimized versions can use it to perform the channel
remapping.

14 years agosconv: allow for setting custom functions
Wim Taymans [Thu, 20 Aug 2009 13:50:02 +0000 (15:50 +0200)]
sconv: allow for setting custom functions

Add methods to override the default conversion functions.

14 years agoalsa-sink: reduce the amount of smoother updates
Wim Taymans [Thu, 20 Aug 2009 11:40:27 +0000 (13:40 +0200)]
alsa-sink: reduce the amount of smoother updates

Exponentially increase the amount of time between smoother updates. We start
with a 2ms interval and increase up to 200ms intervals.
Smoother updates and the resulting linear regression take a fair amount of CPU
so we want to reduce the amount of updates.

14 years agosvolume: cleanups
Wim Taymans [Thu, 20 Aug 2009 10:30:48 +0000 (12:30 +0200)]
svolume: cleanups

Use PA_MAX
Use pa_rtclock_now() for benchmarks

14 years agowhitespace fixes
Wim Taymans [Thu, 20 Aug 2009 08:56:20 +0000 (10:56 +0200)]
whitespace fixes

14 years agoresampler: avoid some multiplies when we can
Wim Taymans [Wed, 19 Aug 2009 18:47:48 +0000 (20:47 +0200)]
resampler: avoid some multiplies when we can

14 years agosvolume: add comment
Wim Taymans [Wed, 19 Aug 2009 18:00:28 +0000 (20:00 +0200)]
svolume: add comment

14 years agoarm: implement ARM cpu detection
Wim Taymans [Wed, 19 Aug 2009 17:51:11 +0000 (19:51 +0200)]
arm: implement ARM cpu detection

14 years agox86: keep the cpu flags local
Wim Taymans [Wed, 19 Aug 2009 17:50:42 +0000 (19:50 +0200)]
x86: keep the cpu flags local

14 years agosvolume: fix compilation in 32bits
Wim Taymans [Wed, 19 Aug 2009 16:52:28 +0000 (18:52 +0200)]
svolume: fix compilation in 32bits

14 years agosample: manually inline table lookups
Wim Taymans [Wed, 19 Aug 2009 15:27:17 +0000 (17:27 +0200)]
sample: manually inline table lookups

Manually inline some table lookups to avoid excessive calls to
pa_sample_spec_valid().

14 years agoresampler: fix identity check
Wim Taymans [Wed, 19 Aug 2009 15:24:23 +0000 (17:24 +0200)]
resampler: fix identity check

Fix the identity matrix check for mono to stereo.
Help the compiler generate better code for the C implementation of the channel
remapping code.

14 years agoresample: fix counters
Wim Taymans [Wed, 19 Aug 2009 14:23:55 +0000 (16:23 +0200)]
resample: fix counters

14 years agoresample: refactor the channel remapping a little
Wim Taymans [Wed, 19 Aug 2009 14:15:18 +0000 (16:15 +0200)]
resample: refactor the channel remapping a little

Factor out the channel remap matrix code into a separate function.
Keep a pointer to the channel remapping function so we can install custom
functions.
Catch the common mono->stereo remapping case and install a custom, more
optimized function.

14 years agosvolume: add CPU guards around code
Wim Taymans [Wed, 19 Aug 2009 14:09:48 +0000 (16:09 +0200)]
svolume: add CPU guards around code

Mark code that should only be compiled on x86 CPUs with proper defines.

14 years agosvolume: add ARM optimized volume scaling
Wim Taymans [Wed, 19 Aug 2009 14:09:14 +0000 (16:09 +0200)]
svolume: add ARM optimized volume scaling

14 years agosvolume: remove unneeded compare
Wim Taymans [Wed, 19 Aug 2009 13:56:44 +0000 (15:56 +0200)]
svolume: remove unneeded compare

We don't need the compare because the sub operation already set the right flags
for us.

14 years agoresampler: cache integer channel_map
Wim Taymans [Mon, 17 Aug 2009 09:35:47 +0000 (11:35 +0200)]
resampler: cache integer channel_map

Calculate and cache an integer version of the channel map so that we don't have
to regenerate it when dealing with s16 samples.

14 years agoGet rid of liboil
Wim Taymans [Fri, 14 Aug 2009 17:45:39 +0000 (19:45 +0200)]
Get rid of liboil

Get rid of the liboil dependency and reimplement the liboil functions with an
equivalent C implementation. Note that most of these functions are deprecated in
liboil and that none of them had  any optimisations. We can further specialize
our handrolled versions for some extra speedups.

14 years agovolume: remove ref functions
Wim Taymans [Fri, 14 Aug 2009 13:48:10 +0000 (15:48 +0200)]
volume: remove ref functions

14 years agovolume: improved comments
Wim Taymans [Fri, 14 Aug 2009 13:41:32 +0000 (15:41 +0200)]
volume: improved comments

14 years agovolume: make the benchmark more meaningfull
Wim Taymans [Fri, 14 Aug 2009 13:19:26 +0000 (15:19 +0200)]
volume: make the benchmark more meaningfull

MMX is about 6x faster, SSE around 15x on my machine.

14 years agosvolume: add some comments
Wim Taymans [Fri, 14 Aug 2009 11:12:30 +0000 (13:12 +0200)]
svolume: add some comments

14 years agocpu-x86: guard header with ifdef
Wim Taymans [Thu, 13 Aug 2009 15:22:39 +0000 (17:22 +0200)]
cpu-x86: guard header with ifdef

14 years agomain: hook up cpu detection code
Wim Taymans [Thu, 13 Aug 2009 15:12:44 +0000 (17:12 +0200)]
main: hook up cpu detection code

Add CPU detection code to activate the various optimisations.
Move some method definitions around.
Use compatibility macros when we can.

14 years agocpu-x86: add cpu detection code and helpers
Wim Taymans [Thu, 13 Aug 2009 15:11:43 +0000 (17:11 +0200)]
cpu-x86: add cpu detection code and helpers

Add CPU detection code and various macros and typdefs to make it easier to write
64 and 32 bit code.

14 years agosvolume: improve SSE and MMX code
Wim Taymans [Thu, 13 Aug 2009 11:45:01 +0000 (13:45 +0200)]
svolume: improve SSE and MMX code

14 years agovolume_sse: add sse optimisations
Wim Taymans [Wed, 12 Aug 2009 18:44:12 +0000 (20:44 +0200)]
volume_sse: add sse optimisations

14 years agovolume_mmx: fix mmx code a bit
Wim Taymans [Wed, 12 Aug 2009 18:43:37 +0000 (20:43 +0200)]
volume_mmx: fix mmx code a bit

14 years agovolume: add first mmx optimized function
Wim Taymans [Wed, 12 Aug 2009 15:08:41 +0000 (17:08 +0200)]
volume: add first mmx optimized function

Add code for an mmx optimized version of s16ne volume scaling. Install the
custom function.

14 years agosamples-util: add padding to volume array
Wim Taymans [Wed, 12 Aug 2009 15:03:30 +0000 (17:03 +0200)]
samples-util: add padding to volume array

Pad the volume array with a copy of the start. We'll need this later to be able
to write optimized functions.

14 years agosample-util: move volume code to separate file
Wim Taymans [Tue, 11 Aug 2009 15:10:44 +0000 (17:10 +0200)]
sample-util: move volume code to separate file

Move the volume code into a separate file with the reference C implementations.
Add a function to retrieve the volume function and one to install a new one.

14 years agosample-util: move some functions around
Wim Taymans [Tue, 11 Aug 2009 14:43:46 +0000 (16:43 +0200)]
sample-util: move some functions around

Move some stuff around before splitting it into a separate file.

14 years agosample-utils: coding style cleanup
Wim Taymans [Tue, 11 Aug 2009 14:25:44 +0000 (16:25 +0200)]
sample-utils: coding style cleanup

Make the coding style match the rest of pulseaudio more.
Remove some liboil functions, they seem unoptimized and likely slower than our
handrolled versions here.

14 years agosample-utils: split out functions from case
Wim Taymans [Tue, 11 Aug 2009 13:15:57 +0000 (15:15 +0200)]
sample-utils: split out functions from case

Move the volume functions out of the switch case and use a table indexed by the
sample format to find the volume function.

14 years agoModification of the thread-mainloop doc to ensure that nobody frees the api as it...
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:23:17 +0000 (18:23 +0200)]
Modification of the thread-mainloop doc to ensure that nobody frees the api as it is owned by the loop.

14 years agoModification of the mainloop doc to ensure that nobody frees the api as it is owned...
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:22:44 +0000 (18:22 +0200)]
Modification of the mainloop doc to ensure that nobody frees the api as it is owned by the loop.

14 years agoModification of the glib-mainloop doc to ensure that nobody frees the api as it is...
Xabier Rodriguez Calvar [Tue, 30 Jun 2009 16:20:03 +0000 (18:20 +0200)]
Modification of the glib-mainloop doc to ensure that nobody frees the api as it is owned by the loop.

14 years agocore: check return value of getgrnam_r() instead of errno
Lennart Poettering [Wed, 19 Aug 2009 22:20:03 +0000 (00:20 +0200)]
core: check return value of getgrnam_r() instead of errno

According to POSIX getgrnam_r() returns the error code as return value,
and not in errno. Honour that.

Pointed out and inspired by a patch from Ted Percival.

14 years agoSending translation for Polish
raven [Wed, 19 Aug 2009 20:53:19 +0000 (20:53 +0000)]
Sending translation for Polish

14 years agoSending translation for Spanish
beckerde [Wed, 19 Aug 2009 11:13:19 +0000 (11:13 +0000)]
Sending translation for Spanish

14 years agoi18n: run make update-po v0.9.16-test5
Lennart Poettering [Wed, 19 Aug 2009 02:16:35 +0000 (04:16 +0200)]
i18n: run make update-po

14 years agoi18n: add ko to LINGUAS
Lennart Poettering [Wed, 19 Aug 2009 02:15:36 +0000 (04:15 +0200)]
i18n: add ko to LINGUAS

14 years agoMerge commit 'origin/master-tx'
Lennart Poettering [Wed, 19 Aug 2009 02:14:00 +0000 (04:14 +0200)]
Merge commit 'origin/master-tx'

14 years agolirc: replace manual code by pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 01:37:42 +0000 (03:37 +0200)]
lirc: replace manual code by pa_cvolume_{inc|dec}()

14 years agommkbd: replace manual code by pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 01:37:29 +0000 (03:37 +0200)]
mmkbd: replace manual code by pa_cvolume_{inc|dec}()

14 years agosink: volume handling rework, new flat volume logic
Lennart Poettering [Wed, 19 Aug 2009 00:55:02 +0000 (02:55 +0200)]
sink: volume handling rework, new flat volume logic

- We now implement a logic where the sink maintains two distinct
  volumes: the 'reference' volume which is shown to the users, and the
  'real' volume, which is configured to the hardware. The latter is
  configured to the max of all streams. Volume changes on sinks are
  propagated back to the streams proportional to the reference volume
  change. Volume changes on sink inputs are forwarded to the sink by
  'pushing' the volume if necessary.

  This renames the old 'virtual_volume' to 'real_volume'. The
  'reference_volume' is now the one exposed to users.

  By this logic the sink volume visible to the user, will always be the
  "upper" boundary for everything that is played. Saved/restored stream
  volumes are measured relative to this boundary, the factor here is
  always < 1.0.

- introduce accuracy for sink volumes, similar to the accuracy we
  already have for source volumes.

- other cleanups.

14 years agomatch: document how broken the module-match logic is
Lennart Poettering [Wed, 19 Aug 2009 00:37:35 +0000 (02:37 +0200)]
match: document how broken the module-match logic is

14 years agovolume: introduce pa_cvolume_{inc|dec}()
Lennart Poettering [Wed, 19 Aug 2009 00:32:36 +0000 (02:32 +0200)]
volume: introduce pa_cvolume_{inc|dec}()

14 years agovolume: use PA_VOLUME_MAX instead of (pa_volume_t) -1
Lennart Poettering [Wed, 19 Aug 2009 00:31:11 +0000 (02:31 +0200)]
volume: use PA_VOLUME_MAX instead of (pa_volume_t) -1

14 years agoudev: allow passing of ignore_dB= parameter to alsa modules
Lennart Poettering [Wed, 19 Aug 2009 00:29:59 +0000 (02:29 +0200)]
udev: allow passing of ignore_dB= parameter to alsa modules

14 years agosource: rework volume handling
Lennart Poettering [Tue, 18 Aug 2009 23:35:43 +0000 (01:35 +0200)]
source: rework volume handling

- drop the 'virtual_' prefix from s->virtual_volume since we don't
  distuingish between reference and real volumes for sources

- introduce an accuracy for source volumes: if the hardware can control
  the volume "close enough" don't necessarily adjust the rest in
  software unless it is beyond a certain threshold. This should save a
  little bit of CPU at the expensive of a bit of accuracy in volume
  handling.

- other minor cleanups

14 years agomacro: extend comments a bit
Lennart Poettering [Tue, 18 Aug 2009 23:03:09 +0000 (01:03 +0200)]
macro: extend comments a bit

14 years agovoltest: extend test to verify correctness of _multiply() and _divide()
Lennart Poettering [Tue, 18 Aug 2009 23:02:32 +0000 (01:02 +0200)]
voltest: extend test to verify correctness of _multiply() and _divide()

14 years agodbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callb...
Lennart Poettering [Tue, 18 Aug 2009 22:59:23 +0000 (00:59 +0200)]
dbus: never return DBUS_HANDLER_RESULT_HANDLED in filter callbacks, since other callbacks might stell want to have the messages

14 years agovolume: round properly when showing human readable volume percentages
Lennart Poettering [Tue, 18 Aug 2009 22:58:20 +0000 (00:58 +0200)]
volume: round properly when showing human readable volume percentages

14 years agovolume: simplify volume multiplifactions, do them in integer only
Lennart Poettering [Tue, 18 Aug 2009 22:57:58 +0000 (00:57 +0200)]
volume: simplify volume multiplifactions, do them in integer only

14 years agovolume: introduce pa_cvolume_min() and pa_cvolume_min_mask()
Lennart Poettering [Tue, 18 Aug 2009 22:56:16 +0000 (00:56 +0200)]
volume: introduce pa_cvolume_min() and pa_cvolume_min_mask()

14 years agomacro: simplify page/word alignment macros a bit
Lennart Poettering [Mon, 17 Aug 2009 17:17:10 +0000 (19:17 +0200)]
macro: simplify page/word alignment macros a bit

14 years agomacro: add PA_ROUND_UP/PA_ROUND_DOWN macros
Lennart Poettering [Mon, 17 Aug 2009 17:15:33 +0000 (19:15 +0200)]
macro: add PA_ROUND_UP/PA_ROUND_DOWN macros

14 years agobluetooth: fix match syntax
Lennart Poettering [Mon, 17 Aug 2009 17:14:35 +0000 (19:14 +0200)]
bluetooth: fix match syntax

14 years agobluetooth: make NameOwnerChanged filter matches more focussed
Lennart Poettering [Mon, 17 Aug 2009 01:51:17 +0000 (03:51 +0200)]
bluetooth: make NameOwnerChanged filter matches more focussed

14 years agovolume: document when arguments of certain functions may overlap
Lennart Poettering [Mon, 17 Aug 2009 01:50:43 +0000 (03:50 +0200)]
volume: document when arguments of certain functions may overlap

14 years agolibpulse: some minor optimizations when checking equality
Lennart Poettering [Mon, 17 Aug 2009 01:50:04 +0000 (03:50 +0200)]
libpulse: some minor optimizations when checking equality

14 years agochannelmap: minor doxygen fix
Lennart Poettering [Mon, 17 Aug 2009 01:48:51 +0000 (03:48 +0200)]
channelmap: minor doxygen fix

14 years agochannelmap: document where the WAVEX channelmap is documented
Lennart Poettering [Mon, 17 Aug 2009 01:43:05 +0000 (03:43 +0200)]
channelmap: document where the WAVEX channelmap is documented

14 years agochannelmap: adjust RFC3551 channel maps to follow spec more closely
Lennart Poettering [Mon, 17 Aug 2009 01:42:34 +0000 (03:42 +0200)]
channelmap: adjust RFC3551 channel maps to follow spec more closely

14 years agoreserver: update from upstream git
Lennart Poettering [Mon, 17 Aug 2009 01:41:14 +0000 (03:41 +0200)]
reserver: update from upstream git

14 years agovolume: add pa_cvolume_merge() call
Lennart Poettering [Mon, 17 Aug 2009 01:40:36 +0000 (03:40 +0200)]
volume: add pa_cvolume_merge() call

14 years agoSending translation for Czech
pmkovar [Mon, 17 Aug 2009 00:19:25 +0000 (00:19 +0000)]
Sending translation for Czech

14 years agoaupdate: implicitly call _write_swap() if it wasn't called explicitly
Lennart Poettering [Sun, 16 Aug 2009 00:02:51 +0000 (02:02 +0200)]
aupdate: implicitly call _write_swap() if it wasn't called explicitly

14 years agocore: add to FIXMEs
Lennart Poettering [Sat, 15 Aug 2009 22:45:56 +0000 (00:45 +0200)]
core: add to FIXMEs

14 years agomodules: add various checks to avoid selecting objects that are not linked or in...
Lennart Poettering [Sat, 15 Aug 2009 22:45:23 +0000 (00:45 +0200)]
modules: add various checks to avoid selecting objects that are not linked or in another unclear state

14 years agobluetooth: move installation of mq's earlier to avoid context asserts to be triggered
Lennart Poettering [Sat, 15 Aug 2009 22:43:22 +0000 (00:43 +0200)]
bluetooth: move installation of mq's earlier to avoid context asserts to be triggered

14 years agobluetooth: ask first for Headset and AudioSink properties, followed by Audio
Lennart Poettering [Sat, 15 Aug 2009 20:25:53 +0000 (22:25 +0200)]
bluetooth: ask first for Headset and AudioSink properties, followed by Audio

14 years agobluetooth: recognize only those BT devices that implement both the Audio and either...
Lennart Poettering [Sat, 15 Aug 2009 20:25:21 +0000 (22:25 +0200)]
bluetooth: recognize only those BT devices that implement both the Audio and either AudioSink or Headset interfaces

14 years agobluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that...
Lennart Poettering [Sat, 15 Aug 2009 20:24:13 +0000 (22:24 +0200)]
bluetooth: drop PA_BT_AUDIO_STATE_LAST since it is unused and we normally call that _MAX anyway

14 years agothread-mq: do final q flush only when we aren't dispatching anyway
Lennart Poettering [Sat, 15 Aug 2009 20:23:42 +0000 (22:23 +0200)]
thread-mq: do final q flush only when we aren't dispatching anyway

14 years agoasyncmsgq: introduce pa_asyncmsgq_dispatching()
Lennart Poettering [Sat, 15 Aug 2009 20:22:57 +0000 (22:22 +0200)]
asyncmsgq: introduce pa_asyncmsgq_dispatching()

14 years agoladspa/remap: sync latency flags from master sink when moving between sinks
Lennart Poettering [Sat, 15 Aug 2009 01:42:16 +0000 (03:42 +0200)]
ladspa/remap: sync latency flags from master sink when moving between sinks

14 years agocore: introduce pa_{sink|source}_update_flags()
Lennart Poettering [Sat, 15 Aug 2009 01:41:13 +0000 (03:41 +0200)]
core: introduce pa_{sink|source}_update_flags()

14 years agopulse: even in case of record stream, let's initialize req_bytes to 0
Marc-André Lureau [Mon, 20 Jul 2009 10:53:17 +0000 (13:53 +0300)]
pulse: even in case of record stream, let's initialize req_bytes to 0

14 years agobluetooth: fix typo with service_{read,write}_type
Marc-André Lureau [Mon, 20 Jul 2009 10:44:27 +0000 (13:44 +0300)]
bluetooth: fix typo with service_{read,write}_type

14 years agobluetooth: don't call pa_sink_render with 0 bytes request
Marc-André Lureau [Mon, 6 Jul 2009 14:50:51 +0000 (17:50 +0300)]
bluetooth: don't call pa_sink_render with 0 bytes request

14 years agodatabase: simple hashmap based database implementation
Juho Hämäläinen [Wed, 12 Aug 2009 15:30:14 +0000 (18:30 +0300)]
database: simple hashmap based database implementation

14 years agocombine: determine sample parameters of combined sink from underlying sinks
Maarten Bosmans [Fri, 14 Aug 2009 23:35:53 +0000 (01:35 +0200)]
combine: determine sample parameters of combined sink from underlying sinks

http://pulseaudio.org/ticket/521

14 years agocombine: warn when the latency of a stream gets too high
Lennart Poettering [Fri, 14 Aug 2009 23:16:57 +0000 (01:16 +0200)]
combine: warn when the latency of a stream gets too high

14 years agocombine: big rework
Lennart Poettering [Fri, 14 Aug 2009 23:07:37 +0000 (01:07 +0200)]
combine: big rework

14 years agocombine: drop adjust_timestamp variable because it is unused
Lennart Poettering [Fri, 14 Aug 2009 23:04:21 +0000 (01:04 +0200)]
combine: drop adjust_timestamp variable because it is unused

14 years agoladspa: name sink after human readable plugin name, not the id string
Lennart Poettering [Fri, 14 Aug 2009 23:02:16 +0000 (01:02 +0200)]
ladspa: name sink after human readable plugin name, not the id string