| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
http://pulseaudio.org/ticket/702
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
|
|
|
|
|
| |
As seen on some HDA chips:
https://bugzilla.redhat.com/attachment.cgi?id=359804
|
|
|
|
|
|
| |
As seen on some drivers:
https://bugzilla.redhat.com/show_bug.cgi?id=498612
|
|
|
|
|
|
| |
As used by some HDA devices:
https://bugzilla.redhat.com/attachment.cgi?id=365290
|
|
|
|
|
|
| |
As used by some HDA chips:
https://bugzilla.redhat.com/attachment.cgi?id=366816
|
| |
|
| |
|
|
|
|
| |
users.
|
|
|
|
|
|
| |
s/Sourround/Surround/
Spotted by Colin Guthrie
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
metrics so that we don't accidently set a buffer size that is suitable for tsched where we don't use tsched
|
|
|
|
| |
broken drivers apparently need that
|
|
|
|
| |
way we do it for initial opening
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
| |
|
| |
|
|
|
|
| |
smart
|
| |
|
| |
|
|
|
|
| |
sources, following the scheme for sinks
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
if we didn't call snd_pcm_avail immediately before
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| | |
Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
|
| | |
|