profile/ivi/pulseaudio.git
15 years agolirc,mmkvd: added module parameters volume_limit, volume_step
Vladimir Kokarev [Thu, 5 Nov 2009 03:55:21 +0000 (04:55 +0100)]
lirc,mmkvd: added module parameters volume_limit, volume_step

volume_limit sets maximum volume that can be set from the module
default is PA_VOLUME_NORM*3/2 (150%)
volume_step sets step in volume changing
default is PA_VOLUME_NORM/20
values are of raw pa_volume_t type

15 years agovolume: add pa_cvolume_inc_clamp function
Vladimir Kokarev [Sat, 19 Sep 2009 15:43:24 +0000 (19:43 +0400)]
volume: add pa_cvolume_inc_clamp function

added function to increase volume not exceeding specified limit
simply changed PA_VOLUME_MAX to 'limit' in pa_cvolume_inc
pa_cvolume_inc now calls pa_cvolume_inc_clamp with PA_VOLUME_MAX limit

15 years agoalsa: disable timer-based scheduling inside a VM
Lennart Poettering [Thu, 5 Nov 2009 02:23:08 +0000 (03:23 +0100)]
alsa: disable timer-based scheduling inside a VM

In virtual machines sound card clocks and OS scheduling tend to become
unreliable, adding various 'uneven' latencies. The adaptive algorithm
that handles drop-outs does not handle it this well: in contrast to
drop-outs on real machines that are evenly distributed, small and can
easily be encountered via the adpative algorithms, drop-outs in VMs tend
to happen abruptly, and massively, which is not easy to counter.

This patch simply disables timer based scheduling in VMs reverting to
classic IO based scheduling. This should help make PA perform better in
VMs.

https://bugzilla.redhat.com/show_bug.cgi?id=532775

15 years agodaemon: during startup say whether we run in a VM
Lennart Poettering [Thu, 5 Nov 2009 02:22:48 +0000 (03:22 +0100)]
daemon: during startup say whether we run in a VM

15 years agocore-util: add call to detect if we are called from within a VM
Lennart Poettering [Thu, 5 Nov 2009 02:22:15 +0000 (03:22 +0100)]
core-util: add call to detect if we are called from within a VM

15 years agoalsa: introduce more standard path names
Lennart Poettering [Thu, 5 Nov 2009 02:21:10 +0000 (03:21 +0100)]
alsa: introduce more standard path names

15 years agoalsa: cover 'Analog Output' control
Lennart Poettering [Tue, 3 Nov 2009 23:15:47 +0000 (00:15 +0100)]
alsa: cover 'Analog Output' control

http://pulseaudio.org/ticket/702

15 years agoMerge remote branch 'phish3/master'
Lennart Poettering [Sat, 31 Oct 2009 02:49:02 +0000 (03:49 +0100)]
Merge remote branch 'phish3/master'

15 years agoalsa: create a seperate mixer path for Speaker elements
Lennart Poettering [Sat, 31 Oct 2009 02:43:42 +0000 (03:43 +0100)]
alsa: create a seperate mixer path for Speaker elements

On some cards line-out is independant of Sepaker and it is a good idea
to cover that so that they can independantly be activated.

https://bugzilla.redhat.com/show_bug.cgi?id=520884

15 years agoalsa: leave other headphone control enabled if possible
Lennart Poettering [Sat, 31 Oct 2009 02:42:42 +0000 (03:42 +0100)]
alsa: leave other headphone control enabled if possible

15 years agoalsa: lower priority for Headphone2 path
Lennart Poettering [Sat, 31 Oct 2009 02:41:21 +0000 (03:41 +0100)]
alsa: lower priority for Headphone2 path

15 years agoalsa: cover Input Source:AUX IN
Lennart Poettering [Sat, 31 Oct 2009 02:25:32 +0000 (03:25 +0100)]
alsa: cover Input Source:AUX IN

As seen on some HDA chips:

https://bugzilla.redhat.com/attachment.cgi?id=359804

