profile/ivi/pulseaudio.git
13 years agodbus: Use pa_device_type_t rather than an internal equivalent
Colin Guthrie [Thu, 18 Aug 2011 14:40:15 +0000 (15:40 +0100)]
dbus: Use pa_device_type_t rather than an internal equivalent

13 years agodef: Add a new enum to allow differntiation between sinks and sources.
Colin Guthrie [Thu, 18 Aug 2011 14:36:04 +0000 (15:36 +0100)]
def: Add a new enum to allow differntiation between sinks and sources.

This is for bits of code or API where the concepts and constructs are
extensibly the same for sinks and sources. To avoid duplication we can
simply define our structure/API and then use this enum to differentiate
the two.

13 years agosink: Add PA_SINK_SET_FORMATS macro
Arun Raghavan [Thu, 18 Aug 2011 09:25:52 +0000 (14:55 +0530)]
sink: Add PA_SINK_SET_FORMATS macro

Required for testing the existence of the flag

13 years agosample-util: Fix off-by-one in error check
Arun Raghavan [Thu, 18 Aug 2011 08:49:00 +0000 (14:19 +0530)]
sample-util: Fix off-by-one in error check

Patch by jk.illwinter on http://www.pulseaudio.org/ticket/951

13 years agoRevert "device-restore: Make bools not be bit fields"
Arun Raghavan [Thu, 18 Aug 2011 08:04:33 +0000 (13:34 +0530)]
Revert "device-restore: Make bools not be bit fields"

This reverts commit ba163b8b23bcd72c35b028eb0b43c31a6ae1724d.

After discussion with Colin, decided that we don't want to do this
piecemeal -- need some discussion on the mailing-list and then we should
do this across the tree in one fell swoop post 1.0.

Conflicts:

src/modules/module-device-restore.c

13 years agosource-output: Ensure no volumes are applied for passthrough streams
Arun Raghavan [Thu, 18 Aug 2011 07:02:14 +0000 (12:32 +0530)]
source-output: Ensure no volumes are applied for passthrough streams

This forces passthrough source-outputs and their corresponding sources
to 0dB gain so that the data is sent unaltered to the receiver.

13 years agosink-input: Ensure no volumes are applied for passthrough streams
Arun Raghavan [Thu, 18 Aug 2011 06:21:12 +0000 (11:51 +0530)]
sink-input: Ensure no volumes are applied for passthrough streams

This forces passthrough sink-inputs and their corresponding sinks to 0dB
gain so that the data is sent unaltered to the receiver.

13 years agopassthrough: We must not plug in a resampler on stream move
Arun Raghavan [Thu, 18 Aug 2011 07:05:23 +0000 (12:35 +0530)]
passthrough: We must not plug in a resampler on stream move

13 years agodaemon: Fix compiler warning about missing function prototype
Arun Raghavan [Thu, 18 Aug 2011 07:02:48 +0000 (12:32 +0530)]
daemon: Fix compiler warning about missing function prototype

13 years agoalsa: Fix bad function name
Arun Raghavan [Thu, 18 Aug 2011 04:53:55 +0000 (10:23 +0530)]
alsa: Fix bad function name

I've no idea how that slipped by.

13 years agoformats: Fix bad passsthrough check
Arun Raghavan [Thu, 18 Aug 2011 04:40:22 +0000 (10:10 +0530)]
formats: Fix bad passsthrough check

Fixes breakage from commit adbdb6259becab57fff893671e58fff5786420db

13 years agoalsa: Open iec958 device with NONAUDIO bit set in passthrough mode
Arun Raghavan [Wed, 17 Aug 2011 17:08:43 +0000 (22:38 +0530)]
alsa: Open iec958 device with NONAUDIO bit set in passthrough mode

This is required for E-AC3 streams, as well as to let receivers we're
sending non-PCM data (which avoids playing noise if the data is
incorrect for some reason).

13 years agoformats: Use correct API to check for passthrough streams
Arun Raghavan [Wed, 17 Aug 2011 09:28:23 +0000 (14:58 +0530)]
formats: Use correct API to check for passthrough streams

13 years agoalsa: Don't always suspend/unsuspend on sink-input removal
Arun Raghavan [Wed, 17 Aug 2011 08:03:50 +0000 (13:33 +0530)]
alsa: Don't always suspend/unsuspend on sink-input removal

If the sink was already suspended, this avoids and assert when calling
suspend() again, and prevents an unnecessary unsuspend.

