Commit graph

5874 commits

Author SHA1 Message Date
Maarten Bosmans
ed0e879cd9 module-waveout: Correctly handle mono volume controls on waveout device 2011-07-03 13:54:56 +01:00
Colin Guthrie
6addadc574 build-sys: equalizer-sink needs DBus aswell as FFTW 2011-06-30 11:58:30 +01:00
Maarten Bosmans
be95938674 build-sys: Fix handling of Bluez, Hal dependency on D-Bus 2011-06-30 11:54:03 +01:00
Maarten Bosmans
ea45ea7cc9 build-sys: Add more build-time conditionals to config files 2011-06-30 11:54:03 +01:00
Maarten Bosmans
107106afd4 build-sys: Process configuration files with m4
This allows for build-time conditionals to be processed,
eliminating the need for a separate default.pa.win32.
2011-06-30 11:54:03 +01:00
Maarten Bosmans
3722dbbcb3 build-sys: Use configure AC_OUTPUT to process config files
Don't use sed to replace @variable@ in file.in.
2011-06-30 11:54:03 +01:00
Maarten Bosmans
e42bc02dc6 build-sys: Move some more defines to configure.ac 2011-06-30 11:54:03 +01:00
Wu Fengguang
226ddb1d39 alsa-sink: fix mmap_write() work_done
mmap_write() work_done is wrongly initilized to TRUE. It ends up never
being FALSE. Fix it to reduce the costly update_smoother() calls.
2011-06-28 09:57:33 -07:00
Maarten Bosmans
aa7bc322e2 parecord: Automatically detect file format from extension
And fix a small bug in pa_sndfile_format_from_string.
2011-06-27 09:59:56 +01:00
Henning Heinold
ad1e0431fb build-sys: look for function 'backtrace' also in library 'ubacktrace'
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
2011-06-27 09:56:25 +01:00
Colin Guthrie
90634d6028 alsa-mixer: Whoops, forgot to git-add this in a previous. 2011-06-26 14:51:31 +01:00
Colin Guthrie
0698d223a6 alsa-mixer: Add UAC1.0 Sennheiser Dongle to the usb-headset profile.
Reported by Sean McNamara
2011-06-26 14:22:06 +01:00
Maarten Bosmans
df41b8c948 build-sys: Move some more defines from CFLAGS to config.h 2011-06-26 13:48:24 +01:00
Maarten Bosmans
08631831cb build-sys: Use AX_DEFINE_DIR macro instead of setting AM_CFLAGS
This makes the compiler command line a bit shorter, useful for compiling with make V=1.
2011-06-26 13:48:11 +01:00
Maarten Bosmans
7eba9d92f7 build-sys: Use ax_check_flag macros from autoconf archive
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.
2011-06-26 13:47:58 +01:00
Colin Guthrie
9352898b72 alsa-mixer: Add an mixer profile exception for a BT Agile handset 2011-06-25 13:02:02 +01:00
David Henningsson
1c38b5d478 alsa-mixer: Add workaround for some USB headsets
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>
2011-06-25 12:53:44 +01:00
Maarten Bosmans
f04331fa15 build-sys: Update orc.m4 to latest upstream version
ORCC is now correctly set to orcc on build system instead of host for cross-compiling
2011-06-24 10:08:11 +01:00
Maarten Bosmans
ebf93404b6 Remove libpulse-browse and pabrowse 2011-06-24 10:08:11 +01:00
Maarten Bosmans
909d031134 Update todo 2011-06-24 00:35:26 +01:00
Maarten Bosmans
5818a2c63e win32: Make some unused-variable warnings go away 2011-06-24 00:34:05 +01:00
Maarten Bosmans
3adc43b8fe win32: Make once-test work
The barrier is not used when pthread is not available.
2011-06-24 00:32:22 +01:00
Maarten Bosmans
2cfacc6f55 build-sys: Cleanup Makefile.am
No need to keep some tests in two lists.
2011-06-24 00:30:25 +01:00
Maarten Bosmans
8ce326816b Add sys/time.h include to rtclock.c
Cross-compiling for win32 failed after the previous #include removal.
Somehow when building for Linux the struct timeval definition got picked up elsewhere.
2011-06-24 00:29:47 +01:00
Maarten Bosmans
f0eab391df Remove obsolete description property from modules 2011-06-24 00:29:24 +01:00
Colin Guthrie
da88442962 build-sys: bump soname 2011-06-23 23:37:39 +01:00
Bryan Gleeson
c8f0a649cf raop: Change socket buffer size handling to avoid playback underruns
When a TCP socket is created the size of the send buffer (SO_SNDBUF) used is
determined by the OS, using the net.ipv4.tcp_wmem sysctl parameter. Previously
a call to setsockopt set the buffer size to a value that was too small, and
that in some cases could result in underruns and choppy playback. This
setsockopt call has now been removed so that the value determined by the OS
is used unchanged.

