| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
in UIs
This value is not a technical upper limit, it's just a 'sensible'
value that is not crazy high, but also allows software amplification
above 0dB (aka 100%) for very quiet audio sources.
We recommend that a comprehensive volume control UI should allow
users to set volumes up to this limit, although of course should
deal gracefully if the user has set the volume even higher than this
without resulting in a feedback loop that effectively limits the
upper volume.
The value chosen is +11dB. This was selected somewhat subjectively
and is very similar to the current 150% that gnome-volume-control
uses (which is ~+10.57dB).
On the plus side, we now recommend that everyone allows
'Volumes up to 11' which is pretty awesome.
http://en.wikipedia.org/wiki/Up_to_eleven
https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006945.html
https://tango.0pointer.de/pipermail/pulseaudio-discuss/2010-April/006950.html
|
|
|
|
| |
Also fix a left over reference to HAL in default.pa
|
|
|
|
|
| |
It isn't necessary anymore with the new algorithm. The slow adjust of the
smoother was even detrimental to the accuracy of the rate estimate.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The same logic is applied to the sample rate adjustments in module-rtp-recv,
module-loopback and module-combine:
- Each time an adjustment is made, the new rate can differ at most 2‰ from the
old rate. Such a step is equal to 3.5 cents (a cent is 1/100th of a
semitone) and as 5 cents is generally considered the smallest observable
difference in pitch, this results in inaudible adjustments.
- The sample rate of the stream can only differ from the rate of the
corresponding sink by 25%. As these adjustments are meant to account for
very small clock drifts, any large deviation from the base rate suggests
something is seriously wrong.
- If the calculated rate is within 20Hz of the base rate, set it to the base
rate. This saves CPU because no resampling is necessary.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This prevents the smoother attached to the stream clock from being
updated while the stream is corked, which in turn ensures that once
corking is completed, pa_stream_get_time() always returns the same value
until the stream is uncorked - i.e., the clock does not advance when the
client believes that it will not.
The actual call to pa_smoother_put() happens on things like stream
suspend/unsuspend, which trigger timing updates. This changes the
smoother coefficients, which means that a call to pa_smoother_get() for
the same value of 'x' can return different values before and after a
timing update.
|
|
|
|
|
|
|
|
|
| |
If many small blocks are in queue, handle_seek is being called
for every one of them, sometimes causing a rewind. Delay the
call until all blocks are handled, then call handle_seek only
once.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
|
|
|
|
| |
Allow a message in the queue to perform both a seek and a post data.
For clients that do not use PA_SEEK_RELATIVE (e g gstreamer), this
cuts the message count - and sometimes even the rewinds - in half.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
| |
|
|
|
|
| |
Spotted by palmerdabbelt via #894
|
|
|
|
|
| |
When logging a suppression message do so on the same log level as the
suppressed messages.
|
|
|
|
|
|
|
|
| |
Therefore, we must reflect this in the default.pa. Several users
have reported an error with consolekit when starting a self-built PA
due to the default config not working properly. This works around the
issue but we should include a warning on configure about the lack of
DBUS and udev support as this is a common mistake.
|
|
|
|
|
|
| |
These functions are used in OSS programs where the "flags" parameter for
open() is not a build-time constant and the build has _FORTIFY_SOURCE
enabled.
|
| |
|
| |
|
|
|
|
| |
This prevented to use pacat --file-format option correctly
|
|
|
|
|
|
|
|
|
| |
In the file src/pulsecore/random.c
I found that the log information "Failed to get proper entropy. Falling
back to seeding with current time." would never be printed.
This change corrects the issue.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is needed to better support out of tree builds (including
distcheck) and to ensure the necessary folders are created in the
build tree on configure and also works around an intl-tools bug
(https://bugs.launchpad.net/intltool/+bug/605826)
The Makefile.am's used are minimal (and in some cases completely
blank). At present they do not include anything interesting
with the majority of the real work still done by the monolitic
src/Makefile.am
It may make sense to start splitting out src/Makefile.am into
smaller chunks but this commit makes the minimum changes to address
the issues that result from using make distcheck and other out of
tree builds.
Note: This 'breaks' the ability to type make in e.g. the src/modules
folder and have all of PA rebuilt accordingly (this is because the
static Makefiles previously present just did a "make -C ..") which
was purportedly for use in emacs. But I'm sure there will be a better
and more robust way to configure emacs to do your builds properly if
this behaviour is still desirable.
|
|
|
|
|
|
|
| |
There is a call to this function where 'skip' variable is NULL. Looks
like this code doesn't get hit very often, probably because a suitable
default sink can be found to move the stream to. However, if we can't
move to the default sink and skip is NULL, there will be a segfault.
|
|
|
|
|
|
|
| |
This ensures that the build does not fail if the ssat and pkhbt
instructions are not available (armv5te and below).
Fixes: http://www.pulseaudio.org/ticket/790
|
|
|
|
|
|
|
|
|
| |
BugLink: https://launchpad.net/bugs/680810
Some laptops have 'Internal Mic 1' exposed as an 'Input Source', e.g., Dell
XPSM 1530, so handle these, too.
Signed-off-by: Daniel T Chen <crimsun@ubuntu.com>
|
|
|
|
| |
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
| |
|
|
|
|
|
|
| |
Original patch contributed by 'kelemeng'
http://pulseaudio.org/ticket/843
|
| |
|
|
|
|
|
|
| |
This allows PulseAudio to work with versions of Rygel 0.7.1 and higher
which only support MediaServer2:
http://live.gnome.org/Rygel/MediaServer2Spec
|
| |
|
|
|
|
|
|
|
|
| |
Earlier, if slave sinks were unlinked in non-automatic mode, their
re-appearance was disregarded. Now they are added back to the list of outputs.
Signed-off-by: Antti-Ville Jansson <antti-ville.jansson@digia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
|
|
|
|
|
|
|
| |
The PCM handle is already opened with the SND_PCM_NONBLOCK flag.
This additional call is useless.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
|
|
|
|
|
|
|
| |
A good many of the header files are broken into a function
reference page and an overview page. These changes add
a direct link from each function reference page to their
overview page if one exists.
|
|
|
|
|
|
|
|
|
| |
stream.h, simple.h
The words drain and flush are a little ambiguous, make it explicit as
to what happens to any existing audio.
*mainloop.h
reword *_free and *_get_api for grammar
|
|
|
|
|
|
| |
Mostly change "Set the volume of all channels" to
"Set the volume of the first n channels" as the first is incorrect,
it doesn't set all the channels and doesn't explain what n was for.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|