| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the beginning of work to support compressed formats natively in
PulseAudio. This adds a pa_stream_new_extended() that takes a format
structure, sends it to the server (=> protocol extension) and has the
server negotiate with the appropropriate sink to figure out what format
it should use.
This is work in progress, and works only with PCM streams. Actual
compressed format support in some sink needs to be implemented, and
extensive testing is required.
More details on how this is supposed to work is available at:
http://pulseaudio.org/wiki/PassthroughSupport
|
| |
|
|
|
|
|
| |
This avoids an assert in pa_sink_input_get_volume() when connecting a
passthrough stream.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This is pretty cosmetic change; there's no actual functionality added.
Previously the volume_writable information was available through the
pa_sink_input_is_volume_writable() function, but I find it cleaner to have a
real variable.
The sink input introspection variable name was also changed from
read_only_volume to volume_writable for consistency.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are two known cases where read-only or non-existing sink input volume is
relevant: passthrough streams and the planned volume sharing logic.
Passthrough streams don't have volume at all, and the volume sharing logic
requires read-only sink input volume. This commit is primarily working towards
the volume sharing feature, but support for non-existing sink input volume is
also added, because it is so closely related to read-only volume.
Some unrelated refactoring in iface-stream.c creeped into this commit too (new
function: stream_to_string()).
|
| |
|
| |
|
|
|
|
|
| |
The commit that introduced this macro was incorrect in some places. This
patch fixes these. Thanks to Pierre-Louis Bossart for pointing this out.
|
|
|
|
|
|
|
| |
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).
|
|
|
|
| |
immediately.
|
|
|
|
| |
dbus_entry pointer instead of a userdata pointer.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Without this change, on FreeBSD you'll be bothered by tons of warnings
about overshadowing signal(2).
|
|\ |
|
| |
| |
| |
| |
| |
| |
| | |
There is not technically a bug here due to the early return and the knowledge that one of the if blocks
will definitely be run, but this makes sure we don't call free on uninitialised data or do
anything else suitibly daft. Also helps when you copy the code and change it slightly and don't realise
you've left things open...
|
|\|
| |
| |
| |
| | |
Conflicts:
src/daemon/daemon-conf.c
|
| | |
|
| | |
|
|\|
| |
| |
| |
| | |
Conflicts:
src/modules/module-stream-restore.c
|
| |
| |
| |
| | |
down of feedback loops
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/Makefile.am
src/daemon/daemon-conf.c
src/daemon/daemon.conf.in
src/modules/module-stream-restore.c
src/pulse/client-conf.c
src/pulsecore/namereg.c
|
| |
| |
| |
| | |
or in another unclear state
|
| |
| |
| |
| | |
fully set up yet
|
| | |
|
| | |
|
|/ |
|
| |
|
|\
| |
| |
| | |
Merge commit 'e4d914c945c13d23b131d7ba75fbdd03cb6d0043'
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the mainloop to monotonic based time events.
Introduces 4 helper functions:
pa_{context,core}_rttime_{new,restart}(), that fill correctly a
timeval with the rtclock flag set if the mainloop supports it.
Both mainloop-test and mainloop-test-glib works with rt and timeval
based time events. PulseAudio and clients should be fully functional.
This patch has received several iterations, and this one as been
largely untested.
Signed-off-by: Marc-André Lureau <marca-andre.lureau@nokia.com>
|
| |
| |
| |
| | |
potentially move streams
|
|/
|
|
| |
and/or is in the on-disk databases
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The reference volume is to be used as reference volume for stored stream
volumes. Previously if a new stream was created the relative volume was
taken relatively to the virtual device volume. Due to the flat volume
logic this could then be fed back to the virtual device volume.
Repeating the whole story over and over would result in a device volume
that would go lower, and lower and lower.
This patch introduces a 'reference' volume for each sink which stays
unmodified by stream volume changes even if flat volumes are used. It is
only modified if the sink volumes are modified directly by the user.
For further explanations see http://pulseaudio.org/wiki/InternalVolumes
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
internally and automatically by the sink input
|
| |
|
| |
|