Commit graph

5738 commits

Author SHA1 Message Date
David Henningsson
ade0a6f884 alsa-mixer: always round towards 0 dB
Always round towards 0 dB. Also add a few debug comments to aid
troubleshooting.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:54:48 +00:00
David Henningsson
b0f72311cf alsa-mixer: add required-any and required-* for enum options
Now you can add required-any to elements in a path and the path
will be valid as long as at least one of the elements are present.
Also you can have required, required-any and required-absent in
element options, causing a path to be unsupported if an option is
(not) present (simplified example: to skip line in path if
"Capture source" doesn't have a "Line In" option).

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:48:11 +00:00
David Henningsson
0ce3017b74 alsa-mixer: Add a few well-known descriptions
Add front mic, rear mic, and docking line-in. These are likely to be
present on modern hda chips, for reference see
linux-2.6/sound/pci/hda/hda_codec.c:hda_get_input_pin_label

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-02-25 15:47:56 +00:00
Tanu Kaskinen
624152dac3 alsa-card: Add a new modarg "profile_set" for giving the card a custom profile set configuration file. 2011-02-25 15:44:57 +00:00
Tanu Kaskinen
46359043c4 alsa-mixer: Fix path set building when using the element-output or element-input mapping options in profile set configuration.
When creating synthesized paths, pa_alsa_path_set_new() created duplicate
elements for each path, and one of the duplicate elements would be marked as
required absent. That made path probing fail. While debugging this, I noticed
also that pa_alsa_path_synthesize() didn't initialize p->last_element properly.
2011-02-25 15:44:44 +00:00
Colin Guthrie
3153b60a62 core: Add a new hook PA_CORE_HOOK_CARD_PROFILE_CHANGED
This will allow modules to know when a card profile has changed
and take appropriate action. This might prove useful when developing
UCM so that the appropriate verb can be set.
2011-02-25 11:28:01 +00:00
Kim Therkelsen
9379d4015c core: Added new hooks: PA_CORE_HOOK_SOURCE_PORT_CHANGED and PA_CORE_HOOK_SINK_PORT_CHANGED
This allows modules to know when certain ports are changed.
This will allow e.g. a filter module (or LADSAP) to only load
when a certain port is used on the device (e.g. to only filter
headphones and not normal speakers).

(Comment from Colin Guthrie: This may also have use in UCM)
2011-02-25 10:04:07 +00:00
Kim Therkelsen
6bd32ee2d9 Support for multichannel DSP processing in module-ladspa-sink 2011-02-25 09:55:31 +00:00
Colin Guthrie
a3dbdb0446 Merge remote-tracking branch 'mkbosmans/mingw32-build' 2011-02-25 09:24:07 +00:00
Edward Rudd
f51889c6f6 sconv_sse: Exclude SSE optimizations for Mac OS X
At least on 32bit compiles, there are not enough registers.
2011-02-22 21:33:44 +00:00
Edward Rudd
ee4a33b586 solaris: update call of pa_thread_new to new prototype 2011-02-22 21:32:53 +00:00
Edward Rudd
03c4fd5c4c coreaudio: Fix call to pa_thread_new 2011-02-22 21:32:09 +00:00
Tanu Kaskinen
99ddca89cd Allow read-only or non-existing sink input volume.
There are two known cases where read-only or non-existing sink input volume is
relevant: passthrough streams and the planned volume sharing logic.
Passthrough streams don't have volume at all, and the volume sharing logic
requires read-only sink input volume. This commit is primarily working towards
the volume sharing feature, but support for non-existing sink input volume is
also added, because it is so closely related to read-only volume.

Some unrelated refactoring in iface-stream.c creeped into this commit too (new
function: stream_to_string()).
2011-02-22 20:12:31 +00:00
Tanu Kaskinen
fa12d2a8a8 dbusiface-stream: Send the Device property in the GetAll handler. 2011-02-22 20:10:17 +00:00
Tanu Kaskinen
969c7c80fe core: Link virtual sinks and sources to their streams.
This change doesn't add any functionality in itself, but it will be useful in
the future for operating on chains of sinks or sources that are piggy-backing
on each other.

For example, the PA_PROP_DEVICE_MASTER_DEVICE property could
be handled in the core so that each virtual device doesn't have to maintain it
separately. By using the origin_sink and destination_source pointers the core
is able to see at stream creation time that the stream is created by a virtual
device, and then update that device's property list using the name of the
master device that the stream is being connected to. The same thing can be done
also when the stream is being moved from a device to another, in which case the
_MASTER_DEVICE property needs updating.
2011-02-22 10:10:48 +00:00
Paul Menzel
1f848f82c4 build-sys: Correct typos in configure
s/Console Kit/ConsoleKit/ [1]
s/DBUS/D-Bus/ [2]

Plus some spelling fixes and context in warning sometimes shown to user

[1] http://www.freedesktop.org/wiki/Software/ConsoleKit
[2] http://www.freedesktop.org/wiki/Software/dbus
2011-02-22 10:07:47 +00:00
Henning Heinold
d90be03474 src/Makefile.am: add missing space to fix build using uClibc
Using uClibc

	AM_LIBADD = $(PTHREAD_LIBS) $(INTLLIBS)

is not empty because `$(INTLLIBS)` is set to `-lintl`. This uncovered a missing space in commit ef0cc745 which resulted in the following build error.

	[…]
		CC     libbluetooth_ipc_la-ipc.lo
	modules/bluetooth/ipc.c: In function 'bt_audio_service_open':
	modules/bluetooth/ipc.c:65:26: warning: dereferencing type-punned pointer might break strict-aliasing rules [-Wstrict-aliasing]
	modules/bluetooth/ipc.c: In function 'bt_audio_service_get_data_fd':
	modules/bluetooth/ipc.c:110:13: warning: cast increases required alignment of target type [-Wcast-align]
	modules/bluetooth/ipc.c:110:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
	make[3]: *** No rule to make target `-lintl', needed by `libbluetooth-ipc.la'.  Stop.
	make[3]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git/src'
	make[2]: *** [all] Error 2
	make[2]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git/src'
	make[1]: *** [all-recursive] Error 1
	make[1]: Leaving directory `/oe/build-minimal-uclibc/minimal-uclibc-dev/work/armv7a-oe-linux-uclibceabi/pulseaudio-0.9.22-r11.0+gitr0+051d82133f0ae6a57bf66fd200bc8e3591a7d5ca/git'
	make: *** [all] Error 2

This patch is taken from OpenEmbedded where it has been present since 2009 for PulseAudio 0.9.15 and greater [1].

[1] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=ef0cc74567b3bb98378c17f6a523bf18ba132ed7
[2] http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=7c33f2e906a20e139d53b4f2d8fbc2773a4725b3

Signed-off-by: Henning Heinold <heinold@inf.fu-berlin.de>
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net>
CC: Henning Heinold <heinold@inf.fu-berlin.de>
2011-02-22 09:59:42 +00:00
Vincent Becker
bada9040dd Correct wav file creation for 24/32 and 24 bits sample formats HSD=3669357 2011-02-22 09:55:58 +00:00
Kurt Taylor
b7779ecce0 PulseAudio: added IT block to fix thumb conditional instruction build error messages
See: http://pulseaudio.org/ticket/914

Tweaked-By: Arun Raghavan <arun.raghavan@collabora.co.uk>
2011-02-21 10:15:41 +00:00
Maarten Bosmans
821562b9bc Use pa_read, pa_write and pa_poll instead of system functions 2011-02-17 12:02:31 +01:00
Maarten Bosmans
30c7c95184 tests/rtstutter: Use pa_rtclock 2011-02-17 12:02:31 +01:00
Maarten Bosmans
aebf66bef6 Use pa_* instead of generic functions to improve portability 2011-02-17 12:02:31 +01:00
Maarten Bosmans
f2a9fd779e Give module-waveout a configure switch
- Also disable the scary DBus and udev warnings when building for win32
 - and only install some dbus/x11 specific files when appropriate
2011-02-17 12:02:31 +01:00
Maarten Bosmans
110b14ec21 module-waveout: Adapted to updated API
Waveout sink works again, Wavein source still needs some work.
2011-02-17 12:02:31 +01:00
Maarten Bosmans
5205e6a85a win32: Implement pa_random 2011-02-17 12:02:31 +01:00
Maarten Bosmans
a39a83665f win32: Implement rtclock based on QueryPerformanceCounter
Also remove some unnecessary <time.h> headers.
2011-02-17 12:02:31 +01:00
Maarten Bosmans
5699954d33 win32: flush stderr after log output 2011-02-17 12:02:30 +01:00
Maarten Bosmans
d6d4336705 Implement some functions for win32
And disable building binaries for win32 that make no sense there
2011-02-17 12:02:30 +01:00
Maarten Bosmans
7b90e3b942 Repair some typos 2011-02-17 12:02:30 +01:00
Maarten Bosmans
5815ec6f3e Add AM_LDFLAGS more consistently to all commands 2011-02-17 12:02:30 +01:00
Maarten Bosmans
2de2c735c9 Fix dependencies and include necessary headers 2011-02-17 11:58:22 +01:00
Maarten Bosmans
a951c779c6 Use PCRE if POSIX regex.h is not available 2011-02-17 11:58:22 +01:00
Maarten Bosmans
bb12ff8356 Apply #ifdefs around functionality not available on win32
And also the reverse: around some win32 specific functionality
2011-02-17 11:58:22 +01:00
Maarten Bosmans
0ac0479534 Adapt win32 specific code to current API 2011-02-17 11:58:22 +01:00
Maarten Bosmans
4f1d4044f8 Use <pulsecore/socket.h> instead of <sys/socket.h>
The check whether POSIX socket.h or WIN32 winsock2.h must be included can be
made centrally.  The downside is that some functionality of e.g. arpa/inet.h is
also implemented in winsock.h, so that some files that don't use socket
functions, but do use inet.h functions, must also include pulsecore/socket.h.
(as well as arpa/inet.h)
2011-02-17 11:58:21 +01:00
Maarten Bosmans
d6d9fb295d Clean up <poll.h> includes
Instead <pulsecore/poll.h> should be included.  That file includes poll.h on
platform where it is appropriate.  Also remove some unnecessary <ioctl.h>
includes.
2011-02-17 11:58:21 +01:00
Maarten Bosmans
8d12ab9e63 Use setenv instead of putenv
In theory putenv could be used to handle freeing of strings yourself, but this
was not done in PulseAudio.  That leaves no advantages in using putenv.  With
setenv you're at the mercy of the implementation whether the strings leak, but
at least that is better then a certain leak, as it was before.
2011-02-17 11:58:21 +01:00
Pierre-Louis Bossart
051d82133f alsa: disable period wakeups in tsched mode if possible
This patch reflects a new capability that Lennart was wishing
for. Wish granted...

Re-submitting it now that alsa-lib 1.0.24
provides additional entry points to disable period
wakeups in timer-scheduling mode if hardware can
work without it (HDAudio, oxygen and Intel SST).

    Example with standard playback on HDAudio output
    Before change:

    Top causes for wakeups:
       3.8% (  5.4)   [hda_intel] <interrupt>
       2.8% (  4.0)   alsa-sink

    After change:
    Top causes for wakeups:
       2.3% (  3.0)   alsa-sink

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
2011-02-01 09:41:02 +00:00
Arun Raghavan
9498440dc6 echo-cancel: Make Orc file names less silly
The naming was what it was because of the way orc.mak was originally
written. This has changed now.
2011-02-01 11:51:46 +05:30
Arun Raghavan
a9d824925d build: Simplify Orc-related make rules
This greatly simplifies the Orc-related make rules. The old system of
distributing generated files is gone, which means that anyone who wants
to build with Orc support enabled needs to have the orcc compiler
installed (presumably the orc 'devel' package in most distros).
2011-02-01 11:51:46 +05:30
Arun Raghavan
548e1026e3 build: Move orc.mak out of build/
That directory is commonly used by developers for out-of-tree builds, so
don't keep the Makefile in there.
2011-01-31 20:24:59 +05:30
Maarten Bosmans
d766b38e1b build: Remove unnecessary flags in AM_CFLAGS
The CFLAGS and LIBS of libsamplerate, libspeex and libsndfile are added to the pulse libraries depending on those libraries.

Also src/pulse/version.h is generated by configure, so it does not need to go in BUILT_SOURCES.

(Slightly tweaked by Colin Guthrie to fix a merge problem relating to BUILT_SOURCES)
2011-01-31 12:40:43 +00:00
Maarten Bosmans
974af43507 build: Don't include empty Makefile.am in subdirs 2011-01-31 12:40:43 +00:00
Maarten Bosmans
d6cdd80b0d build: Generate module symdefs in src/modules directory
This will make it possible to remove the empty Makefile.am files.
 - module-...-symdef.h files are all generated in src/modules, instead of in the subdir of the module.
 - The default inclusion of src/modules subdirs in AM_CFLAGS can be removed, where necessary (raop) the subdir is
   included in the specific CFLAGS.
 - The src/daemon and src/modules directories are always created on make, to facilitate out of tree builds.
 - AM silent rules are used for the generation of symdef files by m4.
 - For echo-cancel, keep the build dir include for now (and mkdir it) although limit it to just the echo-cancel
   module's CFLAGS (Colin Guthrie)
2011-01-31 12:40:43 +00:00
Colin Guthrie
8534149fbe Merge remote branch 'mkbosmans/rate-adjustment' 2011-01-31 11:45:50 +00:00
David Henningsson
74eb4d8921 Fighting rewinds: Reduce calls to handle_seek
If many small blocks are in queue, handle_seek is being called
for every one of them, sometimes causing a rewind. Delay the
call until all blocks are handled, then call handle_seek only
once.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-01-31 11:38:26 +00:00
David Henningsson
fe7b972487 Fighting rewinds: Seek and write data in the same message
Allow a message in the queue to perform both a seek and a post data.
For clients that do not use PA_SEEK_RELATIVE (e g gstreamer), this
cuts the message count - and sometimes even the rewinds - in half.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-01-31 11:38:17 +00:00
Lennart Poettering
1250b5d735 ratelimit: fix log levels of log suppression messages
When logging a suppression message do so on the same log level as the
suppressed messages.

Cherry picked by Colin Guthrie from ec5a785712
with a couple of additional changes due to extra limiting in master
that was not present in stable-queue.
2011-01-31 11:36:24 +00:00
Scott Reeves
a509f10f95 Core: Fix incorrect check of return value 2011-01-23 14:10:49 +00:00
Maarten Bosmans
98bde37a51 build: Use MODULE_LIBADD in Makefile.am 2011-01-23 13:52:30 +00:00