summaryrefslogtreecommitdiffstats
path: root/src/modules/alsa
Commit message (Collapse)AuthorAgeFilesLines
* alsa: disable timer-based scheduling inside a VMLennart Poettering2009-11-114-8/+28
| | | | | | | | | | | | | | | 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
* alsa: introduce more standard path namesLennart Poettering2009-11-111-10/+14
|
* alsa: cover 'Analog Output' controlLennart Poettering2009-11-111-0/+17
| | | | http://pulseaudio.org/ticket/702
* alsa: create a seperate mixer path for Speaker elementsLennart Poettering2009-11-113-13/+106
| | | | | | | 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
* alsa: leave other headphone control enabled if possibleLennart Poettering2009-11-115-4/+22
|
* alsa: lower priority for Headphone2 pathLennart Poettering2009-11-111-1/+1
|
* alsa: cover Input Source:AUX INLennart Poettering2009-11-111-0/+4
| | | | | | As seen on some HDA chips: https://bugzilla.redhat.com/attachment.cgi?id=359804
* alsa: cover Headphone2 mixer elementLennart Poettering2009-11-113-2/+85
| | | | | | As seen on some drivers: https://bugzilla.redhat.com/show_bug.cgi?id=498612
* alsa: cover 'Digital Input Source' elementLennart Poettering2009-11-111-0/+14
| | | | | | As used by some HDA devices: https://bugzilla.redhat.com/attachment.cgi?id=365290
* alsa: cover Mic Jack Mode elementLennart Poettering2009-11-111-1/+12
| | | | | | As used by some HDA chips: https://bugzilla.redhat.com/attachment.cgi?id=366816
* alsa: disable period event only with tsched=1Lennart Poettering2009-11-114-5/+6
|
* alsa: make build gcc clean on 32bitLennart Poettering2009-09-201-1/+1
|
* alsa: Give all ports a human name to allow UI tools to present the choice to ↵Colin Guthrie2009-09-181-3/+3
| | | | users.
* alsa: fix Surround mixer element nameLennart Poettering2009-09-183-3/+3
| | | | | | s/Sourround/Surround/ Spotted by Colin Guthrie
* alsa: correct assumptions about channels an element lacksVladimir Kokarev2009-09-171-10/+2
| | | | | | | If an element does not control some channels assume they are 0dB in comparison to the other elements, i.e. do not influence the volume at all. Previously we were assuming they were as high as the highest of the channels we do control.
* alsa: properly report suspension error codesLennart Poettering2009-09-112-18/+27
|
* alsa: properly convert sample buffer sizesLennart Poettering2009-09-111-3/+3
|
* alsa: disable tsched for software devices before we configure the buffer ↵Lennart Poettering2009-09-093-11/+4
| | | | metrics so that we don't accidently set a buffer size that is suitable for tsched where we don't use tsched
* alsa: when probing for profiles configure buffer/period sizes since some ↵Lennart Poettering2009-09-093-5/+22
| | | | broken drivers apparently need that
* alsa: pass SND_PCM_NONBLOCK when opening device during unsuspend, the same ↵Lennart Poettering2009-09-092-2/+2
| | | | way we do it for initial opening
* alsa: rework buffer/period configurationLennart Poettering2009-09-094-130/+217
| | | | | | | | | | | | | - 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.
* alsa-sink: init after_avail earlier (llvm-clang-analyzer)Lennart Poettering2009-09-081-1/+1
|
* llvm-clang-analyzer: drop a few unnecessary assignments and other trivial fixesLennart Poettering2009-09-084-6/+4
|
* alsa: add more input sources to path setLennart Poettering2009-09-031-0/+8
|
* alsa: by default increase watermarks only on real underruns, don't try to be ↵Lennart Poettering2009-09-012-2/+5
| | | | smart
* alsa: distuingish real underruns from left_to_play=0Lennart Poettering2009-09-012-2/+6
|
* alsa: automatically decrease watermark after a time of stabilityLennart Poettering2009-08-242-68/+223
|
* alsa: increase interval between smoother updates exponentially for alsa ↵Lennart Poettering2009-08-232-7/+21
| | | | sources, following the scheme for sinks
* Merge commit 'wtay/optimize'Lennart Poettering2009-08-231-4/+22
|\
| * alsa-sink: reduce the amount of smoother updatesWim Taymans2009-08-201-4/+22
| | | | | | | | | | | | | | Exponentially increase the amount of time between smoother updates. We start with a 2ms interval and increase up to 200ms intervals. Smoother updates and the resulting linear regression take a fair amount of CPU so we want to reduce the amount of updates.
* | alsa: leave headphone jack enabled in normal mixer pathsLennart Poettering2009-08-213-6/+15
| |
* | adjust various data/library paths automatically if we are run from a build treeLennart Poettering2009-08-211-3/+13
|/
* sink: volume handling rework, new flat volume logicLennart Poettering2009-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | - We now implement a logic where the sink maintains two distinct volumes: the 'reference' volume which is shown to the users, and the 'real' volume, which is configured to the hardware. The latter is configured to the max of all streams. Volume changes on sinks are propagated back to the streams proportional to the reference volume change. Volume changes on sink inputs are forwarded to the sink by 'pushing' the volume if necessary. This renames the old 'virtual_volume' to 'real_volume'. The 'reference_volume' is now the one exposed to users. By this logic the sink volume visible to the user, will always be the "upper" boundary for everything that is played. Saved/restored stream volumes are measured relative to this boundary, the factor here is always < 1.0. - introduce accuracy for sink volumes, similar to the accuracy we already have for source volumes. - other cleanups.
* udev: allow passing of ignore_dB= parameter to alsa modulesLennart Poettering2009-08-191-13/+24
|
* source: rework volume handlingLennart Poettering2009-08-191-13/+24
| | | | | | | | | | | | | - drop the 'virtual_' prefix from s->virtual_volume since we don't distuingish between reference and real volumes for sources - introduce an accuracy for source volumes: if the hardware can control the volume "close enough" don't necessarily adjust the rest in software unless it is beyond a certain threshold. This should save a little bit of CPU at the expensive of a bit of accuracy in volume handling. - other minor cleanups
* log: place more rate limit invocationsLennart Poettering2009-08-151-1/+2
|
* alsa: enable ext. amplifier by defaultLennart Poettering2009-08-121-2/+2
|
* alsa: adjust priority bonus of mappings that match the configured default ↵Lennart Poettering2009-08-121-2/+2
| | | | | | | | | | channel map We need to make sure that having both input and output weighs more for selecting the default profile than a channel map that matches the default channel map has. https://bugzilla.redhat.com/show_bug.cgi?id=496320
* alsa: properly treat ESTRPIPE as system suspendLennart Poettering2009-08-042-2/+5
|
* Recover stream when it's suspended upon rewindLubomir Rintel2009-08-031-1/+7
| | | | | | | | | | | | | Error from snd_pcm_rewind() might mean we just woke up from suspend and didn't have a chance to try to recover the stream since we didn't write to it in between. Call try_recover() in such cases. Note that for this to work kernel must return ESTRPIPE instead of EBADF for rewind/forward attempts on suspended streams, so that snd_pcm_recover() can recognize it should snd_pcm_resume() the stream. This is not the case yet (2.6.31-rc5), patch is available. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
* alsa: revert to first set number of periods, then set buffer sizeLennart Poettering2009-07-311-26/+29
| | | | | | | 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.
* alsa: throw timing data away after device resumeLennart Poettering2009-07-242-2/+8
|
* alsa: handle correctly if alsa returns us 0 or EAGAIN on snd_pcm_mmap_begin ↵Lennart Poettering2009-07-242-11/+39
| | | | if we didn't call snd_pcm_avail immediately before
* alsa: don't reset volume/mute when selecting pathLennart Poettering2009-07-231-2/+2
|
* build-sys: add a couple of stub MakefilesLennart Poettering2009-07-233-0/+3
|
* alsa: control 'Speaker' element as wellLennart Poettering2009-07-234-0/+22
|
* alsa: deal properly with IO functions asking us to write 0 bytesLennart Poettering2009-07-222-2/+12
|
* alsa: fix a few commentsLennart Poettering2009-07-011-2/+1
|
* Merge most of elmarco/rtclock2Lennart Poettering2009-06-223-21/+23
|\ | | | | | | Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
| * pulse: move pa_rtclock_now in pulsecommonMarc-André Lureau2009-06-203-9/+11
| |