15 years agoalsa: cover Headphone2 mixer element
Lennart Poettering [Sat, 31 Oct 2009 02:10:00 +0000 (03:10 +0100)]
alsa: cover Headphone2 mixer element

As seen on some drivers:

https://bugzilla.redhat.com/show_bug.cgi?id=498612

15 years agoalsa: cover 'Digital Input Source' element
Lennart Poettering [Sat, 31 Oct 2009 01:56:57 +0000 (02:56 +0100)]
alsa: cover 'Digital Input Source' element

As used by some HDA devices:

https://bugzilla.redhat.com/attachment.cgi?id=365290

15 years agoalsa: cover Mic Jack Mode element
Lennart Poettering [Sat, 31 Oct 2009 01:49:44 +0000 (02:49 +0100)]
alsa: cover Mic Jack Mode element

As used by some HDA chips:

https://bugzilla.redhat.com/attachment.cgi?id=366816

15 years agodaemon: make sure pa has its own session and process group, but is not its leader...
Lennart Poettering [Sat, 31 Oct 2009 01:43:47 +0000 (02:43 +0100)]
daemon: make sure pa has its own session and process group, but is not its leader so that we cannot acquire a tty ever

15 years agobluetooth: do not hand out access to devices that are not fully configured yet
Lennart Poettering [Sat, 31 Oct 2009 01:05:54 +0000 (02:05 +0100)]
bluetooth: do not hand out access to devices that are not fully configured yet

15 years agoconfigure.ac: enable check for CoreAudio
Daniel Mack [Sat, 31 Oct 2009 00:58:26 +0000 (01:58 +0100)]
configure.ac: enable check for CoreAudio

15 years agodaemon: realpath segfault fix
David Yoder [Fri, 30 Oct 2009 14:54:08 +0000 (09:54 -0500)]
daemon: realpath segfault fix

Lennart,

Apparently I was debugging this at the same time as you. I can't figure out
why my Fedora 11 install with glibc-2.10 has a glibc realpath that doesn't
match the gnu documentation and returns null. But it does.

Your commit aa8ce5bb9b159abb2ffb0f43996340566fc2e9c6 almost fixed my
problem, but it needs a tweak.

Thanks,
David Yoder

15 years agoMac OS X: add semaphore implementation
Daniel Mack [Mon, 19 Oct 2009 10:48:00 +0000 (12:48 +0200)]
Mac OS X: add semaphore implementation