Note that the value used for the send buffer size is the 2nd value in
net.ipv4.tcp_wmem, e.g. if this is set to "4096 65536 8388608" the send buffer
size is set to 65536.
2011-06-22 23:15:57 +01:00
Maarten Bosmans
dd9265ac78 Remove unnecessary #includes 2011-06-22 23:12:20 +01:00
Colin Guthrie
9ffa9382dd database: Support legacy format database entries.
This adds code to specifically support legacy entries.
I kept this code in a separate commit so that it can be (relatively)
easily removed at some point in the future.
2011-06-22 23:12:20 +01:00
Colin Guthrie
35f99c6e31 device-restore: Add a new protocol extension for device-restore.
This simply exposes the formats that a device supports
via a simple protocol extension that will allow clients
to setup what a connected receiver supports format wise.
2011-06-22 23:12:19 +01:00
Colin Guthrie
695d536380 database: Convert our use of database files to save in tagstruct format.
This has the advantage of allowing versioned updates in the future,
thus allowing us to be more user friendly going forward (as opposed
to just ignoring entries from old versions).

The primary motivation for this, however, is to allow variable length
storage in each entry which will be needed for upcoming work.

At present this commit will ignore any legacy entries but support
for reading and subsequently converting legacy entries will be added
shortly.
2011-06-22 22:47:55 +01:00
Colin Guthrie
ec4fa4c668 esound,streams: Fix some crashes.
After the rework to the add pa_sink_input_new_data_set_sink() (and
the source equiv) calling with a NULL sink object will hit an assert.

This caused crashes with the esd protocol and there was the potential
(albeit unlikely) for a crash when creating a sink input without any
sinks available (module-always-sink mitigates this risk but it's still
a potential crasher).
2011-06-22 22:45:28 +01:00
Arun Raghavan
32927c50a8 pactl: Add a set-source-output-volume command 2011-06-22 22:45:28 +01:00
Arun Raghavan
4412bb8bb8 source-output: Trivial code move
Makes diff'ing with sink-input.c easier
2011-06-22 22:45:28 +01:00
Colin Guthrie
b837d04057 capture: Remove support for synchronised capture streams.
This was added to ensure symmetry between playback and recording streams
code, but in reality this makes little sense practically speaking and thus
it is removed.
2011-06-22 22:45:28 +01:00
Juho Hämäläinen
4eb513cbf4 alsa-mixer: select nearest alsa volume step in sync-volume mode 2011-06-22 22:45:27 +01:00
Colin Guthrie
1e7c4dd3e6 alsa-mixer: When setting hw volume, always round up with playback and down with capture.
The previous logic in ade0a6f884
does not work with for input volumes.

This was discussed on the mailing list:

https://tango.0pointer.de/pipermail/pulseaudio-discuss/2011-May/010091.html

This approach can introduce a problem when setting the volumes
for sources. What follows is Tanu Kaskinen's analysis:

[quote]
I'll quote the log:

D: protocol-native.c: Client pavucontrol changes volume of source alsa_input.pci-0000_00_1b.0.analog-stereo.
D: alsa-source.c: Requested volume: 0:  45% 1:  45%
D: alsa-source.c:            in dB: 0: -20.71 dB 1: -20.71 dB
D: alsa-source.c: Got hardware volume: 0:  45% 1:  45%
D: alsa-source.c:               in dB: 0: -21.00 dB 1: -21.00 dB
D: alsa-source.c: Calculated software volume: 0: 101% 1: 101% (accurate-enough=no)
D: alsa-source.c:                      in dB: 0: 0.29 dB 1: 0.29 dB
D: source.c: Volume going up to 29273 at 270475970821
D: source.c: Volume change to 29273 at 270475970821 was written 34 usec late
D: alsa-source.c: Written HW volume did not match with the request: 0: 45% 1:  45% (request) != 0:  42% 1:  42%
D: alsa-source.c:                                            in dB: 0: -21.00 dB 1: -21.00 dB (request) != 0: -22.50 dB 1: -22.50 dB

Looking at the last line, the requested volume seems to hit exactly the
right step (-21.00dB), but for some reason Alsa decides to choose
something else. I'm pretty sure that this happens because of rounding
errors. In the first phase we ask Alsa what dB value we should set, and
it returns -21.00 dB. The value is given as a long int, but we convert
that to pa_cvolume. Then when we set the volume, we convert the
pa_cvolume value back to a long integer. At this point I believe it gets
converted to -2101. This is not visible in the debug message for some
reason - the rounding algorithm must be different from what was used
with the pa_cvolume -> long conversion.
[/quote]

The commit after this contains a patch that addresses this issue.
2011-06-22 22:45:27 +01:00
Colin Guthrie
8203402b9f streams: Tidy up includes 2011-06-22 22:45:27 +01:00
Colin Guthrie
d1a628855d alsa: Remove unneeded include 2011-06-22 22:45:27 +01:00
Colin Guthrie
4ab60d0377 introspect: Get format of source output
This gets the negotiated format of source outputs in
pa_context_get_source_output*(). Also prints the format and volume
in 'pactl list'.
2011-06-22 22:45:27 +01:00
Colin Guthrie
dffc4d18d3 capture: Implement per-stream volume control for capture streams.
This piggy backs onto the previous changes for protocol 22 and
thus does not bump the version. This and the previous commits should be
seen as mostly atomic. Apologies for any bisecting issues this causes
(although I would expect these to be minimal)
2011-06-22 22:45:27 +01:00
Colin Guthrie
fdf3a08814 introspect: Get formats for sources
This gets the list of supported formats for a source in
pa_context_get_source_info*(). Also prints these in 'pactl list'.
2011-06-22 21:55:27 +01:00
Colin Guthrie
5d35375aa7 capture: Add the passthrough format negotiation to capture streams.
This helps to keep the API more symmetrical and also potentially
allows support for passthrough monitor sources at some point in the future.
2011-06-22 21:55:27 +01:00
Colin Guthrie
30597b7c27 def: Add some flags for source outputs.
These flags will be required in upcoming work to integrate format and volume
support for source outputs.
2011-06-22 21:53:20 +01:00
Colin Guthrie
205265b7bb introspect: Clear out memory properly on error. 2011-06-22 21:53:20 +01:00
Colin Guthrie
dc6c272625 alsa-sink: Some trivial tidyups
Mostly typo fixes but also a change to make a function relating
to sink inputs use more generic variable names.
2011-06-22 21:53:19 +01:00
Tanu Kaskinen
62e43f9181 bluetooth-discover: Remove remaining ifdef NOKIAs.
These were supposed to be removed already in 13849f153, but
at that time I missed the ifdefs in
module-bluetooth-discover.c.
2011-06-22 14:56:32 +01:00
Colin Guthrie
c3056ce530 build-sys: module-equalizer-sink needs dbus. 2011-06-22 14:16:21 +01:00
Colin Guthrie
a1f80d4274 Merge remote-tracking branch 'mkbosmans/merge/build-sys' 2011-06-22 14:07:15 +01:00
David Henningsson
42bcb418ae SSE/MMX: Fix problem with highpitched noise on i386
The "rm" basm constraint doesn't work with my version of gcc (4.5.2),
not even in a simple example. Since we usually only have 5 registers
available on i386, force it to be memory on that architecture.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
2011-06-22 13:45:55 +01:00