Commit graph

66 commits

Author SHA1 Message Date
Lennart Poettering
6daf112ce0 alsa: fix minor sampling rate deviations before adjusting the buffer size 2009-11-20 20:27:03 +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
c96d2d1117 alsa: disable period event only with tsched=1 2009-10-06 00:17:54 +02:00
Lennart Poettering
88b777311d alsa: make build gcc clean on 32bit 2009-09-20 03:17:36 +02:00
Lennart Poettering
bb36bb4bbe alsa: properly convert sample buffer sizes 2009-09-11 01:21:46 +02:00
Lennart Poettering
d5f43bd4c6 alsa: disable tsched for software devices before we configure the buffer metrics so that we don't accidently set a buffer size that is suitable for tsched where we don't use tsched 2009-09-09 23:57:49 +02:00
Lennart Poettering
557c429510 alsa: rework buffer/period configuration
- As discussed on alsa-devel it's probably better to initialize the
  buffer size first, followed by the period size. If that fails try the
  other way round. If that fails try to configure only buffer size. If
  that fails try to configure only period size. Finally, try to
  configure neither.

- Don't require integral periods anymore.

Both of these changes should help improving compatibility with various
weirder sound devices, such as TV cards.
2009-09-09 04:28:52 +02:00
Lennart Poettering
f5046759cd llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixes 2009-09-08 23:46:23 +02:00
Lennart Poettering
39aa1cf94d alsa: revert to first set number of periods, then set buffer size
Apparently some ALSA drivers aren't happy with getting the buffer size
configured first followed the period size. So swap the order again and
document this for future reference so that we don't turn that around
again.
2009-07-31 02:07:24 +02:00
Lennart Poettering
348dcd6a31 alsa: unify alsa log handling and snd_config_update_free_global() handling in one place 2009-06-18 21:27:02 +02:00
Lennart Poettering
8fe50b0d7c alsa,core: include mapping name in description strings 2009-06-18 04:38:59 +02:00
Lennart Poettering
334325efd7 alsa: allow placing device id in alsa device strings at arbitrary positions 2009-06-17 04:17:25 +02:00
Lennart Poettering
31575f7766 alsa: rework mixer logic
Completely rework mixer logic. This now allows controlling a full set of
elements from a single sink's volume slider/mute button.