On Wed, Sep 16, 2009 at 11:57:04PM +0200, Lennart Poettering wrote:
> On Wed, 16.09.09 15:15, Daniel Mack (daniel@caiaq.de) wrote:
>
> > +    s = pa_xnew(pa_semaphore, 1);
> > +    MPCreateSemaphore(UINT_MAX, value, &(s->sema));
> > +    pa_assert(s->sema != 0);
>
> Hmm, I'd prefer if the ret val of MPCreateSemaphore() would be checked
> here.
>
> Also I find it a bit weird checking for s->sema, though not
> initializing it to 0 in the beginning. If the call actually failed,
> then the assert will check uninitialized memory. Also, comparing
> pointers with 0 sucks. That should be NULL.
>
> Given that this can not realisitically fail, only in OOM or OOM-like
> situations in which case we abort anyway it mght be enough just writing:
>
> pa_assert_se(MPCreateSemaphore(UINT_MAX, value, &s->sema) == 0);
>
> (Assuming that success is signalled by retval == 0 on MacOSX)
>
> > +void pa_semaphore_free(pa_semaphore *s) {
> > +    pa_assert(s);
> > +    MPDeleteSemaphore(s->sema);
>
> Same here.
>
> > +    pa_xfree(s);
> > +}
> > +
> > +void pa_semaphore_post(pa_semaphore *s) {
> > +    pa_assert(s);
> > +    MPSignalSemaphore(s->sema);
>
> And here.
>
> > +}
> > +
> > +void pa_semaphore_wait(pa_semaphore *s) {
> > +    pa_assert(s);
> > +    /* should probably check return value (-ve is error), noErr is ok. */
> > +    MPWaitOnSemaphore(s->sema, kDurationForever);
>
> And here.

Ok, done. See the patch below.

Daniel

>From 26df2fbae6d9215a3ae084876fb5f79e4d9cf4f0 Mon Sep 17 00:00:00 2001
From: Kim Lester <kim@dfusion.com.au>
Date: Wed, 16 Sep 2009 09:23:39 +0800
Subject: [PATCH] Mac OS X: add semaphore implementation

15 years agoWrap clock_gettime and friends
Daniel Mack [Mon, 19 Oct 2009 10:45:30 +0000 (12:45 +0200)]
Wrap clock_gettime and friends

On Wed, Sep 16, 2009 at 11:48:58PM +0200, Lennart Poettering wrote:
> On Wed, 16.09.09 15:15, Daniel Mack (daniel@caiaq.de) wrote:
>
> > From: Kim Lester <kim@dfusion.com.au>
> >
> > OS X does not define clockid_t or clock_gettime() and friends.
> > Add a wrapper to fix this.
>
> Hmpf. I am not particularly happy with this. This adds a lot of
> unnecessary compat code. We don't actually need implementations of
> clock_getres(). All we need is some kind of check whether system
> timers are accurate or whether they are rounded up to scheduling
> slices. On Linux we do that check with clock_getres(), but all the
> information it returns is actually not intertesting at all. We just
> check if this is below some trheshold, that's all.
>
> clock_settime() we don't use at all! We shouldn't carry compat code
> for that.
>
> And clock_gettime we don't really need either. We need some kind of
> accurate system timers (preferably monotonic), and on Linux we use
> clock_gettime() for that. But we already have a fallback there for
> gettimeofday().
>
> Or in other words, the current APIs pa_rtclock_get(),
> pa_rtclock_hrtimer() is supposed to be the abstract API that has
> different backends on different systems. I'd very much prefer if any
> MacOS specific code would simply be plugged in there instead of
> creating various new abstraction interfaces!

Ok - what about the version below? I don't particularily like the

Daniel

>From 9f0a051953ec354ccdb8aa44a9845c408b26ae0b Mon Sep 17 00:00:00 2001
From: Kim Lester <kim@dfusion.com.au>
Date: Wed, 16 Sep 2009 14:40:01 +0800
Subject: [PATCH] Implement pa_rtclock_get() and pa_rtclock_hrtimer() for Darwin

OS X does not define clockid_t or clock_gettime() and friends.
Add wrappers to fix this. Based on a patch from Kim Lester
<kim@dfusion.com.au>.

15 years agoX11: attach X11 properties to Screen, not Display
Leszek Koltunski [Tue, 27 Oct 2009 11:57:43 +0000 (19:57 +0800)]
X11: attach X11 properties to Screen, not Display

15 years agogit: ignore kde related files
Lennart Poettering [Fri, 30 Oct 2009 04:20:00 +0000 (05:20 +0100)]
git: ignore kde related files

15 years agosvolume: fix MMX error
Wim Taymans [Thu, 29 Oct 2009 13:49:52 +0000 (14:49 +0100)]
svolume: fix MMX error

We need to sign extend the lower part of the multiplication before adding it to
the higher part. Makes -1 * 0xffff work again.

15 years agosink: simplify silence checks
Wim Taymans [Thu, 29 Oct 2009 11:47:42 +0000 (12:47 +0100)]
sink: simplify silence checks

15 years agodaemon: don't crash if pa_realpath() fails
Lennart Poettering [Fri, 30 Oct 2009 04:08:48 +0000 (05:08 +0100)]
daemon: don't crash if pa_realpath() fails

15 years agosocket-util: drop redundant casts
Lennart Poettering [Fri, 30 Oct 2009 03:55:13 +0000 (04:55 +0100)]
socket-util: drop redundant casts

15 years agosocket-util: allocate at least sizeof(sockaddr_storage) space
Lennart Poettering [Fri, 30 Oct 2009 03:54:55 +0000 (04:54 +0100)]
socket-util: allocate at least sizeof(sockaddr_storage) space

15 years agouse pa_fopen_cloexec() where applicable
Lennart Poettering [Fri, 30 Oct 2009 03:54:19 +0000 (04:54 +0100)]
use pa_fopen_cloexec() where applicable

15 years agotdb: use O_CLOEXEC if available
Lennart Poettering [Fri, 30 Oct 2009 03:53:15 +0000 (04:53 +0100)]
tdb: use O_CLOEXEC if available

15 years agocore-util: introduce pa_fopen_cloexec()
Lennart Poettering [Fri, 30 Oct 2009 03:20:24 +0000 (04:20 +0100)]
core-util: introduce pa_fopen_cloexec()

15 years agocore-util: make sure to enable FD_CLOEXEC unconditionally to cope with kernels that...
Lennart Poettering [Fri, 30 Oct 2009 03:16:59 +0000 (04:16 +0100)]
core-util: make sure to enable FD_CLOEXEC unconditionally to cope with kernels that silently accept but ignore O_CLOEXEC

15 years agouse cloexec wrappers wherever applicable
Lennart Poettering [Fri, 30 Oct 2009 02:32:38 +0000 (03:32 +0100)]
use cloexec wrappers wherever applicable

15 years agocore-util: introduce FD_CLOEXEC wrappers for open/socket/pipe/accept
Lennart Poettering [Fri, 30 Oct 2009 02:30:42 +0000 (03:30 +0100)]
core-util: introduce FD_CLOEXEC wrappers for open/socket/pipe/accept

15 years agomodule-equalizer-sink:
Jason Newton [Fri, 30 Oct 2009 02:10:16 +0000 (19:10 -0700)]
module-equalizer-sink:
    add premultipliar to sse2 dsp_logic implementation

15 years agomodule-equalizer-sink: try to limit buffering to mempool's max_block_size and disable...
Jason Newton [Mon, 26 Oct 2009 21:55:11 +0000 (14:55 -0700)]
module-equalizer-sink: try to limit buffering to mempool's max_block_size and disable debug output

15 years agodrop redundant alloc call
Jason Newton [Sat, 24 Oct 2009 00:06:30 +0000 (17:06 -0700)]
drop redundant alloc call

15 years agoMerge remote branch 'origin/master'
Lennart Poettering [Thu, 29 Oct 2009 00:54:45 +0000 (01:54 +0100)]
Merge remote branch 'origin/master'

15 years agosimd: update test cases
Lennart Poettering [Thu, 29 Oct 2009 00:52:39 +0000 (01:52 +0100)]
simd: update test cases

15 years agosmoother: add comments about optimization recommendations from Jason Newton
Lennart Poettering [Thu, 29 Oct 2009 00:49:40 +0000 (01:49 +0100)]
smoother: add comments about optimization recommendations from Jason Newton

15 years agolibpulse: introduce PA_STREAM_RELATIVE_VOLUME
Lennart Poettering [Wed, 28 Oct 2009 23:46:22 +0000 (00:46 +0100)]
libpulse: introduce PA_STREAM_RELATIVE_VOLUME

15 years agoprotocol-native: if a client set volume/mute/device store it since it is user input
Lennart Poettering [Wed, 28 Oct 2009 22:50:42 +0000 (23:50 +0100)]
protocol-native: if a client set volume/mute/device store it since it is user input

15 years agolibpulse: explain semantics of pa_stream_connect_playback() in more detail
Lennart Poettering [Wed, 28 Oct 2009 22:47:50 +0000 (23:47 +0100)]
libpulse: explain semantics of pa_stream_connect_playback() in more detail

15 years agoprotocol-native: declare that user configured volumes are always absolute
Lennart Poettering [Wed, 28 Oct 2009 22:47:21 +0000 (23:47 +0100)]
protocol-native: declare that user configured volumes are always absolute

15 years agopactl: format cookie a little bit nicer
Lennart Poettering [Wed, 28 Oct 2009 22:28:12 +0000 (23:28 +0100)]
pactl: format cookie a little bit nicer

15 years agopactl: include information about client context in pactl stat output
Lennart Poettering [Wed, 28 Oct 2009 22:27:50 +0000 (23:27 +0100)]
pactl: include information about client context in pactl stat output

15 years agoclients: drop definition of BUFSIZE which is unused
Lennart Poettering [Wed, 28 Oct 2009 22:27:14 +0000 (23:27 +0100)]
clients: drop definition of BUFSIZE which is unused

15 years agolibpulse: introduce pa_context_get_tile_size() call
Lennart Poettering [Wed, 28 Oct 2009 22:26:48 +0000 (23:26 +0100)]
libpulse: introduce pa_context_get_tile_size() call

15 years agomemblock: decrease tile size to 64k again
Lennart Poettering [Wed, 28 Oct 2009 20:29:01 +0000 (21:29 +0100)]
memblock: decrease tile size to 64k again

15 years agomodule-equalizer-sink: drop source executable permissions configure.ac: add enable...
Jason Newton [Tue, 20 Oct 2009 01:28:25 +0000 (18:28 -0700)]
module-equalizer-sink: drop source executable permissions configure.ac: add enable/disable + summary line for fftw

15 years agomodule-equalizer-sink:
Jason Newton [Sun, 18 Oct 2009 21:52:32 +0000 (14:52 -0700)]
module-equalizer-sink:
    *fixed SSE2 optimized dsp logic (default if available)
    *cleaned up whitespace formatting (again)

15 years agomodule-equalizer-sink: fixed equalizer state save/restore
Jason Newton [Fri, 9 Oct 2009 03:46:52 +0000 (20:46 -0700)]
module-equalizer-sink: fixed equalizer state save/restore

15 years agomodule-equalizer-sink: drop source executable permissions configure.ac: add enable...
Jason Newton [Tue, 20 Oct 2009 01:28:25 +0000 (18:28 -0700)]
module-equalizer-sink: drop source executable permissions configure.ac: add enable/disable + summary line for fftw

15 years agodevice-manager: Fix compiler warning.
Colin Guthrie [Mon, 19 Oct 2009 20:50:03 +0000 (21:50 +0100)]
device-manager: Fix compiler warning.

Do not use a variable called 'index' as it clashes with string.h

15 years agomodule-equalizer-sink:
Jason Newton [Sun, 18 Oct 2009 21:52:32 +0000 (14:52 -0700)]
module-equalizer-sink:
    *fixed SSE2 optimized dsp logic (default if available)
    *cleaned up whitespace formatting (again)

15 years agomodule-equalizer-sink: fixed equalizer state save/restore
Jason Newton [Fri, 9 Oct 2009 03:46:52 +0000 (20:46 -0700)]
module-equalizer-sink: fixed equalizer state save/restore

15 years agolibpulse: add missing includes
Lennart Poettering [Mon, 12 Oct 2009 19:20:45 +0000 (21:20 +0200)]
libpulse: add missing includes

15 years agobuil-sys: fix build w/o DBus
Daniel Mack [Thu, 8 Oct 2009 06:45:34 +0000 (08:45 +0200)]
buil-sys: fix build w/o DBus

The current git head does not build without DBus libraries installed.
Does the patch below look suitable?

Thanks,
Daniel

>From f69145fc603c56cef02134ceeba10e1727fa217e Mon Sep 17 00:00:00 2001
From: Daniel Mack <daniel@caiaq.de>
Date: Thu, 8 Oct 2009 14:41:21 +0800
Subject: [PATCH] Makefile.am: fix builds without DBus

Signed-off-by: Daniel Mack <daniel@caiaq.de>
15 years agodevice-manager: Rather than flagging the device as available, just include the sink...
Colin Guthrie [Sat, 10 Oct 2009 13:19:39 +0000 (14:19 +0100)]
device-manager: Rather than flagging the device as available, just include the sink/source index with PA_INVALID_INDEX meaning unavailable

15 years agoFix build when using -fweb, accept both register and memory constraints.
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:31:11 +0000 (19:31 +0200)]
Fix build when using -fweb, accept both register and memory constraints.