13 years agosource: Remove the PA_SOURCE_PASSTHROUGH flag
Arun Raghavan [Wed, 17 Aug 2011 03:30:47 +0000 (09:00 +0530)]
source: Remove the PA_SOURCE_PASSTHROUGH flag

This isn't actually used anywhere, and PA_SINK_PASSTHROUGH was also
removed.

13 years agointrospect: fix typo in default sink/source docs
Jonny Lamb [Tue, 16 Aug 2011 15:02:51 +0000 (15:02 +0000)]
introspect: fix typo in default sink/source docs

Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
13 years agoRemove offensive part of error message
David Henningsson [Mon, 15 Aug 2011 12:05:50 +0000 (14:05 +0200)]
Remove offensive part of error message

I don't know the exact cause for someone to submit a bug report for
this error message: if someone is truly offended by it (if so it is
a reminder that some people are more sensitive than others, and I do
want those people to feel welcome as well), or if it's a system's
check (if this goes through, it shows the system works, and the person
might put more work into his/her next patch), or if it's just a bug
(after all, it's not that weird to run two instances of PulseAudio?).
Either one could be reason enough to apply IMO.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agoJACK: Load module-jackdbus-detect in default.pa
David Henningsson [Mon, 15 Aug 2011 12:05:49 +0000 (14:05 +0200)]
JACK: Load module-jackdbus-detect in default.pa

Provides automatic integration with the dbus enabled version of JACK 2.

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agoalsa-mixer: Add "Line HP Swap" element
David Henningsson [Mon, 15 Aug 2011 12:05:48 +0000 (14:05 +0200)]
alsa-mixer: Add "Line HP Swap" element

The "Line HP Swap" element needs to be set correctly for some Dove
boards to work correctly. Thanks to Daniel T Chen for the patch.

BugLink: http://bugs.launchpad.net/bugs/451635
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agoalsa-mixer: Mute IEC958 optical raw for several Audigy models
David Henningsson [Mon, 15 Aug 2011 12:05:47 +0000 (14:05 +0200)]
alsa-mixer: Mute IEC958 optical raw for several Audigy models

This switch needs to be off for analog output to work on several
Audigy cards.

Thanks to Daniel T Chen for the patch.

BugLink: http://bugs.launchpad.net/bugs/408370
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agobuild-sys: bump soname
Colin Guthrie [Tue, 16 Aug 2011 10:04:11 +0000 (11:04 +0100)]
build-sys: bump soname

13 years agocore: Unload the modules and cached samples before unref'ing the core.
Colin Guthrie [Tue, 16 Aug 2011 09:54:24 +0000 (10:54 +0100)]
core: Unload the modules and cached samples before unref'ing the core.

As various modules can subscribe to unlink callbacks unloading some modules
may trigger hooks in other modules.

The callbacks associated with these hooks could in turn need to use the core
in some capacity (e.g. perhaps they are module loading modules
(e.g. *-discover, filter-apply or gconf etc. and need to use the core to
unload modules they've loaded).

This change simply ensures that all modules and cached samples are unloaded
before freeing the core.

13 years agopactl: Add set-source-output-mute command
Maarten Bosmans [Mon, 15 Aug 2011 20:05:41 +0000 (22:05 +0200)]
pactl: Add set-source-output-mute command

13 years agodefault.pa: Update rtp null sink line
Maarten Bosmans [Mon, 15 Aug 2011 19:38:45 +0000 (21:38 +0200)]
default.pa: Update rtp null sink line

The description argument has been removed in favour of the more general sink_properties.

13 years agoInitialise write_volume
Maarten Bosmans [Mon, 15 Aug 2011 18:19:40 +0000 (20:19 +0200)]
Initialise write_volume

The callback should also be reset in reset_calbacks().
The extra check in _volume_change_apply() is needed because when the sink is unlinked the callbacks are reset,
but there still may be pending volume changes.

13 years agoformat: Remove stupid copy-paste-o
Arun Raghavan [Tue, 16 Aug 2011 09:51:45 +0000 (15:21 +0530)]
format: Remove stupid copy-paste-o

Thanks to Maarten Bosmans for the catch.

13 years agointrospect: fix source output and sink input docs mix-up
Jonny Lamb [Tue, 2 Aug 2011 13:38:10 +0000 (13:38 +0000)]
introspect: fix source output and sink input docs mix-up

Signed-off-by: Jonny Lamb <jonny.lamb@collabora.co.uk>
13 years agoalsa: Set SET_FORMATS flag when appropriate
Arun Raghavan [Tue, 16 Aug 2011 05:41:46 +0000 (11:11 +0530)]
alsa: Set SET_FORMATS flag when appropriate

13 years agosink: Add a SET_FORMATS flag
Arun Raghavan [Tue, 16 Aug 2011 05:41:34 +0000 (11:11 +0530)]
sink: Add a SET_FORMATS flag

This adds a PA_SINK_SET_FORMATS flag to the pa_sink_flags enum,
signalling that a sink allows the set of supported formats to be set
externally. The idea is for clients to be able to know what sinks
support this ability and adapt their UI appropriately.

13 years agobuild-sys: Bump JACK dependency to 0.117.0
Arun Raghavan [Mon, 15 Aug 2011 17:01:55 +0000 (22:31 +0530)]
build-sys: Bump JACK dependency to 0.117.0

This version is required since we recently started using jack_free()

https://bugs.freedesktop.org/show_bug.cgi?id=38858

13 years agoconf: Load module-filter-* by default
Arun Raghavan [Mon, 15 Aug 2011 11:07:55 +0000 (16:37 +0530)]
conf: Load module-filter-* by default

This loads module-filter-heuristics and module-filter-apply by default
so that applications can request filters via properties. Not adding this
to system.pa -- the assumption is that people running system mode would
want more fine-grained control over such options.

13 years agofilter-heuristics: Don't force AEC on all phone streams
Arun Raghavan [Mon, 15 Aug 2011 10:38:40 +0000 (16:08 +0530)]
filter-heuristics: Don't force AEC on all phone streams

Removing the bit that automatically loads module-echo-cancel for phone
streams. Clients need to specifically opt in for this now with
filter.want, until we are reasonably certain this won't break other apps
(Skype for one, possibly others).

13 years agoproplist: Make filter properties line up prettily
Arun Raghavan [Mon, 15 Aug 2011 09:50:20 +0000 (15:20 +0530)]
proplist: Make filter properties line up prettily

13 years agoRemind people not to break module-tunnel
Arun Raghavan [Mon, 15 Aug 2011 09:49:10 +0000 (15:19 +0530)]
Remind people not to break module-tunnel

13 years agomemblock: use built-in function
Lu Guanqun [Mon, 15 Aug 2011 05:24:51 +0000 (13:24 +0800)]
memblock: use built-in function

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
13 years agomemblock: fix memory leak when pa_shm_create_rw fails
Lu Guanqun [Mon, 15 Aug 2011 01:51:37 +0000 (09:51 +0800)]
memblock: fix memory leak when pa_shm_create_rw fails

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
13 years agoAvoid read from freed memory
Maarten Bosmans [Sat, 13 Aug 2011 11:43:21 +0000 (13:43 +0200)]
Avoid read from freed memory

The order of freeing the hashmaps is important here, because otherwise a string used as key is freed before the hashmap
is freed.

Valgrind reports this as:
 Invalid read of size 1
    at 0x4107042: pa_idxset_string_hash_func (idxset.c:67)
    by 0x4106026: remove_entry (hashmap.c:93)
    by 0x41061BF: pa_hashmap_free (hashmap.c:110)
    by 0x71DD143: pa_dbusiface_core_free (iface-core.c:2105)
    by 0x71F2169: module_dbus_protocol_LTX_pa__done (module-dbus-protocol.c:595)
    by 0x406DC51: pa_module_free (module.c:162)
    by 0x406E01D: pa_module_unload_all (module.c:210)
    by 0x4068842: core_free (core.c:169)
    by 0x406FD5D: pa_object_unref (object.c:64)
    by 0x805224D: pa_core_unref (core.h:184)
    by 0x805560B: main (main.c:1159)
  Address 0x4d099c0 is 0 bytes inside a block of size 100 free'd
    at 0x4025BF0: free (vg_replace_malloc.c:366)
    by 0x40F128C: pa_xfree (xmalloc.c:131)
    by 0x71E4CEB: pa_dbusiface_device_free (iface-device.c:1293)
    by 0x71DCD7E: free_device_cb (iface-core.c:2062)
    by 0x41061D7: pa_hashmap_free (hashmap.c:113)
    by 0x71DD125: pa_dbusiface_core_free (iface-core.c:2104)
    by 0x71F2169: module_dbus_protocol_LTX_pa__done (module-dbus-protocol.c:595)
    by 0x406DC51: pa_module_free (module.c:162)
    by 0x406E01D: pa_module_unload_all (module.c:210)
    by 0x4068842: core_free (core.c:169)
    by 0x406FD5D: pa_object_unref (object.c:64)
    by 0x805224D: pa_core_unref (core.h:184)

13 years agoInitialise variables
Maarten Bosmans [Sat, 13 Aug 2011 11:43:20 +0000 (13:43 +0200)]
Initialise variables

These were detected using clang static analyzer.

13 years agoPlug some memory leaks
Maarten Bosmans [Sat, 13 Aug 2011 11:43:19 +0000 (13:43 +0200)]
Plug some memory leaks

These were detected with valgrind.

13 years agomodule-tunnel: Fix for new protocol versions
Maarten Bosmans [Sat, 13 Aug 2011 11:43:18 +0000 (13:43 +0200)]
module-tunnel: Fix for new protocol versions

The commit 7ebc5033 resulted in segfaults, because format->plist was not allocated.
The solution is not to allocate pa_format_info on the stack, but to properly use pa_format_info_new().
Also a typo regarding pa_tagstruct_putu8 is corrected.

13 years agosvolume: Make log messages more precise.
Tanu Kaskinen [Sat, 13 Aug 2011 11:48:34 +0000 (14:48 +0300)]
svolume: Make log messages more precise.

I was looking at a log, and noticed the following lines:

I  [pulseaudio] svolume_mmx.c: Initialising MMX optimized functions.
I  [pulseaudio] remap_mmx.c: Initialising MMX optimized remappers.
I  [pulseaudio] svolume_sse.c: Initialising SSE2 optimized functions.
I  [pulseaudio] remap_sse.c: Initialising SSE2 optimized remappers.
I  [pulseaudio] sconv_sse.c: Initialising SSE2 optimized conversions.

It seemed odd that some messages were somewhat precise in
what functionality was initialized, while the svolume
messages told me that they had initialized just "functions".
So I made the svolume log messages more precise to match the
sconv and remap messages.

13 years agodaemon-conf: Don't make log files executable.
Tanu Kaskinen [Sat, 13 Aug 2011 11:35:31 +0000 (14:35 +0300)]
daemon-conf: Don't make log files executable.

13 years agosink-input: Avoid fake rewind in corked state
Wang Xingchao [Sat, 13 Aug 2011 11:55:06 +0000 (13:55 +0200)]
sink-input: Avoid fake rewind in corked state

sink_input_request_rewind() does nothing if we are in the corked state.
Thus do not set the new state untill we have issued the rewind request.

13 years agodevice-restore: Log invalid sink index while setting formats
Arun Raghavan [Mon, 15 Aug 2011 06:37:02 +0000 (12:07 +0530)]
device-restore: Log invalid sink index while setting formats

This makes it easier to catch errors when using 'pactl set-sink-formats'

13 years agosink: Fix lazy commenting
Arun Raghavan [Mon, 15 Aug 2011 05:53:59 +0000 (11:23 +0530)]
sink: Fix lazy commenting

13 years agopactl: Add a set-sink-formats command
Arun Raghavan [Mon, 15 Aug 2011 04:17:09 +0000 (09:47 +0530)]
pactl: Add a set-sink-formats command

This uses the module-device-restore protocol extension to save formats
on sinks that support it.

13 years agoformat: Add string to pa_format_info conversion function
Arun Raghavan [Fri, 12 Aug 2011 16:25:48 +0000 (21:55 +0530)]
format: Add string to pa_format_info conversion function

This will help accept string formats from the command like (so we can
set formats using pactl).

13 years agoformat: Make pa_format_info_snprint() more parseable
Arun Raghavan [Fri, 12 Aug 2011 15:34:38 +0000 (21:04 +0530)]
format: Make pa_format_info_snprint() more parseable

Removes the comma as the proplist separator since that makes
pa_proplist_from_string() break and prints only the encoding if there
are no properties (instead of "<encoding>, (no properties)").

13 years agodevice-restore: Set sink format when possible
Arun Raghavan [Fri, 12 Aug 2011 14:57:34 +0000 (20:27 +0530)]
device-restore: Set sink format when possible

This implements the actual setting of sink formats when a new sink is
added or when the set of available formats changes.

13 years agodevice-restore: Make bools not be bit fields
Arun Raghavan [Fri, 12 Aug 2011 14:03:41 +0000 (19:33 +0530)]
device-restore: Make bools not be bit fields

This makes the pa_bool_t members of userdata not be a single bit field
since pa_bool_t can be an int, potentially causing signedness issues in
comparisons.

13 years agoalsa: Implement get/set_formats()
Arun Raghavan [Fri, 12 Aug 2011 11:06:00 +0000 (16:36 +0530)]
alsa: Implement get/set_formats()

This implements the sink get_formats() and set_formats() API in
alsa-sink. Modules can use this to allow users to specify what formats
their receivers support.

13 years agosink: Add a set_formats() API
Arun Raghavan [Fri, 12 Aug 2011 11:04:28 +0000 (16:34 +0530)]
sink: Add a set_formats() API

This adds API to let external sources specify what formats a sink
supports. Sinks must opt-in to allow this, and can perform some
validation if required.

13 years agoPlug some memory leaks and an invalid read
Maarten Bosmans [Thu, 11 Aug 2011 22:17:39 +0000 (00:17 +0200)]
Plug some memory leaks and an invalid read

Note in protocol-dbus.c specifically, method_signatures needs to be freed
before method_handlers, because otherwise h->method_name is freed while it is
still in use as a key in the method_signatures hashmap.

13 years agosink-input: Drop redundant assert (PA_SINK_INPUT_IS_LINKED() checked already)
Colin Guthrie [Thu, 11 Aug 2011 15:51:52 +0000 (17:51 +0200)]
sink-input: Drop redundant assert (PA_SINK_INPUT_IS_LINKED() checked already)

13 years agolog: Add missing pulsecore/thread.h include
Arun Raghavan [Fri, 12 Aug 2011 14:29:19 +0000 (19:59 +0530)]
log: Add missing pulsecore/thread.h include

13 years agoi18n: po file fixes
Lu Guanqun [Thu, 11 Aug 2011 16:07:26 +0000 (00:07 +0800)]
i18n: po file fixes

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
13 years agoalsa: resets POLLOUT event
Wang Xingchao [Fri, 5 Aug 2011 14:33:17 +0000 (10:33 -0400)]
alsa: resets POLLOUT event

revents marked as POLLOUT|POLLERR|POLLWRNORM in "underrun" case that will
trigger unexpected log "ALSA woke us up to write new data to the device, but
there was acturally nothing to write...".

This patch avoids this log message.

13 years agoalsa: Update process_usec before going to sleep
Wang Xingchao [Tue, 9 Aug 2011 14:14:40 +0000 (10:14 -0400)]
alsa: Update process_usec before going to sleep

During check_left_to_play/record(), the watermark may increase/decrease. So before
sleeping, update the actural sleep time based on latest watermark.

13 years agoMove i18n.[ch] to src/pulsecore
Maarten Bosmans [Wed, 10 Aug 2011 08:30:15 +0000 (10:30 +0200)]
Move i18n.[ch] to src/pulsecore

The header is used in files troughout the tree and is not included in the public api,
so it belongs in pulsecore, not in pulse.

13 years agoAdd some missing format.h includes
Maarten Bosmans [Wed, 10 Aug 2011 08:30:14 +0000 (10:30 +0200)]
Add some missing format.h includes

13 years agoInclude config.h consistently in source files and not in headers
Maarten Bosmans [Wed, 10 Aug 2011 08:30:13 +0000 (10:30 +0200)]
Include config.h consistently in source files and not in headers

13 years agosample-util: use built-in function
Lu Guanqun [Wed, 10 Aug 2011 15:12:12 +0000 (23:12 +0800)]
sample-util: use built-in function

use built-in function pa_frame_aligned().

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
13 years agoext-device-restore: Include format.h
Colin Guthrie [Wed, 10 Aug 2011 11:16:28 +0000 (13:16 +0200)]
ext-device-restore: Include format.h

13 years agoalsa: Ensure that volumes are written to the h/w at startup.
Colin Guthrie [Wed, 10 Aug 2011 08:39:57 +0000 (10:39 +0200)]
alsa: Ensure that volumes are written to the h/w at startup.

If the device support SYNC_VOLUMES then we need to do an additional push
to get the actual change on to the h/w.

13 years agoalsa-mixer: Fix rounding direction on mixer initialisation
Colin Guthrie [Mon, 18 Jul 2011 09:48:25 +0000 (10:48 +0100)]
alsa-mixer: Fix rounding direction on mixer initialisation

13 years agopactl: Make stat backwards compatible with previous versions.
Colin Guthrie [Tue, 9 Aug 2011 14:29:30 +0000 (16:29 +0200)]
pactl: Make stat backwards compatible with previous versions.

This is not ideal but in order to aid people using it in scripts
etc, we will maintain backwards compatibiliy here.

Also add a 'short' mode and mention in the man page that this
will ultimately become the default at some point in the future.

13 years agopactl: Split help string up in shorter pieces for easier translation
Maarten Bosmans [Sat, 6 Aug 2011 10:29:53 +0000 (12:29 +0200)]
pactl: Split help string up in shorter pieces for easier translation

13 years agopactl: Short --help output a bit by consolidating sink/source commands
Maarten Bosmans [Sat, 6 Aug 2011 10:29:52 +0000 (12:29 +0200)]
pactl: Short --help output a bit by consolidating sink/source commands

13 years agopactl: Update manpage
Maarten Bosmans [Sat, 6 Aug 2011 10:29:51 +0000 (12:29 +0200)]
pactl: Update manpage

13 years agolog: add thread name
Lu Guanqun [Mon, 8 Aug 2011 02:24:13 +0000 (10:24 +0800)]
log: add thread name

This patch displays thread name in the log, that would be more descriptive.
It improves Xingchao (xingchao.wang@intel.com)'s patch which shows thread id.

Signed-off-by: Lu Guanqun <guanqun.lu@intel.com>
13 years agodevice-restore: Various fixes for the protocol extension.
Colin Guthrie [Mon, 8 Aug 2011 21:29:47 +0000 (23:29 +0200)]
device-restore: Various fixes for the protocol extension.

 * 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.

13 years agoFix default.pa on non udev systems
Maarten Bosmans [Fri, 5 Aug 2011 13:33:48 +0000 (15:33 +0200)]
Fix default.pa on non udev systems

13 years agostream-restore: Save/restore source output volume/mute
Colin Guthrie [Sat, 6 Aug 2011 23:08:28 +0000 (01:08 +0200)]
stream-restore: Save/restore source output volume/mute

13 years agosource-output: Fix resampling.
Colin Guthrie [Sat, 6 Aug 2011 21:05:27 +0000 (23:05 +0200)]
source-output: Fix resampling.

When recording, we need to reverse the order of sample specs
(origin<->destination) from the sink code this was copied form.

13 years agoDocument PA_COMMAND_UNDERFLOW protocol change
David Henningsson [Thu, 4 Aug 2011 08:33:54 +0000 (10:33 +0200)]
Document PA_COMMAND_UNDERFLOW protocol change

Signed-off-by: David Henningsson <david.henningsson@canonical.com>
13 years agoFix crash in path subset elimination
David Henningsson [Thu, 4 Aug 2011 09:13:37 +0000 (11:13 +0200)]
Fix crash in path subset elimination

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>
13 years agobuild-sys: bump soname
Colin Guthrie [Tue, 2 Aug 2011 14:56:50 +0000 (15:56 +0100)]
build-sys: bump soname

13 years agoprotocol-native: Allow clients to know at what index underrun occurred
David Henningsson [Tue, 2 Aug 2011 12:34:20 +0000 (14:34 +0200)]
protocol-native: Allow clients to know at what index underrun occurred

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>
13 years agoman: add manpage for start-pulseaudio-kde and start-pulseaudio-x11
Daniel Schaal [Sat, 2 Jul 2011 19:17:43 +0000 (21:17 +0200)]
man: add manpage for start-pulseaudio-kde and start-pulseaudio-x11

13 years agobuild-sys: Check for necessary programs in bootstrap.sh
Maarten Bosmans [Wed, 27 Jul 2011 12:13:53 +0000 (14:13 +0200)]
build-sys: Check for necessary programs in bootstrap.sh

Also use glib-gettextize instead of plain gettextize.

13 years agodoc: Document subscription events better
Arun Raghavan [Wed, 27 Jul 2011 16:21:01 +0000 (21:51 +0530)]
doc: Document subscription events better

Add an explanation and some example code to make it easier for people
writing client-side code to figure out how subscription events work.

13 years agorygel: Fix introspection XML for MediaItem2
Jens Georg [Fri, 22 Jul 2011 16:25:57 +0000 (18:25 +0200)]
rygel: Fix introspection XML for MediaItem2

13 years agorygel: Properly close {sv} iters for GetAll
Jens Georg [Fri, 22 Jul 2011 16:00:13 +0000 (18:00 +0200)]
rygel: Properly close {sv} iters for GetAll

This fixes browsing the PA Sink and Source container.

13 years agovirtual: Fix volume callback setting.
Tanu Kaskinen [Thu, 21 Jul 2011 03:50:56 +0000 (06:50 +0300)]
virtual: Fix volume callback setting.

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

13 years agoreserve: Fix compile warning when compiling without dbus
Colin Guthrie [Sun, 17 Jul 2011 17:14:52 +0000 (18:14 +0100)]
reserve: Fix compile warning when compiling without dbus

13 years agoalsa-mixer: Remove workaround for USB head/handsets
Colin Guthrie [Thu, 7 Jul 2011 09:42:35 +0000 (10:42 +0100)]
alsa-mixer: Remove workaround for USB head/handsets

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.

13 years agoalsa: No need to go via sink/source to get the core.
Colin Guthrie [Thu, 7 Jul 2011 09:37:25 +0000 (10:37 +0100)]
alsa: No need to go via sink/source to get the core.

13 years agoalsa-mixer: Detect and then drop pointless paths in the path set.
Colin Guthrie [Sat, 2 Jul 2011 17:14:48 +0000 (18:14 +0100)]
alsa-mixer: Detect and then drop pointless paths in the path set.

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).

13 years agoalsa-mixer: Do not 'unify' mixer paths.
Colin Guthrie [Sat, 2 Jul 2011 15:29:00 +0000 (16:29 +0100)]
alsa-mixer: Do not 'unify' mixer paths.

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.

13 years agoalsa: Reinitialise the mixer on port change.
Colin Guthrie [Sat, 2 Jul 2011 15:23:01 +0000 (16:23 +0100)]
alsa: Reinitialise the mixer on port change.

This allows us to flip from software to hardware volume control as the port's
mixer path dictates.

13 years agodevices: Set certain sink/source flags automatically.
Colin Guthrie [Tue, 5 Jul 2011 22:44:06 +0000 (23:44 +0100)]
devices: Set certain sink/source flags automatically.

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.

13 years agodevices: Use wrapper functions to set the *_volume and *_mute callbacks.
Colin Guthrie [Sun, 17 Jul 2011 14:29:29 +0000 (15:29 +0100)]
devices: Use wrapper functions to set the *_volume and *_mute callbacks.

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.

13 years agoFix two comment typos.
Ralph Giles [Thu, 14 Jul 2011 20:59:38 +0000 (13:59 -0700)]
Fix two comment typos.

13 years agoprotocol-native: Trivial fix for a compiler warning
Arun Raghavan [Tue, 12 Jul 2011 21:46:21 +0000 (14:46 -0700)]
protocol-native: Trivial fix for a compiler warning

13 years agopadsp: Handle eol in info callbacks correctly
Arun Raghavan [Tue, 12 Jul 2011 03:59:30 +0000 (20:59 -0700)]
padsp: Handle eol in info callbacks correctly

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.

13 years agoprotocol-native: Fix invalid assert
Arun Raghavan [Tue, 12 Jul 2011 03:52:41 +0000 (20:52 -0700)]
protocol-native: Fix invalid assert

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.

13 years agoprotocol-native: Fix backward compatibility break
Arun Raghavan [Sun, 10 Jul 2011 01:27:45 +0000 (18:27 -0700)]
protocol-native: Fix backward compatibility break

This makes sure we don't perform a check on record stream volumes for
clients that don't support them.

13 years agoecho-cancel: Set sane defaults for module initialisation
Arun Raghavan [Sat, 9 Jul 2011 19:55:18 +0000 (12:55 -0700)]
echo-cancel: Set sane defaults for module initialisation

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).

13 years agomodule-waveout: Correctly handle mono volume controls on waveout device
Maarten Bosmans [Sat, 2 Jul 2011 10:12:43 +0000 (12:12 +0200)]
module-waveout: Correctly handle mono volume controls on waveout device

13 years agobuild-sys: equalizer-sink needs DBus aswell as FFTW
Colin Guthrie [Thu, 30 Jun 2011 10:58:30 +0000 (11:58 +0100)]
build-sys: equalizer-sink needs DBus aswell as FFTW