- 03 Dec, 2020 17 commits
-
-
Part-of: <!51>
-
Part-of: <!51>
-
Tanu Kaskinen authored
Part-of: <!51>
-
Tanu Kaskinen authored
These tests aren't directly related to modargs. I suppose these were first written for the modargs.h API and renaming was forgotten. Part-of: <!51>
-
Tanu Kaskinen authored
Part-of: <!51>
-
Tanu Kaskinen authored
I believe nobody needs to pass octal numbers to PulseAudio, and if we encounter integer strings starting with zeros, the intention is to use them in base 10. Hexadecimal numbers are more common, and they can't be interpreted in base 10 anyway, so they are still supported. Part-of: <!51>
-
Tanu Kaskinen authored
Part-of: <!51>
-
Tanu Kaskinen authored
If an application calls the function when the server doesn't support the feature, the result should be just an error from the function. Without the check the whole connection gets terminated due to protocol error. Part-of: <pulseaudio/pulseaudio!51>
-
Tanu Kaskinen authored
It wasn't immediately obvious to me what these checks are supposed to do. Explicitly checking against the min/max values should make the code easier to understand. Part-of: <!51>
-
The following new functions have been added: pa_message_params_read_double_array() - read an array of double from list pa_message_params_read_int64_array() - read an array of int64 from list pa_message_params_read_uint64_array() - read an array of uint64 from list pa_message_params_read_string_array() - read an array of strings from list Part-of: <!51>
-
The following functions have been added: pa_message_params_write_double() - writes a double to a pa_message_params structure pa_message_params_write_int64() - writes an integer to a pa_message_params structure pa_message_params_write_uint64() - writes an unsigned to a pa_message_params structure pa_message_params_write_bool() - writes a boolean to a pa_message_params structure pa_message_params_read_double() - read a double from a parameter list pa_message_params_read_int64() - read an integer from a parameter list pa_message_params_read_uint64() - read an unsigned from a parameter list pa_message_params_read_bool() - read a boolean from a parameter list The patch also improves the doxygen documentation im message-params.h Part-of: <!51>
-
Part-of: <!51>
-
The patch adds the possibility to escape curly braces within parameter strings and introduces several new functions that can be used for writing parameters. For writing, the structure pa_message_params, which is a wrapper for pa_strbuf has been created. Following new write functions are available: pa_message_params_new() - creates a new pa_message_params structure pa_message_params_free() - frees a pa_message_params structure pa_message_param_to_string_free() - converts a pa_message_param to string and frees the structure pa_message_params_begin_list() - starts a list pa_message_params_end_list() - ends a list pa_message_params_write_string() - writes a string to a pa_message_params structure pa_message_params_write_raw() - writes a raw string to a pa_message_params structure For string parameters that contain curly braces or backslashes, those characters will be escaped when using pa_message_params_write_string(), while write_raw() will put the string into the buffer without any changes. For reading, pa_message_params_read_string() reverts the changes that pa_message_params_write_string() might have introduced. The patch also adds more restrictions on the object path name. Now only alphanumeric characters and one of "_", ".", "-" and "/" are allowed. The path name may not end with a / or contain a double slash. If the user specifies a trailing / when sending a message, it will be silently removed. Part-of: <!51>
-
For better readability, "pactl list message-handlers" is introduced which prints a formatted output of "pactl send-message /core list-handlers". The patch also adds the functions pa_message_params_read_raw() and pa_message_params_read_string() for easy parsing of the message response string. Because the functions need to modify the parameter string, the message handler and the pa_context_string_callback function now receive a char* instead of a const char* as parameter argument. Part-of: <pulseaudio/pulseaudio!51>
-
This patch adds a small message handler to the core which enables clients to list available handlers via the list-handlers message. Command: pacmd send-message /core list-handlers pactl can be used with the same parameters. The patch also introduces a convention for the return string. It consists of a list of elements where curly braces are used to separate elements. Each element can itself contain further elements. For example consider a message that returns multiple elements which each contain an integer and an array of float. A response string would look like that: {{Integer} {{1st float} {2nd float} ...}}{...} Part-of: <!51>
-
Part-of: <!51>
-
This patch adds the PA_COMMAND_SEND_OBJECT_MESSAGE command to protocol-native so that clients can use the messaging feature introduced in the previous patch. Sending messages can in effect replace the extension system for modules. The approach is more flexible than the extension interface because a generic string format is used to exchange information. Furthermore the messaging system can be used for any object, not only for modules, and is easier to implement than extensions. Part-of: <!51>
-
- 30 Nov, 2020 1 commit
-
-
Igor Kovalenko authored
target_machine provides information about the machine on which the compiled binary's output will run. cpu_family() returns CPU family name (such as x86_64, not more specific amd64) Part-of: <pulseaudio/pulseaudio!426>
-
- 27 Nov, 2020 2 commits
-
-
Igor Kovalenko authored
Restore an option to disable OSS output available with autotools.
-
playing sound through null sink takes almost 2 seconds at first time playback when norewinds is set. Because block_usec is set 2 seconds at initializing time. The value will be changed 50 msec after calling update_request_latency callback. Part-of: <pulseaudio/pulseaudio!406>
-
- 26 Nov, 2020 1 commit
-
-
Igor Kovalenko authored
At least Gentoo and OpenSUSE install alsa-info.sh in /usr/sbin, look there too. Part-of: <pulseaudio/pulseaudio!422>
-
- 25 Nov, 2020 1 commit
-
-
Debian kfreebsd uses the GNU libc that uses cpu_set_t instead of cpuset_t Also do not include unnecessary headers on this platform Fixes: #851 Part-of: <pulseaudio/pulseaudio!356>
-
- 24 Nov, 2020 1 commit
-
-
This replaces the original virtual surround sink with a total rewrite, aiming to implement any number of hrir use cases, including asymmetrical impulses as two separate left and right output files. It uses FFTW3 FFT convolution, using the overlap- save method, with full rewind support. It operates in steps equal to the resampled length of the hrir, and overlaps input blocks in increments equal to the size of the FFT block. If using paired hrirs, it requires matched sample spec and sample rates and channel maps. For best results, the input files should have speaker maps, rather than expecting the sample loader to auto detect the mapping. Part-of: <pulseaudio/pulseaudio!240>
-
- 23 Nov, 2020 17 commits
-
-
This comment was missed in 757eb264.
-
-
The HP Thunderbolt Dock [1] has two separate USB cards, a headset jack and an optional module which is a speakerphone. This patch adds new description for them, and mark the intended-roles as phone for the speakerphone module. [1] https://store.hp.com/us/en/pdp/hp-thunderbolt-dock-120w-g2-with-audio
-
-
The .include meta command already supports specifying a directory and when including a directory, all files with the extension '.pa' in that directory will be parsed in alphabetical order. This feature can be used to add support for default.pa.d directory, so that packages for other applications or users can just drop in a file for configuration without changing the default.pa which is shipped. We use the PA_DEFAULT_CONFIG_DIR for this, however, since meson quotes this build variable, introduce an unquoted version for this purpose and use it with .include. Fixes: pulseaudio/pulseaudio#909 Signed-off-by:
Sanchayan Maity <sanchayan@asymptotic.io>
-
We already supported the CLFE element, which should be semantically equivalent, so I just copied all the CLFE element definitions. The Center/LFE element is seen on Creative X-Fi with 20K1 chipset cards. Fixes: #978
-
The webrtc backend of module-echo-cancel uses sscanf() to parse floating point numbers from module arguments, which didn't work when the locale used a comma for the decimal point. Setting the LC_NUMERIC locale variable to C makes the pulseaudio process use a period as the decimal point regardless of the user's locale configuration. Fixes: pulseaudio/pulseaudio#89
-
This call has been seen failing on FreeBSD, and it's difficult to debug without seeing which error the function returned. Fixes: pulseaudio/pulseaudio#988
-
If there are RAOP devices in the network, it doesn't necessarily mean that the user wants to play music to them. Fixes: pulseaudio/pulseaudio#993
-
Newer GCC warns us that the channel_map and volume in legacy entries are accessed via pointers, and these might be unaligned as the legacy entry is a packed structure. For this reason, we read out those values into local variables before accessing them as pointers. The warnings are: [146/433] Compiling C object src/modules/module-device-restore.so.p/module-device-restore.c.o ../src/modules/module-device-restore.c: In function ‘legacy_entry_read’: ../src/modules/module-device-restore.c:554:51: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 554 | if (le->volume_valid && !pa_channel_map_valid(&le->channel_map)) { | ^~~~~~~~~~~~~~~~ ../src/modules/module-device-restore.c:559:48: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 559 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { | ^~~~~~~~~~~ ../src/modules/module-device-restore.c:559:104: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 559 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { | ^~~~~~~~~~~ ../src/modules/module-device-restore.c:559:117: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 559 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { | ^~~~~~~~~~~~~~~~ [211/433] Compiling C object src/modules/module-stream-restore.so.p/module-stream-restore.c.o ../src/modules/module-stream-restore.c: In function ‘legacy_entry_read’: ../src/modules/module-stream-restore.c:1076:51: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 1076 | if (le->volume_valid && !pa_channel_map_valid(&le->channel_map)) { | ^~~~~~~~~~~~~~~~ ../src/modules/module-stream-restore.c:1081:48: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 1081 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { | ^~~~~~~~~~~ ../src/modules/module-stream-restore.c:1081:104: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 1081 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { | ^~~~~~~~~~~ ../src/modules/module-stream-restore.c:1081:117: warning: taking address of packed member of ‘struct legacy_entry’ may result in an unaligned pointer value [-Waddress-of-packed-member] 1081 | if (le->volume_valid && (!pa_cvolume_valid(&le->volume) || !pa_cvolume_compatible_with_channel_map(&le->volume, &le->channel_map))) { |
-
This uses the year 2038-safe g_get_real_time() as recommended instead. Bumps GLib dependency to 2.28 as a result.
-
The preference in glib is now to just use the const qualifier directly.
-
Arun Raghavan authored
This is because we reverted the previous API breaking change to the meaning of the pa_mainloop_prepare() timeout argument.
-
This reverts commit 6b1719d0, as it inadvertently broke the semantics of timeout in the API. Fixes: pulseaudio/pulseaudio#1039
-
Tanu Kaskinen authored
With Meson GStreamer is already disabled by default, let's match that with Autotools.
-
modules/alsa/alsa-sink.c: In function ‘pa_alsa_sink_new’: modules/alsa/alsa-sink.c:2603:15: warning: declaration of ‘state’ shadows a previous local [-Wshadow] void *state; ^~~~~ modules/alsa/alsa-sink.c:2270:11: note: shadowed declaration is here void *state = NULL; ^~~~~ CC modules/alsa/module_alsa_sink_la-module-alsa-sink.lo modules/alsa/alsa-source.c: In function ‘pa_alsa_source_new’: modules/alsa/alsa-source.c:2289:15: warning: declaration of ‘state’ shadows a previous local [-Wshadow] void *state; ^~~~~ modules/alsa/alsa-source.c:1975:11: note: shadowed declaration is here void *state = NULL; ^~~~~ modules/alsa/module-alsa-card.c: In function ‘prune_singleton_availability_groups’: modules/alsa/module-alsa-card.c:691:71: warning: pointer of type ‘void *’ used in arithmetic [-Wpointer-arith] pa_hashmap_put(group_counts, p->availability_group, count + 1); ^
-
Commits 323195e3 ("switch-on-port-available: Switch to headphones on unknown availability") and d83ad699 ("module-alsa-card: Drop availability groups with only one port") broke switching from headphones to speakers when headphones are unplugged. switch_from_port() selects speakers, whose availability is unknown and availability group is unset, and then calls switch_to_port(). The new logic in switch_on_port() unintentionally blocked that switch. This patch moves the problematic logic from switch_to_port() to port_available_hook_callback() where it doesn't interfere with switch_from_port(). Fixes: pulseaudio/pulseaudio#1043
-