This was reported as Gentoo bug #287391 by Torsten Kaiser, and the fix was
suggested by Mike Frysinger.

15 years agoAdd check for FFTW, and add option to disable it at build-time.
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:30:11 +0000 (19:30 +0200)]
Add check for FFTW, and add option to disable it at build-time.

This way there will be a message at configure if FFTW is not found, and
this gets in-line with the rest of the modules' dependencies.

15 years agoFix out-of-tree builds when dbus module is enabled.
Diego Elio 'Flameeyes' Pettenò [Wed, 7 Oct 2009 17:29:33 +0000 (19:29 +0200)]
Fix out-of-tree builds when dbus module is enabled.

15 years agoMerge remote branch 'coling/history'
Lennart Poettering [Wed, 7 Oct 2009 01:46:06 +0000 (03:46 +0200)]
Merge remote branch 'coling/history'

15 years agoMerge remote branch 'phish3/master'
Lennart Poettering [Wed, 7 Oct 2009 01:43:24 +0000 (03:43 +0200)]
Merge remote branch 'phish3/master'

15 years agoMerge remote branch 'tanuk/dbus-work'
Lennart Poettering [Wed, 7 Oct 2009 01:39:30 +0000 (03:39 +0200)]
Merge remote branch 'tanuk/dbus-work'