This also introduces sink and source "ports" that can be used to choose
different input or output ports with the UI. (i.e. "mic"/"line-in" or
"speaker"/"headphones".

The mixer paths and device maps are now configered in external
configuration files and can be tweaked as necessary.
2009-06-17 03:45:14 +02:00
Lennart Poettering
1e8a374f2f alsa: fix bad memory access for devices that lack a mixer 2009-06-10 23:22:12 +02:00
Lennart Poettering
0cb383717e alsa: be a bit more verbose when a hwparam call fails 2009-05-14 01:25:07 +02:00
Lennart Poettering
dfd6b61cd1 alsa: include mixer name in sink/source properties 2009-05-12 22:55:50 +02:00
Lennart Poettering
4bffc7849f alsa: initialize buffer size before number of periods to improve compat with some backends 2009-05-01 04:16:17 +02:00
Lennart Poettering
d8710711fb alsa: allow configuration of fallback device strings in profiles
This has the benefit that we can properly support ALSA devices where
only the raw 'hw' device exists but no 'front' although it's a proper
2ch stereo device.
2009-04-29 01:58:18 +02:00
Lennart Poettering
ad2a0ab40b alsa: remove debug code 2009-04-19 19:25:42 +02:00
Lennart Poettering
98a25c506e alsa: properly convert return values of snd_strerror() to utf8 2009-04-19 19:22:51 +02:00
Lennart Poettering
49dcf0940e alsa: include the alsa mixer control that is used in the property list 2009-04-13 22:56:25 +02:00
Lennart Poettering
6fd8fd18c2 alsa: store mixer controls to use in profile data
This allows us to easily use different mixer controls for analog and
spdif output.
2009-04-13 22:56:19 +02:00
Lennart Poettering
89f74cb858 alsa: when passing emptry mixer control name, force sw volume 2009-04-13 22:45:31 +02:00
Lennart Poettering
5388b44b9a alsa: when printing warning about bogus data from alsa include snd_pcm_dump() 2009-04-10 01:58:39 +02:00
Lennart Poettering
77a1e3876b refuse to initialize on modem devices 2009-04-04 04:12:42 +02:00
Maarten Bosmans
8bcb9c6910 various spelling fixes 2009-04-04 02:27:13 +02:00
Lennart Poettering
143e1ba739 downgrade a few messages 2009-04-03 17:49:05 +02:00
Kyle Cronan
92ae5f1a74 Specifying ALSA mixer control
On Fri, Mar 27, 2009 at 7:21 AM, Lennart Poettering <lennart@poettering.net> wrote:

>> I tried installing the latest git sources on my Ubuntu Jaunty box but
>> it just broke sound in all my applications.  For my own purposes, I'm
>> going to need to start with the Ubuntu-patched 0.9.14.  However, if
>> you are willing to accept this patch I will forward port it so that it
>> applies to the latest sources.  It's a completely harmless change, so
>> why not apply it?
>
> Yes, I am happy to apply it. Could you please update it for current git?
>

Great.  An updated patch is attached.  For symmetry, I added this
option to the alsa source module as well.

The Ubuntu folks have customized pulse so much that it is difficult
for me to get this version working on my system.  For this patch I
have only made sure that it compiles.  But it does pretty much the
same thing as the one for 0.9.14, which is working great for me.

Thanks,
Kyle
2009-03-31 00:56:41 +02:00
Lennart Poettering
e3f15104cf don't enabled tsched on software ALSA devices 2009-03-30 18:00:23 +02:00
Lennart Poettering
025107876c fix channel mapping for a52 devices. Closes #508 2009-03-20 14:15:18 +01:00
Colin Guthrie
86dee05aec Use LGPL 2.1 on all files previously using LGPL 2 2009-03-03 20:23:02 +00:00
Lennart Poettering
671b927955 add logic for initializing a useful icon name 2009-03-01 21:38:27 +01:00
Lennart Poettering
784ac5b0da get additional device data from udev 2009-03-01 21:38:22 +01:00
Lennart Poettering
03ac71bcad don't put both the card and the pcm name in the description of a device if one contains the other 2009-02-24 11:29:11 +01:00
Lennart Poettering
c341010304 implement device reservation scheme 2009-02-24 06:13:39 +01:00
Lennart Poettering
ec9f8f10f3 if ALSA gives us nonsensical data at least try to fix it up a little 2009-02-24 06:06:04 +01:00
Lennart Poettering
33601afbb1 print driver name when we encounter driver bugs 2009-02-23 22:56:09 +01:00
Lennart Poettering
557a90c487 add new wrapper pa_alsa_safe_delay() around snd_pcm_delay() 2009-02-23 22:55:33 +01:00
Lennart Poettering
5cc9d970c8 add new function pa_alsa_get_driver_name_by_pcm() 2009-02-23 22:54:28 +01:00
Lennart Poettering
504384a041 initialize selem index 2009-02-22 00:45:34 +01:00
Lennart Poettering
14ee8d471a print warnings about driver bugs at most once 2009-02-21 16:33:46 +01:00
Lennart Poettering
7bc1847596 Merge branch 'master' of ssh://rootserver/home/lennart/git/public/pulseaudio 2009-02-20 03:21:46 +01:00
Lennart Poettering
26a270a934 big alsa module rework to make things more robust to broken sound drivers and make it easier to debug them 2009-02-20 03:21:17 +01:00
Lennart Poettering
fdca6edf20 make profile names translatable 2009-02-20 01:18:37 +01:00
Marc-André Lureau
7c78c3f658 alsa-util: check if mixer_poll_descriptors_count() < 0 2009-02-19 05:00:37 +01:00
Marc-André Lureau
83cdcf2f53 alsa-util: make sure we check an initialized cn variable 2009-02-19 04:46:56 +01:00
Lennart Poettering
07333f8cae refer folks to the ALSA devs, not us 2009-02-18 21:50:27 +01:00
Lennart Poettering
dc1ad08a65 minor optimizations 2009-02-18 21:50:09 +01:00
Lennart Poettering
ff58fa8870 simplify pa_alsa_init_proplist_pcm() a bit and include resolution bits in alsa device props 2009-02-18 21:49:31 +01:00
Lennart Poettering
6790c03f91 unify ALSA mixer initialization 2009-02-14 00:21:36 +01:00