Hello community, here is the log from the commit of package apulse for openSUSE:Factory checked in at 2020-10-02 17:36:25 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/apulse (Old) and /work/SRC/openSUSE:Factory/.apulse.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "apulse" Fri Oct 2 17:36:25 2020 rev:13 rq:838822 version:0.1.13 Changes: -------- --- /work/SRC/openSUSE:Factory/apulse/apulse.changes 2019-11-08 15:28:17.799163171 +0100 +++ /work/SRC/openSUSE:Factory/.apulse.new.4249/apulse.changes 2020-10-02 17:36:40.602716200 +0200 @@ -1,0 +2,11 @@ +Tue Sep 29 18:17:04 UTC 2020 - Alexei Sorokin <[email protected]> + +- Update to version 0.1.13: + * Fix compiling with external PulseAudio 12.x headers. + * Link libpulse-simple.so with libpulse.so. + * Use <0 rather than !=0 for ALSA error code checking. + * Minor compilation fixes. +- Drop apulse-fix-pulse-12.patch, apulse-alsa.patch: fixed + upstream. + +------------------------------------------------------------------- Old: ---- apulse-0.1.12.tar.gz apulse-alsa.patch apulse-fix-pulse-12.patch New: ---- apulse-0.1.13.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ apulse.spec ++++++ --- /var/tmp/diff_new_pack.qtkLkk/_old 2020-10-02 17:36:43.070717671 +0200 +++ /var/tmp/diff_new_pack.qtkLkk/_new 2020-10-02 17:36:43.074717674 +0200 @@ -1,7 +1,7 @@ # # spec file for package apulse # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,11 +17,10 @@ # integer of major pulse version -%define pulse_major %(sed -n '/^#define.*PA_MAJOR/{s/^.* //;p}' /usr/include/pulse/version.h) - +%define pulse_major %(sed -n '/^#define.*PA_MAJOR/{s/^.* //;p}' %{_includedir}/pulse/version.h) %define __provides_exclude_from ^%{_libdir}/apulse/.*.so.*$ Name: apulse -Version: 0.1.12 +Version: 0.1.13 Release: 0 Summary: PulseAudio emulation for ALSA License: MIT @@ -30,12 +29,9 @@ Source1: baselibs.conf Source2: %{name}.py Source3: %{name}.conf -# PATCH-FIX-OPENSUSE apulse-fix-pulse-12.patch [email protected] -- Fix PulseAudio 12+ compatibility. -Patch0: apulse-fix-pulse-12.patch -Patch1: apulse-alsa.patch %if %{pulse_major} > 12 -# PATCH-FIX-OPENSUSE apulse-fix-pulse-13.patch [email protected] -- fix pulse 13+ compatibility. -Patch2: apulse-fix-pulse-13.patch +# PATCH-FIX-OPENSUSE apulse-fix-pulse-13.patch [email protected] -- Fix PulseAudio 13+ compatibility. +Patch0: apulse-fix-pulse-13.patch %endif BuildRequires: cmake BuildRequires: gcc-c++ @@ -58,7 +54,7 @@ -DUSE_BUNDLED_PULSEAUDIO_HEADERS=OFF \ -DAPULSEPATH=%{_libdir}/%{name} \ -DCMAKE_SHARED_LINKER_FLAGS="" -LA -make %{?_smp_mflags} V=1 +%make_build %install %cmake_install @@ -71,15 +67,11 @@ %postun -p /sbin/ldconfig %files -%if 0%{?suse_version} >= 1500 %license LICENSE.MIT -%else -%doc LICENSE.MIT -%endif %doc README.md %config(noreplace) %{_sysconfdir}/%{name}.conf %{_bindir}/%{name} -%dir %{_libdir}/%{name} +%dir %{_libdir}/%{name}/ %{_libdir}/%{name}/libpulse*.so.* %{_mandir}/man1/apulse.1%{?ext_man} ++++++ apulse-0.1.12.tar.gz -> apulse-0.1.13.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/CMakeLists.txt new/apulse-0.1.13/CMakeLists.txt --- old/apulse-0.1.12/CMakeLists.txt 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/CMakeLists.txt 2020-04-19 18:46:25.000000000 +0200 @@ -20,7 +20,7 @@ include_directories(${REQ_INCLUDE_DIRS}) -set(USE_BUNDLED_PULSEAUDIO_HEADERS 1 CACHE BOOLEAN "Use bundled PulseAudio headers instead of system ones") +set(USE_BUNDLED_PULSEAUDIO_HEADERS 1 CACHE BOOL "Use bundled PulseAudio headers instead of system ones") if (${USE_BUNDLED_PULSEAUDIO_HEADERS}) include_directories(3rdparty/pulseaudio-headers) else() @@ -64,11 +64,12 @@ set_target_properties(pulse-mainloop-glib PROPERTIES VERSION 0) set_target_properties(pulse-simple PROPERTIES VERSION 0) -set(SYMBOLMAP "-Wl,-version-script=\"${CMAKE_SOURCE_DIR}/src/symbolmap\"") +set(CMAKE_SHARED_LINKER_FLAGS + "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-version-script=\"${CMAKE_SOURCE_DIR}/src/symbolmap\"") -target_link_libraries(pulse ${SYMBOLMAP} trace-helper ${REQ_LIBRARIES}) -target_link_libraries(pulse-mainloop-glib ${SYMBOLMAP} trace-helper ${REQ_LIBRARIES}) -target_link_libraries(pulse-simple ${SYMBOLMAP} trace-helper ${REQ_LIBRARIES}) +target_link_libraries(pulse trace-helper ${REQ_LIBRARIES}) +target_link_libraries(pulse-mainloop-glib trace-helper pulse ${REQ_LIBRARIES}) +target_link_libraries(pulse-simple trace-helper pulse ${REQ_LIBRARIES}) add_subdirectory(tests) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/README.md new/apulse-0.1.13/README.md --- old/apulse-0.1.12/README.md 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/README.md 2020-04-19 18:46:25.000000000 +0200 @@ -179,6 +179,7 @@ to "security.sandbox.content.write_path_whitelist" parameter in `about:config`. Note that trailing slash in "/dev/snd/" is required. + Firefox 58 tabs crashing when trying to play audio -------------------------------------------------- @@ -189,6 +190,10 @@ accepts a comma separated list of system call numbers. Add there `16` for x86-64, or `54` for x86 or ARM. +Firefox 60 tighened its content sandbox more, but at the same time moved audio +accesses from content processes to the main process. From Firefox 60 onwards no +changes to the sandbox settings are necessary. + License ======= diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/src/apulse-stream.c new/apulse-0.1.13/src/apulse-stream.c --- old/apulse-0.1.12/src/apulse-stream.c 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/src/apulse-stream.c 2020-04-19 18:46:25.000000000 +0200 @@ -147,6 +147,9 @@ "SND_PCM_STATE_DISCONNECTED state. Giving up.", s->name ? s->name : "", s->c->name ? s->c->name : ""); break; + default: + // avoid compiler warnings of unhandled (library-private) enum values + break; } #if HAVE_SND_PCM_AVAIL @@ -260,14 +263,14 @@ } errcode = snd_pcm_open(&s->ph, device_name, stream_direction, 0); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't open %s. Error code %d (%s)\n", __func__, device_description, errcode, snd_strerror(errcode)); goto fatal_error; } errcode = snd_pcm_hw_params_malloc(&hw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't allocate memory for hw parameters for %s. Error code %d " "(%s)\n", @@ -276,7 +279,7 @@ } errcode = snd_pcm_hw_params_any(s->ph, hw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't get initial hw parameters for %s. Error code %d (%s)\n", __func__, device_description, errcode, snd_strerror(errcode)); @@ -285,7 +288,7 @@ errcode = snd_pcm_hw_params_set_access(s->ph, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't select interleaved mode for %s. Error code %d (%s)\n", __func__, device_description, errcode, snd_strerror(errcode)); @@ -295,7 +298,7 @@ errcode = snd_pcm_hw_params_set_format(s->ph, hw_params, pa_format_to_alsa(s->ss.format)); - if (errcode != 0) { + if (errcode < 0) { snd_pcm_format_t alsa_format = pa_format_to_alsa(s->ss.format); trace_error( "%s: can't set sample format %d (\"%s\") for %s. Error code %d " @@ -306,7 +309,7 @@ } errcode = snd_pcm_hw_params_set_rate_resample(s->ph, hw_params, 1); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't enable rate resample for %s. Error code %d (%s)\n", __func__, device_description, errcode, snd_strerror(errcode)); @@ -318,7 +321,7 @@ int dir = 0; errcode = snd_pcm_hw_params_set_rate_near(s->ph, hw_params, &rate, &dir); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't set sample rate for %s. Error code %d (%s)\n", __func__, device_description, errcode, snd_strerror(errcode)); @@ -334,7 +337,7 @@ __func__, (int)rate, (int)s->ss.rate); errcode = snd_pcm_hw_params_set_channels(s->ph, hw_params, s->ss.channels); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't set channel count to %d for %s. Error code %d (%s)\n", __func__, (int)s->ss.channels, device_description, errcode, @@ -350,7 +353,7 @@ dir = 1; // Prefer larger period sizes, if exact is not possible. errcode = snd_pcm_hw_params_set_period_size_near(s->ph, hw_params, &period_size, &dir); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't set period size to %d frames for %s. Error code %d " "(%s)\n", @@ -371,7 +374,7 @@ snd_pcm_uframes_t buffer_size = MAX(requested_buffer_size, 4 * period_size); errcode = snd_pcm_hw_params_set_buffer_size_near(s->ph, hw_params, &buffer_size); - if (errcode != 0) { + if (errcode < 0) { trace_error( "%s: can't set buffer size to %d frames for %s. Error code %d " "(%s)\n", @@ -386,7 +389,7 @@ device_description); errcode = snd_pcm_hw_params(s->ph, hw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't apply configured hw parameter block for %s\n", __func__, device_description); goto fatal_error; @@ -395,21 +398,21 @@ snd_pcm_hw_params_free(hw_params); errcode = snd_pcm_sw_params_malloc(&sw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't allocate memory for sw parameters for %s\n", __func__, device_description); goto fatal_error; } errcode = snd_pcm_sw_params_current(s->ph, sw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't acquire current sw parameters for %s\n", __func__, device_description); goto fatal_error; } errcode = snd_pcm_sw_params_set_avail_min(s->ph, sw_params, period_size); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't set avail min for %s\n", __func__, device_description); goto fatal_error; @@ -418,7 +421,7 @@ // no period event requested errcode = snd_pcm_sw_params(s->ph, sw_params); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't apply sw parameters for %s\n", __func__, device_description); goto fatal_error; @@ -427,7 +430,7 @@ snd_pcm_sw_params_free(sw_params); errcode = snd_pcm_prepare(s->ph); - if (errcode != 0) { + if (errcode < 0) { trace_error("%s: can't prepare PCM device to use for %s\n", __func__, device_description); goto fatal_error; @@ -598,7 +601,7 @@ s->direction = PA_STREAM_PLAYBACK; stream_adjust_buffer_attrs(s, attr); - if (do_connect_pcm(s, SND_PCM_STREAM_PLAYBACK) != 0) + if (do_connect_pcm(s, SND_PCM_STREAM_PLAYBACK) < 0) goto err; g_atomic_int_set(&s->paused, !!(flags & PA_STREAM_START_CORKED)); @@ -729,7 +732,7 @@ snd_pcm_sframes_t delay; - if (snd_pcm_delay(s->ph, &delay) != 0) + if (snd_pcm_delay(s->ph, &delay) < 0) delay = 0; if (r_usec) @@ -780,7 +783,7 @@ snd_pcm_sframes_t delay; - if (snd_pcm_delay(s->ph, &delay) != 0) + if (snd_pcm_delay(s->ph, &delay) < 0) delay = 0; s->timing_info.read_index = s->timing_info.write_index - delay * pa_frame_size(&s->ss); @@ -1131,7 +1134,7 @@ s->direction = PA_STREAM_RECORD; stream_adjust_buffer_attrs(s, attr); - if (do_connect_pcm(s, SND_PCM_STREAM_CAPTURE) != 0) + if (do_connect_pcm(s, SND_PCM_STREAM_CAPTURE) < 0) goto err; snd_pcm_start(s->ph); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/src/apulse-volume.c new/apulse-0.1.13/src/apulse-volume.c --- old/apulse-0.1.12/src/apulse-volume.c 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/src/apulse-volume.c 2020-04-19 18:46:25.000000000 +0200 @@ -282,8 +282,13 @@ APULSE_EXPORT pa_cvolume * +#if PA_CHECK_VERSION(11, 99, 0) +pa_cvolume_scale_mask(pa_cvolume *v, pa_volume_t max, const pa_channel_map *cm, + pa_channel_position_mask_t mask) +#else pa_cvolume_scale_mask(pa_cvolume *v, pa_volume_t max, pa_channel_map *cm, pa_channel_position_mask_t mask) +#endif { trace_info_z("Z %s\n", __func__); return NULL; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/src/apulse.h new/apulse-0.1.13/src/apulse.h --- old/apulse-0.1.12/src/apulse.h 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/src/apulse.h 2020-04-19 18:46:25.000000000 +0200 @@ -26,7 +26,7 @@ #define _GNU_SOURCE #include "ringbuffer.h" -#include <asoundlib.h> +#include <alsa/asoundlib.h> #include <glib.h> #include <poll.h> #include <pthread.h> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/apulse-0.1.12/src/util.h new/apulse-0.1.13/src/util.h --- old/apulse-0.1.12/src/util.h 2018-03-15 11:35:19.000000000 +0100 +++ new/apulse-0.1.13/src/util.h 2020-04-19 18:46:25.000000000 +0200 @@ -24,7 +24,7 @@ #pragma once -#include <asoundlib.h> +#include <alsa/asoundlib.h> #include <pulse/pulseaudio.h> int