15 years agoposition-event-sounds: never position test sounds in space
Lennart Poettering [Tue, 6 Oct 2009 21:34:22 +0000 (23:34 +0200)]
position-event-sounds: never position test sounds in space

15 years agoalsa: disable period event only with tsched=1
Lennart Poettering [Mon, 5 Oct 2009 22:17:24 +0000 (00:17 +0200)]
alsa: disable period event only with tsched=1

15 years agoloopback: Setting latency of module-loopback
Tor-Björn Claesson [Fri, 2 Oct 2009 12:13:59 +0000 (14:13 +0200)]
loopback: Setting latency of module-loopback

I checked the source code, and latency_msec is missing from the list
of valid module arguments. Attaching a patch to add it.

15 years agobluetooth: don't set auto_connect flag when discovering bt devices
Lennart Poettering [Sun, 4 Oct 2009 11:00:51 +0000 (13:00 +0200)]
bluetooth: don't set auto_connect flag when discovering bt devices

15 years agodevice-manager: Play nice with module-stream-restore.
Colin Guthrie [Fri, 2 Oct 2009 21:44:56 +0000 (22:44 +0100)]
device-manager: Play nice with module-stream-restore.

If m-s-r sets the device we let it do so. Otherwise we handle the routing. We run before
module-intended-roles as the priority list will likely be configured appropriately
to do the same job, albeit with manual setup.

