| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Refactoring, no functional change.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
|
|
|
|
|
| |
pa_tagstruct_new() is called either with no data, i.e. (NULL, 0)
to create a dynamic tagstruct or with a pointer to fixed data
introduce a new function pa_tagstruct_new_fixed() for the latter case
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
|
|
|
|
|
|
| |
This function could sometimes leak a perportentry.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
|
|
|
|
|
| |
FSF addresses used in PA sources are no longer valid and rpmlint
generates numerous warnings during packaging because of this.
This patch changes all FSF addresses to FSF web page according to
the GPL how-to: https://www.gnu.org/licenses/gpl-howto.en.html
Done automatically by sed-ing through sources.
|
|
|
|
|
|
|
|
|
| |
There is no use in trying to load data in legacy format, if we
already know that there is no data at all.
Also clarify in the debug message whether there is invalid data
or no data at all.
Signed-off-by: David Henningsson <david.henningsson@canonical.com>
|
|
|
|
|
| |
If there are unsaved changes, those need to be written to disk before
the module is unloaded, otherwise the changes are lost.
|
|
|
|
| |
Log the mute state as it was restored
|
|
|
|
|
|
| |
https://scan7.coverity.com:8443/reports.htm#v10205/p10016/fileInstanceId=8724&defectInstanceId=3728&mergedDefectId=591265
Signed-off-by: Peter Meerwald <pmeerw@pmeerw.net>
|
|
|
|
|
|
|
|
| |
All pa_cvolume_snprint(), pa_volume_snprint(),
pa_sw_cvolume_snprint_dB() and pa_sw_volume_snprint_dB() calls have
been replaced with pa_cvolume_snprint_verbose() and
pa_volume_snprint_verbose() calls, making the log output more
informative and the code sometimes simpler.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commands used for this (executed from the pulseaudio/src directory):
find . -regex '\(.*\.[hc]\|.*\.cc\|.*\.m4\)' -not -name 'macro.h' \
-a -not -name 'reserve.[ch]' -a -not -name 'reserve-monitor.[ch]' \
-a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \
-a -not -name 'glib-mainloop.c' -a -not -name 'gkt-test.c' \
-a -not -name 'poll-win32.c' -a -not -name 'thread-win32.c' \
-a -not -name 'dllmain.c' -a -not -name 'gconf-helper.c' \
-exec sed -i -e 's/\bpa_bool_t\b/bool/g' \
-e 's/\bTRUE\b/true/g' -e 's/\bFALSE\b/false/g' {} \;
and:
sed -i -e '181,194!s/\bpa_bool_t\b/bool/' \
-e '181,194!s/\bTRUE\b/true/' -e \
'181,194!s/\bFALSE\b/false/' pulsecore/macro.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch removes all occurrences of double and triple
newlines.
Command used for this:
find . -type d \( -name ffmpeg \) -prune -o \
-regex '\(.*\.[hc]\|.*\.cc\)' \
-a -not -name 'adrian-aec.*' -a -not \
-name reserve.c -a -not -name 'rtkit.*' \
-exec sed -i -e '/^$/{N;s/^\n$//}' {} \;
Two passes were needed to remove triple newlines.
The excluded files are mirrored files from external sources.
|
|
|
|
| |
There were no users for the userdata pointer.
|
| |
|
| |
|
|
|
|
| |
Signed-off-by: Harsh Prateek Bora <harsh.bora@linaro.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Rather than write all the keys out for each port, simply write a 'null'
port entry and modify the read code to 'fallback' to this when it cannot
find a key. This is needed as the code used when writing the key may not
actually have the sink ports available at the time it uses them,
and thus can cause a segv. This approach adds some degree of overhead
but it's relatively minimal and it can be mitigated by compiling
without support for legacy database formats if so desired.
Thanks to David Henningsson for pointing out the problem.
|
|
|
|
|
|
|
|
|
| |
This will allow for volumes to be saved separately for e.g. Headphones vs. Speakers.
At present it is possible that no volume will be saved for the device prior to the port
switch. In this case the volume will not change from the value set under the other port.
In an ideal world we would save the volume before switching port, but that would require
a new hook.
|
|
|
|
|
|
|
|
| |
The device restore saves both the current port for a device, and the volume/mute/formats.
The latter three are really related to the device+port, not the device on it's own.
Thus we store just the port for a device in one key and the volume/mute/formats
under a different key that includes both the device and the port.
|
| |
|
|
|
|
| |
This changes the API, but as we have not released yet, this is OK.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit ba163b8b23bcd72c35b028eb0b43c31a6ae1724d.
After discussion with Colin, decided that we don't want to do this
piecemeal -- need some discussion on the mailing-list and then we should
do this across the tree in one fell swoop post 1.0.
Conflicts:
src/modules/module-device-restore.c
|
|
|
|
| |
This makes it easier to catch errors when using 'pactl set-sink-formats'
|
|
|
|
|
| |
This implements the actual setting of sink formats when a new sink is
added or when the set of available formats changes.
|
|
|
|
|
|
| |
This makes the pa_bool_t members of userdata not be a single bit field
since pa_bool_t can be an int, potentially causing signedness issues in
comparisons.
|
|
|
|
|
|
|
|
| |
* Fix extension API function export list.
* Ensure we trigger a subscription event when things change.
* Send the index with our subscription events.
* Clear out any existing formats when saving.
* Call the correct extension command for subscriptions.
|
| |
|
|
|
|
|
|
| |
This adds code to specifically support legacy entries.
I kept this code in a separate commit so that it can be (relatively)
easily removed at some point in the future.
|
|
|
|
|
|
| |
This simply exposes the formats that a device supports
via a simple protocol extension that will allow clients
to setup what a connected receiver supports format wise.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This has the advantage of allowing versioned updates in the future,
thus allowing us to be more user friendly going forward (as opposed
to just ignoring entries from old versions).
The primary motivation for this, however, is to allow variable length
storage in each entry which will be needed for upcoming work.
At present this commit will ignore any legacy entries but support
for reading and subsequently converting legacy entries will be added
shortly.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
|\
| |
| |
| | |
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>
|
|/
|
|
| |
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
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
gdbm still uses BSD lockf for locking which is incompatible with NFS.
Since we don't need the locking here since the db files in question
should never be accessed by more than one process since they are
per-home-dir and per-machine we can disable locking without any ill
results.
This should fix rhbz #471279.
|
| |
|
| |
|
| |
|
|
|
|
| |
machine id to the file name.
|