Commit graph

5057 commits

Author SHA1 Message Date
Colin Guthrie
9e45f198d0 device-manager: Update docs version -> 0.9.20 2009-11-09 21:57:07 +00:00
Lennart Poettering
721e32b473 jack: never try to autoconnect to MIDI ports
Original patch supplied by 'adi'

http://pulseaudio.org/ticket/669
2009-11-05 05:18:10 +01:00
Lennart Poettering
38a03c1e4f man: fix build with --disable-manpages
http://pulseaudio.org/ticket/698
2009-11-05 05:08:50 +01:00
Vladimir Kokarev
7793da371b 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
2009-11-05 04:57:15 +01:00
Vladimir Kokarev
d2c59354d5 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
2009-11-05 04:56:47 +01:00
Lennart Poettering
53b046d5c9 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
2009-11-05 03:23:08 +01:00
Lennart Poettering
c079ceeba0 daemon: during startup say whether we run in a VM 2009-11-05 03:22:48 +01:00
Lennart Poettering
642c69bed8 core-util: add call to detect if we are called from within a VM 2009-11-05 03:22:15 +01:00
Lennart Poettering
19516d4e7f alsa: introduce more standard path names 2009-11-05 03:21:10 +01:00
Lennart Poettering
83b181f92a alsa: cover 'Analog Output' control
http://pulseaudio.org/ticket/702
2009-11-04 00:15:47 +01:00
Lennart Poettering
7938442f77 Merge remote branch 'phish3/master' 2009-10-31 03:49:02 +01:00
Lennart Poettering
6839ef6874 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
2009-10-31 03:43:42 +01:00
Lennart Poettering
73a4f4fdbc alsa: leave other headphone control enabled if possible 2009-10-31 03:42:42 +01:00
Lennart Poettering
591ade1aca alsa: lower priority for Headphone2 path 2009-10-31 03:41:21 +01:00
Lennart Poettering
73d9d317b2 alsa: cover Input Source:AUX IN
As seen on some HDA chips:

https://bugzilla.redhat.com/attachment.cgi?id=359804
2009-10-31 03:25:32 +01:00
Lennart Poettering
220ac0a61a alsa: cover Headphone2 mixer element
As seen on some drivers:

https://bugzilla.redhat.com/show_bug.cgi?id=498612
2009-10-31 03:10:00 +01:00
Lennart Poettering
430e8e2ee5 alsa: cover 'Digital Input Source' element
As used by some HDA devices:

https://bugzilla.redhat.com/attachment.cgi?id=365290
2009-10-31 02:56:57 +01:00
Lennart Poettering
3e115a96b0 alsa: cover Mic Jack Mode element
As used by some HDA chips:

https://bugzilla.redhat.com/attachment.cgi?id=366816
2009-10-31 02:52:35 +01:00
Lennart Poettering
8e94f65348 daemon: make sure pa has its own session and process group, but is not its leader so that we cannot acquire a tty ever 2009-10-31 02:43:47 +01:00
Lennart Poettering
2dc37e1214 bluetooth: do not hand out access to devices that are not fully configured yet 2009-10-31 02:05:54 +01:00
Daniel Mack
b83d7a27ce configure.ac: enable check for CoreAudio 2009-10-31 02:00:58 +01:00
David Yoder
5c57650769 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 aa8ce5bb9b almost fixed my
problem, but it needs a tweak.

Thanks,
David Yoder
2009-10-31 01:56:59 +01:00
Daniel Mack
542fa468c2 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
2009-10-31 01:34:04 +01:00
Daniel Mack
b04fe9b516 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>.
2009-10-31 01:33:13 +01:00
Leszek Koltunski
65e8078a3b X11: attach X11 properties to Screen, not Display 2009-10-30 05:24:41 +01:00
Lennart Poettering
366ab9633b git: ignore kde related files 2009-10-30 05:20:00 +01:00
Wim Taymans
056930cbcd 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.
2009-10-30 05:09:15 +01:00
Wim Taymans
8a49514f74 sink: simplify silence checks 2009-10-30 05:09:05 +01:00
Lennart Poettering
aa8ce5bb9b daemon: don't crash if pa_realpath() fails 2009-10-30 05:08:48 +01:00
Lennart Poettering
a82c6b0cd5 socket-util: drop redundant casts 2009-10-30 04:55:13 +01:00
Lennart Poettering
75f7a971db socket-util: allocate at least sizeof(sockaddr_storage) space 2009-10-30 04:54:55 +01:00
Lennart Poettering
168be3830a use pa_fopen_cloexec() where applicable 2009-10-30 04:54:19 +01:00
Lennart Poettering
88b72958be tdb: use O_CLOEXEC if available 2009-10-30 04:53:15 +01:00
Lennart Poettering
752727a13d core-util: introduce pa_fopen_cloexec() 2009-10-30 04:20:24 +01:00
Lennart Poettering
a698ee3f52 core-util: make sure to enable FD_CLOEXEC unconditionally to cope with kernels that silently accept but ignore O_CLOEXEC 2009-10-30 04:16:59 +01:00
Lennart Poettering
65e7bc18a9 use cloexec wrappers wherever applicable 2009-10-30 03:32:38 +01:00
Lennart Poettering
9c1a98953f core-util: introduce FD_CLOEXEC wrappers for open/socket/pipe/accept 2009-10-30 03:30:42 +01:00
Jason Newton
d83dd5ba13 module-equalizer-sink:
add premultipliar to sse2 dsp_logic implementation
2009-10-29 19:10:16 -07:00
Jason Newton
ebaca56a75 module-equalizer-sink: try to limit buffering to mempool's max_block_size and disable debug output 2009-10-29 18:49:10 -07:00
Jason Newton
5c82dd67d0 drop redundant alloc call 2009-10-29 18:49:10 -07:00
Lennart Poettering
754644fa6e Merge remote branch 'origin/master' 2009-10-29 01:54:45 +01:00
Lennart Poettering
e7e4e4459e simd: update test cases 2009-10-29 01:52:39 +01:00
Lennart Poettering
2edb4df175 smoother: add comments about optimization recommendations from Jason Newton 2009-10-29 01:49:40 +01:00
Lennart Poettering
f27a50691c libpulse: introduce PA_STREAM_RELATIVE_VOLUME 2009-10-29 00:46:22 +01:00
Lennart Poettering
546bcf3f2f protocol-native: if a client set volume/mute/device store it since it is user input 2009-10-28 23:50:42 +01:00
Lennart Poettering
2501687579 libpulse: explain semantics of pa_stream_connect_playback() in more detail 2009-10-28 23:47:50 +01:00
Lennart Poettering
27c6a80ccb protocol-native: declare that user configured volumes are always absolute 2009-10-28 23:47:21 +01:00
Lennart Poettering
78984e4395 pactl: format cookie a little bit nicer 2009-10-28 23:28:12 +01:00
Lennart Poettering
8678f56532 pactl: include information about client context in pactl stat output 2009-10-28 23:27:50 +01:00
Lennart Poettering
7c55d6e91d clients: drop definition of BUFSIZE which is unused 2009-10-28 23:27:14 +01:00