15 years agodevice-manager: Make use of PA_IDXSET_FOREACH when applying entries.
Colin Guthrie [Fri, 2 Oct 2009 20:04:03 +0000 (21:04 +0100)]
device-manager: Make use of PA_IDXSET_FOREACH when applying entries.

15 years agodevice-manager: Keep track as to whether or not the user specifically renamed the...
Colin Guthrie [Fri, 2 Oct 2009 20:01:19 +0000 (21:01 +0100)]
device-manager: Keep track as to whether or not the user specifically renamed the device.

If the user has not (via our protocol extension) renamed a device, but it happens to now have
a different name (e.g. module-combine automatically updating the description for us or udev-db
getting better etc.) then make sure we update our cache with this updated version.

If the user has set a name, enforce it's use, even if the description is updated by some other
means (e.g. the user manually editing the proplist or another module doing it for them).

15 years agodevice-manager: No need to check the version after calling read_entry()
Colin Guthrie [Fri, 2 Oct 2009 18:12:10 +0000 (19:12 +0100)]
device-manager: No need to check the version after calling read_entry()

15 years agoMerge branch 'master' into dbus-work
Tanu Kaskinen [Fri, 2 Oct 2009 14:24:44 +0000 (17:24 +0300)]
Merge branch 'master' into dbus-work

