| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
|
|
|
| |
appropriate for 'phone' streams
This was a result a report by Patrick Ben Koetter relating to his
Logitech Wireless Headset.
|
| |
|
|
|
|
|
|
|
|
| |
In the assembly optimized versions of SSE, a noise could occur when the
number of channels were 3,5,6 or 7. For MMX and ARM, this could occur
when the number of channels were 3.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
stream is not linked.
When looping through the streams on a given device checking to see if the
stream is 'active' there should be no assert if the stream is not linked, it
should simply be ignored.
This assert can be hit if a sink and a sink input are both created and setup
but the final put calls are left to the end as is done in module-ladspa-sink.
While the order of the calls in module-ladspa-sink could be altered, we should
deal gracefully with the way it is now and not complain about ending up
in this state.
A trigger case was trivial:
1. Load a ladspa-sink.
2. Play a stream and move it to it.
3. Unload the module, then reload it.
4. Due to module-stream-restore and module-suspend-on-idle, the hook callbacks
will ultimately hit this assert.
Thanks to Kim Therkelsen for highlighting this issue.
|
|
|
|
|
|
|
| |
in order of their priority.
Currently the order of the sinks is simply that of their position in the idxset which is certainly
not what the user would want.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
If the user specifically removes the device element from the stream
restore rule, we have to clear the save_sink/save_source flag of the
stream. This means that other stream routing systems
(e.g. module-device-manager) can take over routing for this
stream. In order to facilitate the reapplication of other routing
rules, we fire a stream change event. Arguably the stream itself
has not changed, but the rules governing its routing have, so
I feel this is justified.
|
|
|
|
|
|
|
|
|
|
|
| |
This patch serves two purposes:
1) Allows something other than the de-facto standard udev rules dir or
/lib/udev/rules.d to be used (the udev build system allows you to
customise this)
2) Allows a prefixed, non-root install (right now, the /lib/... path
is hard-coded into the build system
|
|
|
|
|
| |
This commit restores the functionality originally included in 65e807
by Leszek Koltunski.
|
| |
|
| |
|
|
|
|
| |
Previously, if work_done was false, we could conceivably not call snd_pcm_start().
|
|
|
|
|
| |
This new audio interface from Native Instruments has 2 stereo channels
for both input and output direction. This patch adds mappings for them.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make new defines for the smoother window size and adjust time constants instead
of reusing some unrelated constant.
Increase the smoother window size even more because the bigger it is, the
better. Since we have a 200ms max update interval and the max smoother history
is 64 entries, 10seconds is a good default.
Decrease the smoother adjust time to 1 second. The previous value of 4 seconds
was too much to adapt quickly after a resume.
|
|
|
|
|
|
| |
Use snd_pcm_avail_delay() in pa_alsa_safe_delay() so that we can check the delay
value against the avail value and patch it up when it looks invalid. Only do
this for capture.
|
|
|
|
| |
Extend the test to also work for capture devices.
|
|
|
|
|
|
|
| |
Move the code to start the capture and the smoother closer together to improve
smoother accuracy.
Rework things to look more like the alsa sink where the device is started in
only one place.
|
|
|
|
|
| |
Avoid losing precision by subtracting uint64 values before converting them to
doubles.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently when rewinding alsa, a fixed value of 256 bytes is used,
which represents 1.33ms @ 48kHz (2ch, 16bit). This is typically fine
and due to DMA constraints we would not want to rewind less than this.
However with more demanding sample specs, (e.g. 8ch 192kHz 32bit)
256 bytes is likely not sufficient, so calculate what 1.33ms would
be and use which ever value is bigger.
Discussed with David Henningsson and Pierre-Louis Bossart here:
http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7286
|
|
|
|
|
| |
GCC gave a warning, because the pointer given to pa_modargs_get_value_u32() had
type size_t instead of uint32_t.
|
|
|
|
|
|
|
|
|
|
| |
Rewinding the ring buffer completely causes audible issues with DMAs.
Previous solution didn't work with tsched=0, and used tsched_watermark
for guardband, which isn't linked to hardware and could become really high
if underflows occurred.
Added separate parameter that can be tuned to hardware limitations and size
of DMA bursts.
|
| |
|
|
|
|
|
| |
40ms for the smoother window is too small. Increase the size to 4 seconds, like
we do for the sinks.
|
|
|
|
|
|
| |
The smoother is paused when the device is suspended but never resumed on
unsuspend. Pass the paused = FALSE flag to the pa_smoother_reset() call to make
it unpause when unsuspending. This patch improves source timings quite a bit.
|
|
|
|
|
|
| |
This commit mostly converts the X11 handling to XCB. There are still
some uses of XLib to deal with the X11 session handling modules, however all
client-side code should now be free of XLib and thus this should fix Bug #799
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is required to when playing on a52: device, rewind is broken
in those plugins.
Credits to Michael Rans <mcarans@yahoo.co.uk> for finding this
workaround, and Tanu Kaskinen <tanuk@iki.fi> for providing
valuable feedback.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The syntactically correct error meant that the timestamp was always
marked as found and only the first header was checked.
In the case where the timestamp was the first header, things
would have worked as expected.
Thanks to pino for reporting via bug refs #818
|
| |
|
| |
|
|
|
|
|
|
| |
This reverts commit e756467434f787d392c45aac1327768bcf0b610c.
The patch is incomplete and not entirely correct.
|
|
|
|
|
|
|
|
|
| |
We fail to detect when people disable IPv6 in there kernels. This patch
makes sure we don't ignore this error condition.
http://pulseaudio.org/ticket/752
https://bugzilla.mozilla.org/show_bug.cgi?id=533470
http://bugs.freedesktop.org/show_bug.cgi?id=25742
|
|
|
|
| |
device selection
|
|
|
|
|
|
|
| |
On sink unlinking, existing sink inputs are moved, which in turn calls
a get latency callback, which references the jack client. Therefore,
make sure the sink is unlinked before the client is closed. Failure to
do so might lead to SIGSEGV.
|
|
|
|
|
|
|
| |
BugLink: https://launchpad.net/bugs/533877
Some laptops have 'Digital Mic' exposed as an 'Input Source', e.g., Dell
XPS 1330, so handle these, too.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We need to use pa_memblockq_pop_missing() for all request handling,
including the initial request, because otherwise the counters will be
stay off during the entire runtime.
This should fix:
https://bugzilla.redhat.com/show_bug.cgi?id=559467
|
| |
|
| |
|
|
|
|
| |
http://pulseaudio.org/ticket/778
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to resume audio devices even for streams that are created in
corked stat, so that the latency ranges of the audio device are known
during the initial latency negotiation. If we don't the latency
negotiation will be based on placeholder data and changed later on which
clients do not expect.
This should fix issues with Skype.
https://bugzilla.redhat.com/show_bug.cgi?id=554929
|
|
|
|
|
|
| |
Pointed out by Colin Guthrie.
https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-February/006698.html
|
|
|
|
|
|
|
| |
when the sink is suspended
libcanberra already sets the appropriate flags for uncached sample
streams, we now need to make sure to set them for cached samples too.
|
|
|
|
| |
when playing a sample from the cache
|