| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
|
|
|
| |
As per discussions with Lennart, we will be moving to a two-component version
number scheme when the next release is made from git master branch.
This means we will be dropping the micro version component (although
for compatibility, it will remain defined as 0 in version.h).
For more information, please see the announcement here:
http://thread.gmane.org/gmane.comp.audio.pulseaudio.general/7921
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make concurrent use of SW and HW volume glitchles their application
needs to be synchronized. For accurate synchronization the HW volume
needs to be applied in IO thread. This patch adds infrastructure to
delay the applying of HW volume to match with SW volume timing. To
avoid synchronization problems this patch moves many of the volume and
mute related functions from main thread to IO thread. All these
changes become active only if the sync volume flag for a sink has been
set. So, for this patch to have any effect it needs to be taken into
use by sink implementor.
Signed-off-by: Jyri Sarha <jyri.sarha@nokia.com>
Reviewed-by: Tanu Kaskinen <tanu.kaskinen@digia.com>
Reviewd-by: Colin Guthrie <cguthrie@mandriva.org>
|
|
|
|
|
|
|
| |
This decrease PA_VOLUME_MAX to be less than 2^31. We want to do this in
order to simplify signed arithmetic when applying software volume
scaling (since the volume can now always be safely treated as a signed
number).
|
|
|
|
|
|
| |
This ensures that we always clamp the volume to PA_VOLUME_MAX. While
this currently has no effect, it will be required for making sure we
don't exceed PA_VOLUME_MAX when its value changes in the future.
|
|
|
|
|
|
|
| |
This adds a PA_VOLUME_IS_VALID() macro for checking if a given
pa_volume_t is valid. This makes changes to the volume ranges simpler
(just change PA_VOLUME_MAX, for example, without needing to modify any
other code).
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
| |
This commit restores the functionality originally included in 65e807
by Leszek Koltunski.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
Note that this removes the screen-based changes by Leszek Koltunski
in 65e80, however this will be restored in due course.
|
|
|
|
|
|
|
|
|
|
|
|
| |
Second version after Tanu's feedback
TODO:
- notify client that volume control is disabled
- change sink rate in passthrough mode if needed
- automatic detection of passthrough mode instead of hard
coded profile names
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@intel.com>
|
| |
|
| |
|
|
|
|
|
|
| |
The pretty name is suspposed to be understandable by non-technical
folks, and they are generally more used to the term "Subwoofer" than
"Low Frequency Emitter", so let's change the name here.
|
|
|
|
|
|
|
|
|
|
|
|
| |
not know anything about
All seeks/flushes that depend on the playback buffer read pointer cannot
be accounted for properly in the client since it does not know the
actual read pointer. Due to that the clients do not account for it at
all. We need do the same on the server side. And we did, but a little
bit too extreme. While we properly have not applied the changes to the
"request" counter we still do have to apply it to the "missing" counter.
This patch fixes that.
|
|
|
|
|
|
|
| |
This allows easy overriding of a clients latency setting for debugging
purposes.
http://pulseaudio.org/ticket/753
|
|
|
|
|
|
|
| |
Make suer we check the connection state before going on, so that we can
rely that s->context->pstream is properly initialized.
https://bugzilla.redhat.com/show_bug.cgi?id=539500
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Do not subtract bytes the client sends us beyond what we requested from
our missing bytes counter.
This was mostly a thinko that caused servers asking for too little data
when the client initially sent more data than requested, because that
data sent too much was accounted for twice.
This commit fixes this miscalculation.
http://bugzilla.redhat.com/show_bug.cgi?id=534130
|
|
|
|
|
|
|
| |
This fixes an assert when destructing modules that have not been fully
initialized.
https://bugzilla.redhat.com/show_bug.cgi?id=548525
|
|
|
|
|
|
|
|
|
| |
This is the same typo as reported in [1] and fixed in [2] in `client.conf.in`.
I did `git grep "values a commented"` and did not get anymore hits.
[1] http://pulseaudio.org/ticket/783
[2] http://git.0pointer.de/?p=pulseaudio.git;a=commit;h=ea8927f1d47be101a1f64b2f87fd6e527ff76dbe
|
| |
|
|
|
|
|
|
|
| |
auto-connect-localhost=
Just connecting to a PA server just because X11's $DISPLAY is set might
be a security hole.
|
|
|
|
|
|
|
|
|
| |
Partly fixes:
http://pulseaudio.org/ticket/773
Also fixes a security hole since listening on the default port is not
access controlled right now.
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Even on 10.5.8, poll() does not do the right thing. Haven't checked on
newer versions. Hence, wrap all occurences of poll() to pa_poll and
emulate that call with select() on OSX. This is totally embarassing.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Note also the willneed/will_need inconsistency. I guess it could be nice to ASAP
choose one of them and introduce a backward compatibility hack for the other.
The issues was mostly found with:
for a in $(grep -r '^[ /]\*.*()' $(
find -name '*.[ch]') |
sed 's,^.* \([^ ]*\)().*$,\1,g' |
sort |
uniq |
grep ^pa_)
do
grep -rq "^.[^*].*\<$a(" $(find * -name '*.h') || echo $a
done
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
deadlock
Compiler optimisations have been seen to initialise
m->n_waiting_for_accept to a positive non-zero value, so the while() in
pa_threaded_mainloop_signal() never proceeds. Fix this by properly
initializing m->n_waiting_for_accept in pa_threaded_mainloop_new().
Patch from Iain Bucław.
https://bugs.launchpad.net/bugs/502992
|
|
|
|
|
|
|
|
|
| |
'n_waiting' and 'n_waiting_for_accept' may be accessed from mulitple
threads, and thus need to be marked as volatile to suppres certain
compiler optimisations. All uses are protected by a mutex, so we don't
need to worry about cache issues (added documentation for this as well).
This addresses bug #738.
|
|
|
|
|
|
|
|
|
| |
Since the stream identifiers (channels) are monotonically growing integer, it
isn't a good idea to use them as index to a dynamic array, because the array
will grow all the time. This is not a problem with client connections that
don't create many streams, but, for example, long-running clients that use
libcanberra for playing event sounds, this means that the client connection
effectively leaks memory.
|
|
|
|
|
|
| |
Stolen from
http://www.freebsd.org/cgi/cvsweb.cgi/ports/audio/pulseaudio/files/patch-src_pulse_util.c?rev=1.1
and fixed for indentation.
|
|
|
|
| |
state change so that in the STARTED/UNDERFLOW callbacks we accurate transport latency information
|
|
|
|
| |
don't want the timer to advance when we are supposedly already paused
|
|
|
|
| |
in corked state
|
|
|
|
| |
Third time is a charm... maybe.
|
| |
|
|
|
|
|
|
| |
added function to increase volume not exceeding specified limit
simply changed PA_VOLUME_MAX to 'limit' in pa_cvolume_inc
pa_cvolume_inc now calls pa_cvolume_inc_clamp with PA_VOLUME_MAX limit
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
the sink/source index with PA_INVALID_INDEX meaning unavailable
|
|\ |
|
| |
| |
| |
| |
| |
| | |
We put in the devices from the wire into a hashmap and then add all like type device in the database
and then order them based on priority (with the ones specified on the wire always being in that order at
the top of the list.
|