Conflicts:
src/daemon/daemon-conf.c

15 years agomodule-equalizer-sink: disable active profile name restoration as something in pack...
Jason Newton [Sat, 19 Sep 2009 18:15:05 +0000 (11:15 -0700)]
module-equalizer-sink: disable active profile name restoration as something in pack/unpack is funky and I don't have time for a
proper fix

15 years agomodule-equalizer-sink: *added client initiated sync support for filter state *added...
Jason Newton [Fri, 18 Sep 2009 12:48:01 +0000 (05:48 -0700)]
module-equalizer-sink: *added client initiated sync support for filter state *added note of possible unstable behavior with next-power-of-2 sample rate calculation

15 years agomodule-equalizer-sink: resyncing with head and fix invalid writes
Jason Newton [Wed, 26 Aug 2009 08:15:49 +0000 (01:15 -0700)]
module-equalizer-sink: resyncing with head and fix invalid writes
    * pa_log->debug for default equalizer notification
    * partially fixed infinite rewind bug
    * set max_request to window_size first iteration
    * swap order inside ROUND_UP calls
    * resync pa_sink_input_new changes
    * change pa_sample_clamp parameters to be correct to fix invalid writes
    * reenable proper reset logic + proper request size

15 years agodevice-manager: Fix typo in module loading script.
Colin Guthrie [Thu, 1 Oct 2009 23:49:50 +0000 (00:49 +0100)]
device-manager: Fix typo in module loading script.

15 years agodevice-manager: Add some scripts that are only run under KDE to load/initialise modul...
Colin Guthrie [Thu, 1 Oct 2009 21:33:22 +0000 (22:33 +0100)]
device-manager: Add some scripts that are only run under KDE to load/initialise module-device-manager with routing turned on.

15 years agodevice-manager: Misc fixes to co-exist with other stream management/routing modules.
Colin Guthrie [Thu, 1 Oct 2009 21:12:16 +0000 (22:12 +0100)]
device-manager: Misc fixes to co-exist with other stream management/routing modules.

 * Do not read or set the save_sink/save_source flags. This seems to be for module-stream-restore only...
 * Even if a sink is already set by an earlier module, still move it to the sink we dictate.

15 years agodevice-manager: Misc fixes.
Colin Guthrie [Thu, 1 Oct 2009 20:30:24 +0000 (21:30 +0100)]
device-manager: Misc fixes.

 * Fix a s/sink/source/ copy paste issue when dumping the database.
 * Only show priority list when routing is enabled (as the list is not updated if not)
 * Fix a memory access issue when finding the highest priority sinks/sources
 * key name->device name efficiency fix.
 * Silence noisy debug on reorder - it seems to work :)
 * Reroute after reordering.
 * Initialise preferred lists to PA_INVALID_INDEX

15 years agodevice-manager: Fix the writing of the database when priority doesn't change.
Colin Guthrie [Thu, 1 Oct 2009 19:13:38 +0000 (20:13 +0100)]
device-manager: Fix the writing of the database when priority doesn't change.

15 years agodevice-manager: Add extra debug messages
Colin Guthrie [Thu, 1 Oct 2009 08:07:42 +0000 (09:07 +0100)]
device-manager: Add extra debug messages

15 years agodevice-manager: Change the prefer/defer options to a single 'reorder' command.
Colin Guthrie [Thu, 1 Oct 2009 00:27:02 +0000 (01:27 +0100)]
device-manager: Change the prefer/defer options to a single 'reorder' command.

