Commit graph

5862 commits

Author SHA1 Message Date
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
Maarten Bosmans
f36ac546e6 build-sys: Use AX_PTHREAD macro from autoconf archive 2011-06-21 15:12:17 +02:00
Maarten Bosmans
ee9da923e5 build-sys: Use AX_CHECK_DEFINE macro from autoconf archive
It has no new functionality over the existing macro that is relevant for
us, but it is good to have use a macro with a clearly defined upstream.
2011-06-20 16:01:38 +02:00
Maarten Bosmans
2ae6f88cca build-sys: Use AX_TLS macro from autoconf archive
It has no new functionality over the existing macro that is relevant for
us, but it is good to have use a macro with a clearly defined upstream.
2011-06-20 16:01:38 +02:00
Maarten Bosmans
429512dd5f build-sys: Move acx_lirc.m4 contents to configure.ac
The file is so small, that it is clearer just to do it in the main file.
2011-06-20 16:01:38 +02:00
Maarten Bosmans
71d05f553d build-sys: Move some stuff around in configure.ac
For more logical grouping of functionality.
2011-06-20 16:01:38 +02:00
Maarten Bosmans
ce4939d88f build-sys: Clean up configure.ac
Mostly whitespace and other trivial stuff.
2011-06-20 16:01:38 +02:00
Maarten Bosmans
17082e7f3a build-sys: Define PA_CFLAGS at right time
To ensure that all the changes to CFLAGS are also stored into PA_CFLAGS.
2011-06-20 16:01:37 +02:00
Maarten Bosmans
6c3f05574a build-sys: Reset CFLAGS after DBUS check 2011-06-20 16:01:37 +02:00
Maarten Bosmans
6c7039c753 build-sys: Consolidate host_os handling
Use os_is_* shell variables instead of pulse_target_os.
2011-06-20 16:01:37 +02:00
Maarten Bosmans
882320f43f build-sys: Remove unnecessary AC_SUBST calls
These HAVE_* variables are only used as AM_CONDITIONAL, so AC_SUBST is not needed.
2011-06-20 16:01:37 +02:00
Arun Raghavan
257bdcafe3 stream: Simplify passing of formats in extended API
Passing a NULL-terminated array of pa_format_info pointers is a bit
unwieldy for clients. Instead of this, let's pass in an array of
pointers and the number of elements in the array.
2011-06-19 17:46:35 -07:00
Arun Raghavan
573b9d6ca8 stream: Fix a couple of format_info leaks 2011-06-19 17:46:35 -07:00