We put in the devices from the wire into a hashmap and then add all like type device in the database
and then order them based on priority (with the ones specified on the wire always being in that order at
the top of the list.

15 years agodevice-manager: Don't notify clients on every subscription (it happens all the time).
Colin Guthrie [Sun, 27 Sep 2009 15:55:31 +0000 (16:55 +0100)]
device-manager: Don't notify clients on every subscription (it happens all the time).

Also compare the entries fully before saving.

15 years agodevice-manager: Save icon and report current availability over protocol.
Colin Guthrie [Sun, 27 Sep 2009 02:11:44 +0000 (03:11 +0100)]
device-manager: Save icon and report current availability over protocol.

This also ensures we let clients know whenver a sink changes in some capacity.
Also correct some debug code.

15 years agodevice-manager: Expose the priority lists in the protocol extension.
Colin Guthrie [Sat, 26 Sep 2009 13:36:36 +0000 (14:36 +0100)]
device-manager: Expose the priority lists in the protocol extension.

Also leave space for 'icon' and 'available' details too, althought currently this info is dummy.

15 years agodevice-manager: Add a function to dump the database which we do whenever we save...
Colin Guthrie [Mon, 21 Sep 2009 17:50:00 +0000 (18:50 +0100)]
device-manager: Add a function to dump the database which we do whenever we save it (and on startup)

15 years agodevice-manager: Reroute streams when they change allowing the media.role to be update...
Colin Guthrie [Sun, 20 Sep 2009 20:19:41 +0000 (21:19 +0100)]
device-manager: Reroute streams when they change allowing the media.role to be updated mid-stream.

We do not handle the _EVENT_NEW subscription here as the PA_CORE_HOOK_SINK_INPUT_NEW/PA_CORE_HOOK_SOURCE_OUTPUT_NEW
hook should handle the initial routing.

15 years agodevice-manager: Refactor the routing method to allow the routing of a single stream
Colin Guthrie [Sun, 20 Sep 2009 19:57:34 +0000 (20:57 +0100)]
device-manager: Refactor the routing method to allow the routing of a single stream

15 years agodevice-manager: More sensible names for internal functions
Colin Guthrie [Sun, 20 Sep 2009 19:50:23 +0000 (20:50 +0100)]
device-manager: More sensible names for internal functions

15 years agodevice-manager: Reroute the streams on startup and update our cache on enable.
Colin Guthrie [Sun, 20 Sep 2009 19:48:58 +0000 (20:48 +0100)]
device-manager: Reroute the streams on startup and update our cache on enable.

15 years agodevice-manager: Keep a cache of the highest priority devices for each role.
Colin Guthrie [Sun, 20 Sep 2009 19:34:52 +0000 (20:34 +0100)]
device-manager: Keep a cache of the highest priority devices for each role.

Rather than querying our database on every new stream, we keep a cache and only update it when a sink/source is added/removed.

15 years agodevice-manager: Fix the database write mode
Colin Guthrie [Sun, 20 Sep 2009 18:30:31 +0000 (19:30 +0100)]
device-manager: Fix the database write mode

15 years agodevice-manager: Update exports
Colin Guthrie [Sun, 20 Sep 2009 18:18:22 +0000 (19:18 +0100)]
device-manager: Update exports

15 years agodevice-manager: Some efficiency and safety tweaks
Colin Guthrie [Sun, 20 Sep 2009 17:39:50 +0000 (18:39 +0100)]
device-manager: Some efficiency and safety tweaks

15 years agodevice-manager: Allow the routing component to be turned on via a module argument...
Colin Guthrie [Sun, 20 Sep 2009 17:31:10 +0000 (18:31 +0100)]
device-manager: Allow the routing component to be turned on via a module argument as well as via protocol extn.

15 years agodevice-manager: Remove unused variables
Colin Guthrie [Sun, 20 Sep 2009 17:24:51 +0000 (18:24 +0100)]
device-manager: Remove unused variables

15 years agodevice-manager: Set the most appropriate sink/source when new streams are created
Colin Guthrie [Sun, 20 Sep 2009 17:23:52 +0000 (18:23 +0100)]
device-manager: Set the most appropriate sink/source when new streams are created

15 years agodevice-manager: Add routing functions that are triggered when sinks/soruces are added...
Colin Guthrie [Sun, 20 Sep 2009 17:08:40 +0000 (18:08 +0100)]
device-manager: Add routing functions that are triggered when sinks/soruces are added/removed.