aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjbeich <jbeich@FreeBSD.org>2019-09-16 00:15:03 +0800
committerjbeich <jbeich@FreeBSD.org>2019-09-16 00:15:03 +0800
commit09c1debcefff95e90990424e1825564a577d3df3 (patch)
tree69a47a0deddbe62e2e3ad4aaf3ead6dba659dd3c
parent0437bdb80df0dafbc8cd54b982243bfc7f77169c (diff)
downloadfreebsd-ports-gnome-09c1debcefff95e90990424e1825564a577d3df3.tar.gz
freebsd-ports-gnome-09c1debcefff95e90990424e1825564a577d3df3.tar.zst
freebsd-ports-gnome-09c1debcefff95e90990424e1825564a577d3df3.zip
audio/pulseaudio: update to 13.0
- Connect tests to the framework Changes: https://www.freedesktop.org/wiki/Software/PulseAudio/Notes/13.0/ ABI: https://abi-laboratory.pro/tracker/timeline/pulseaudio/ PR: 240585 Submitted by: lightside@gmx.com
-rw-r--r--audio/pulseaudio/Makefile17
-rw-r--r--audio/pulseaudio/distinfo6
-rw-r--r--audio/pulseaudio/files/patch-src_pulsecore_atomic.h13
-rw-r--r--audio/pulseaudio/files/patch-src_tests_atomic-test.c14
-rw-r--r--audio/pulseaudio/pkg-plist17
-rw-r--r--devel/electron4/files/patch-media_audio_pulse_pulse.sigs143
-rw-r--r--net/xrdp/Makefile2
-rw-r--r--www/chromium/files/patch-media_audio_pulse_pulse.sigs143
-rw-r--r--www/iridium/files/patch-media_audio_pulse_pulse.sigs143
-rw-r--r--www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_pulse_pulse.sigs143
10 files changed, 626 insertions, 15 deletions
diff --git a/audio/pulseaudio/Makefile b/audio/pulseaudio/Makefile
index 795022639b7c..02db0a35d6ae 100644
--- a/audio/pulseaudio/Makefile
+++ b/audio/pulseaudio/Makefile
@@ -5,8 +5,7 @@
# PORTREVISION bumps of depending ports.
PORTNAME= pulseaudio
-PORTVERSION= 12.2
-PORTREVISION= 6
+PORTVERSION= 13.0
CATEGORIES= audio
MASTER_SITES= http://freedesktop.org/software/pulseaudio/releases/
@@ -16,6 +15,7 @@ COMMENT= Sound server for UNIX
LICENSE= LGPL21
LICENSE_FILE= ${WRKSRC}/LGPL
+BUILD_DEPENDS= p5-XML-Parser>=0:textproc/p5-XML-Parser
LIB_DEPENDS= libsndfile.so:audio/libsndfile \
libfftw3.so:math/fftw3 \
libfftw3f.so:math/fftw3-float \
@@ -26,7 +26,7 @@ LIB_DEPENDS= libsndfile.so:audio/libsndfile \
USES= compiler:c11 cpe gettext gmake gnome iconv libtool \
pathfix pkgconfig python:run shebangfix ssl tar:xz
-USE_GNOME= glib20 intltool
+USE_GNOME= glib20
USE_XORG= ice sm x11 xcb xtst
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
@@ -40,6 +40,7 @@ LDFLAGS+= -L${LOCALBASE}/lib
INSTALL_TARGET= install-strip
SHEBANG_FILES= shell-completion/bash/pulseaudio \
+ src/utils/pa-info \
src/utils/qpaeq
bash_CMD= ${SETENV} bash
SUB_FILES= pkg-message
@@ -59,7 +60,7 @@ USERS= pulse
GROUPS= pulse pulse-access pulse-rt
OPTIONS_SUB= yes
-OPTIONS_DEFINE= AVAHI GCONF GSETTINGS SIMD
+OPTIONS_DEFINE= AVAHI GCONF GSETTINGS SIMD TEST
OPTIONS_DEFAULT=AVAHI SIMD SIMPLE SOXR SPEEX WEBRTC_AEC
AVAHI_CONFIGURE_ENABLE= avahi
AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app
@@ -70,6 +71,9 @@ GSETTINGS_CONFIGURE_ENABLE= gsettings
GSETTINGS_VARS= GLIB_SCHEMAS=org.freedesktop.pulseaudio.gschema.xml
SIMD_CONFIGURE_ENABLE= orc
SIMD_LIB_DEPENDS= liborc-0.4.so:devel/orc
+TEST_TEST_TARGET= check
+TEST_CONFIGURE_ENABLE= default-build-tests
+TEST_BUILD_DEPENDS= check>0:devel/check
OPTIONS_GROUP= AUDIO
OPTIONS_GROUP_AUDIO= ALSA JACK SOXR SPEEX WEBRTC_AEC
@@ -105,9 +109,14 @@ PLIST_SUB= PULSE_VERSION=${PULSE_VERSION}
post-patch:
@${REINPLACE_CMD} -e 's|/usr/share|${LOCALBASE}/share|g' \
${WRKSRC}/src/daemon/default.pa.in
+ @${REINPLACE_CMD} -e 's|/etc|${PREFIX}/etc|g' \
+ -e 's|--directory|-d|g' \
+ ${WRKSRC}/src/utils/pa-info
@${REINPLACE_CMD} -e 's|-Wmissing-include-dirs||g' \
${WRKSRC}/configure
+pre-install-TEST-on: do-test
+
post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/pulse
.for ii in default.pa daemon.conf client.conf system.pa
diff --git a/audio/pulseaudio/distinfo b/audio/pulseaudio/distinfo
index 2a0b285e5b03..94d6e430289a 100644
--- a/audio/pulseaudio/distinfo
+++ b/audio/pulseaudio/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1531753054
-SHA256 (pulseaudio-12.2.tar.xz) = 809668ffc296043779c984f53461c2b3987a45b7a25eb2f0a1d11d9f23ba4055
-SIZE (pulseaudio-12.2.tar.xz) = 1665092
+TIMESTAMP = 1568380928
+SHA256 (pulseaudio-13.0.tar.xz) = 961b23ca1acfd28f2bc87414c27bb40e12436efcf2158d29721b1e89f3f28057
+SIZE (pulseaudio-13.0.tar.xz) = 1901768
diff --git a/audio/pulseaudio/files/patch-src_pulsecore_atomic.h b/audio/pulseaudio/files/patch-src_pulsecore_atomic.h
index ed042d9c227c..342b1568af0c 100644
--- a/audio/pulseaudio/files/patch-src_pulsecore_atomic.h
+++ b/audio/pulseaudio/files/patch-src_pulsecore_atomic.h
@@ -1,6 +1,15 @@
---- src/pulsecore/atomic.h.orig 2016-08-23 12:50:11 UTC
+--- src/pulsecore/atomic.h.orig 2019-09-13 13:10:23 UTC
+++ src/pulsecore/atomic.h
-@@ -185,39 +185,6 @@ static inline bool pa_atomic_ptr_cmpxchg
+@@ -117,7 +117,7 @@ static inline void* pa_atomic_ptr_load(c
+ }
+
+ static inline void pa_atomic_ptr_store(pa_atomic_ptr_t *a, void* p) {
+- __atomic_store_n(&a->value, p, __ATOMIC_SEQ_CST);
++ __atomic_store_n(&a->value, (uintptr_t)p, __ATOMIC_SEQ_CST);
+ }
+
+ #else
+@@ -218,39 +218,6 @@ static inline bool pa_atomic_ptr_cmpxchg
#include <sys/param.h>
#include <machine/atomic.h>
diff --git a/audio/pulseaudio/files/patch-src_tests_atomic-test.c b/audio/pulseaudio/files/patch-src_tests_atomic-test.c
new file mode 100644
index 000000000000..bc194e7ffe99
--- /dev/null
+++ b/audio/pulseaudio/files/patch-src_tests_atomic-test.c
@@ -0,0 +1,14 @@
+--- src/tests/atomic-test.c.orig 2019-09-13 13:10:23 UTC
++++ src/tests/atomic-test.c
+@@ -51,6 +51,11 @@
+
+ #define MEMORY_SIZE (8 * 2 * 1024 * 1024)
+
++#ifdef __FreeBSD__
++#include <sys/cpuset.h>
++#define cpu_set_t cpuset_t
++#endif
++
+
+ typedef struct io_t {
+ pa_atomic_t *flag;
diff --git a/audio/pulseaudio/pkg-plist b/audio/pulseaudio/pkg-plist
index 037269b92a62..284cba2ab33f 100644
--- a/audio/pulseaudio/pkg-plist
+++ b/audio/pulseaudio/pkg-plist
@@ -1,3 +1,4 @@
+bin/pa-info
bin/pacat
bin/pacmd
bin/pactl
@@ -68,7 +69,7 @@ lib/libpulse-simple.so.0
lib/libpulse-simple.so.0.1.1
lib/libpulse.so
lib/libpulse.so.0
-lib/libpulse.so.0.20.3
+lib/libpulse.so.0.21.1
%%AVAHI%%lib/pulse-%%PULSE_VERSION%%/modules/libavahi-wrap.so
lib/pulse-%%PULSE_VERSION%%/modules/module-allow-passthrough.so
lib/pulse-%%PULSE_VERSION%%/modules/module-device-manager.so
@@ -215,9 +216,12 @@ man/man5/pulse-daemon.conf.5.gz
%%ALSA%%share/pulseaudio/alsa-mixer/paths/hdmi-output-7.conf
%%ALSA%%share/pulseaudio/alsa-mixer/paths/iec958-stereo-input.conf
%%ALSA%%share/pulseaudio/alsa-mixer/paths/iec958-stereo-output.conf
-%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-input.conf
-%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-output-mono.conf
-%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-output-stereo.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-5-output-chat.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-5-output-game.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-7-input.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-7-output-mono.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/paths/steelseries-arctis-7-output-stereo.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/cmedia-high-speed-true-hdaudio.conf
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/default.conf
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/dell-dock-tb16-usb-audio.conf
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/force-speaker-and-int-mic.conf
@@ -232,13 +236,16 @@ man/man5/pulse-daemon.conf.5.gz
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/native-instruments-traktor-audio6.conf
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/native-instruments-traktorkontrol-s4.conf
%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/sb-omni-surround-5.1.conf
-%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/steelseries-arctis-usb-audio.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/steelseries-arctis-5-usb-audio.conf
+%%ALSA%%share/pulseaudio/alsa-mixer/profile-sets/steelseries-arctis-7-usb-audio.conf
share/zsh/site-functions/_pulseaudio
+share/locale/af/LC_MESSAGES/pulseaudio.mo
share/locale/as/LC_MESSAGES/pulseaudio.mo
share/locale/be/LC_MESSAGES/pulseaudio.mo
share/locale/bn_IN/LC_MESSAGES/pulseaudio.mo
share/locale/ca/LC_MESSAGES/pulseaudio.mo
share/locale/cs/LC_MESSAGES/pulseaudio.mo
+share/locale/da/LC_MESSAGES/pulseaudio.mo
share/locale/de/LC_MESSAGES/pulseaudio.mo
share/locale/de_CH/LC_MESSAGES/pulseaudio.mo
share/locale/el/LC_MESSAGES/pulseaudio.mo
diff --git a/devel/electron4/files/patch-media_audio_pulse_pulse.sigs b/devel/electron4/files/patch-media_audio_pulse_pulse.sigs
new file mode 100644
index 000000000000..3d31bd187348
--- /dev/null
+++ b/devel/electron4/files/patch-media_audio_pulse_pulse.sigs
@@ -0,0 +1,143 @@
+gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting types for 'pa_context_get_state'
+extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:156:21: error: conflicting types for 'pa_context_get_state'
+pa_context_state_t pa_context_get_state(pa_context* c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting types for 'pa_operation_get_state'
+extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:172:23: error: conflicting types for 'pa_operation_get_state'
+pa_operation_state_t pa_operation_get_state(pa_operation* o) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:211:17: error: conflicting types for 'pa_stream_get_device_index'
+extern uint32_t pa_stream_get_device_index(pa_stream* s) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:212:11: error: conflicting types for 'pa_stream_get_device_index'
+uint32_t pa_stream_get_device_index(pa_stream* s) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:219:26: error: conflicting types for 'pa_stream_get_state'
+extern pa_stream_state_t pa_stream_get_state(pa_stream* p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:220:20: error: conflicting types for 'pa_stream_get_state'
+pa_stream_state_t pa_stream_get_state(pa_stream* p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:235:12: error: conflicting types for 'pa_proplist_contains'
+extern int pa_proplist_contains(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:236:6: error: conflicting types for 'pa_proplist_contains'
+int pa_proplist_contains(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:243:20: error: conflicting types for 'pa_proplist_gets'
+extern const char* pa_proplist_gets(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:244:14: error: conflicting types for 'pa_proplist_gets'
+const char* pa_proplist_gets(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:251:15: error: conflicting types for 'pa_stream_readable_size'
+extern size_t pa_stream_readable_size(pa_stream *p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:252:9: error: conflicting types for 'pa_stream_readable_size'
+size_t pa_stream_readable_size(pa_stream *p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:279:12: error: conflicting types for 'pa_context_errno'
+extern int pa_context_errno(pa_context *c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:280:6: error: conflicting types for 'pa_context_errno'
+int pa_context_errno(pa_context *c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+
+--- media/audio/pulse/pulse.sigs.orig 2019-03-19 08:52:48 UTC
++++ media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_c
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const pa_context *c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const pa_operation* o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_s
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const pa_stream* s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const pa_stream* p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const pa_proplist* p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const pa_proplist* p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/net/xrdp/Makefile b/net/xrdp/Makefile
index 5e4850425e4f..f544b191fdc2 100644
--- a/net/xrdp/Makefile
+++ b/net/xrdp/Makefile
@@ -19,7 +19,7 @@ LICENSE_FILE= ${WRKSRC}/COPYING
BUILD_DEPENDS= ${LOCALBASE}/bin/nasm:devel/nasm
RUN_DEPENDS= xterm:x11/xterm \
${LOCALBASE}/lib/xorg/modules/libxorgxrdp.so:x11-drivers/xorgxrdp \
- ${LOCALBASE}/lib/pulse-12.2/modules/module-xrdp-sink.so:audio/pulseaudio-module-xrdp
+ ${LOCALBASE}/lib/pulse-13.0/modules/module-xrdp-sink.so:audio/pulseaudio-module-xrdp
USES= autoreconf:build jpeg localbase libtool pkgconfig ssl
USE_XORG= ice pixman sm x11 xfixes xrandr
diff --git a/www/chromium/files/patch-media_audio_pulse_pulse.sigs b/www/chromium/files/patch-media_audio_pulse_pulse.sigs
new file mode 100644
index 000000000000..3d31bd187348
--- /dev/null
+++ b/www/chromium/files/patch-media_audio_pulse_pulse.sigs
@@ -0,0 +1,143 @@
+gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting types for 'pa_context_get_state'
+extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:156:21: error: conflicting types for 'pa_context_get_state'
+pa_context_state_t pa_context_get_state(pa_context* c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting types for 'pa_operation_get_state'
+extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:172:23: error: conflicting types for 'pa_operation_get_state'
+pa_operation_state_t pa_operation_get_state(pa_operation* o) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:211:17: error: conflicting types for 'pa_stream_get_device_index'
+extern uint32_t pa_stream_get_device_index(pa_stream* s) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:212:11: error: conflicting types for 'pa_stream_get_device_index'
+uint32_t pa_stream_get_device_index(pa_stream* s) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:219:26: error: conflicting types for 'pa_stream_get_state'
+extern pa_stream_state_t pa_stream_get_state(pa_stream* p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:220:20: error: conflicting types for 'pa_stream_get_state'
+pa_stream_state_t pa_stream_get_state(pa_stream* p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:235:12: error: conflicting types for 'pa_proplist_contains'
+extern int pa_proplist_contains(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:236:6: error: conflicting types for 'pa_proplist_contains'
+int pa_proplist_contains(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:243:20: error: conflicting types for 'pa_proplist_gets'
+extern const char* pa_proplist_gets(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:244:14: error: conflicting types for 'pa_proplist_gets'
+const char* pa_proplist_gets(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:251:15: error: conflicting types for 'pa_stream_readable_size'
+extern size_t pa_stream_readable_size(pa_stream *p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:252:9: error: conflicting types for 'pa_stream_readable_size'
+size_t pa_stream_readable_size(pa_stream *p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:279:12: error: conflicting types for 'pa_context_errno'
+extern int pa_context_errno(pa_context *c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:280:6: error: conflicting types for 'pa_context_errno'
+int pa_context_errno(pa_context *c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+
+--- media/audio/pulse/pulse.sigs.orig 2019-03-19 08:52:48 UTC
++++ media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_c
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const pa_context *c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const pa_operation* o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_s
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const pa_stream* s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const pa_stream* p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const pa_proplist* p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const pa_proplist* p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/www/iridium/files/patch-media_audio_pulse_pulse.sigs b/www/iridium/files/patch-media_audio_pulse_pulse.sigs
new file mode 100644
index 000000000000..3d31bd187348
--- /dev/null
+++ b/www/iridium/files/patch-media_audio_pulse_pulse.sigs
@@ -0,0 +1,143 @@
+gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting types for 'pa_context_get_state'
+extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:156:21: error: conflicting types for 'pa_context_get_state'
+pa_context_state_t pa_context_get_state(pa_context* c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting types for 'pa_operation_get_state'
+extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:172:23: error: conflicting types for 'pa_operation_get_state'
+pa_operation_state_t pa_operation_get_state(pa_operation* o) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:211:17: error: conflicting types for 'pa_stream_get_device_index'
+extern uint32_t pa_stream_get_device_index(pa_stream* s) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:212:11: error: conflicting types for 'pa_stream_get_device_index'
+uint32_t pa_stream_get_device_index(pa_stream* s) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:219:26: error: conflicting types for 'pa_stream_get_state'
+extern pa_stream_state_t pa_stream_get_state(pa_stream* p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:220:20: error: conflicting types for 'pa_stream_get_state'
+pa_stream_state_t pa_stream_get_state(pa_stream* p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:235:12: error: conflicting types for 'pa_proplist_contains'
+extern int pa_proplist_contains(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:236:6: error: conflicting types for 'pa_proplist_contains'
+int pa_proplist_contains(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:243:20: error: conflicting types for 'pa_proplist_gets'
+extern const char* pa_proplist_gets(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:244:14: error: conflicting types for 'pa_proplist_gets'
+const char* pa_proplist_gets(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:251:15: error: conflicting types for 'pa_stream_readable_size'
+extern size_t pa_stream_readable_size(pa_stream *p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:252:9: error: conflicting types for 'pa_stream_readable_size'
+size_t pa_stream_readable_size(pa_stream *p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:279:12: error: conflicting types for 'pa_context_errno'
+extern int pa_context_errno(pa_context *c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:280:6: error: conflicting types for 'pa_context_errno'
+int pa_context_errno(pa_context *c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+
+--- media/audio/pulse/pulse.sigs.orig 2019-03-19 08:52:48 UTC
++++ media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_c
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const pa_context *c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const pa_operation* o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_s
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const pa_stream* s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const pa_stream* p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const pa_proplist* p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const pa_proplist* p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);
diff --git a/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_pulse_pulse.sigs b/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_pulse_pulse.sigs
new file mode 100644
index 000000000000..e6253175f52a
--- /dev/null
+++ b/www/qt5-webengine/files/patch-src_3rdparty_chromium_media_audio_pulse_pulse.sigs
@@ -0,0 +1,143 @@
+gen/media/audio/pulse/pulse_stubs.cc:155:27: error: conflicting types for 'pa_context_get_state'
+extern pa_context_state_t pa_context_get_state(pa_context* c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:156:21: error: conflicting types for 'pa_context_get_state'
+pa_context_state_t pa_context_get_state(pa_context* c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:199:20: note: previous declaration is here
+pa_context_state_t pa_context_get_state(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:171:29: error: conflicting types for 'pa_operation_get_state'
+extern pa_operation_state_t pa_operation_get_state(pa_operation* o) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:172:23: error: conflicting types for 'pa_operation_get_state'
+pa_operation_state_t pa_operation_get_state(pa_operation* o) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/operation.h:52:22: note: previous declaration is here
+pa_operation_state_t pa_operation_get_state(const pa_operation *o);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:211:17: error: conflicting types for 'pa_stream_get_device_index'
+extern uint32_t pa_stream_get_device_index(pa_stream* s) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:212:11: error: conflicting types for 'pa_stream_get_device_index'
+uint32_t pa_stream_get_device_index(pa_stream* s) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:366:10: note: previous declaration is here
+uint32_t pa_stream_get_device_index(const pa_stream *s);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:219:26: error: conflicting types for 'pa_stream_get_state'
+extern pa_stream_state_t pa_stream_get_state(pa_stream* p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:220:20: error: conflicting types for 'pa_stream_get_state'
+pa_stream_state_t pa_stream_get_state(pa_stream* p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:345:19: note: previous declaration is here
+pa_stream_state_t pa_stream_get_state(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:235:12: error: conflicting types for 'pa_proplist_contains'
+extern int pa_proplist_contains(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:236:6: error: conflicting types for 'pa_proplist_contains'
+int pa_proplist_contains(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:390:5: note: previous declaration is here
+int pa_proplist_contains(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:243:20: error: conflicting types for 'pa_proplist_gets'
+extern const char* pa_proplist_gets(pa_proplist* p, const char* key) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:244:14: error: conflicting types for 'pa_proplist_gets'
+const char* pa_proplist_gets(pa_proplist* p, const char* key) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/proplist.h:314:13: note: previous declaration is here
+const char *pa_proplist_gets(const pa_proplist *p, const char *key);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:251:15: error: conflicting types for 'pa_stream_readable_size'
+extern size_t pa_stream_readable_size(pa_stream *p) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:252:9: error: conflicting types for 'pa_stream_readable_size'
+size_t pa_stream_readable_size(pa_stream *p) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/stream.h:574:8: note: previous declaration is here
+size_t pa_stream_readable_size(const pa_stream *p);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:279:12: error: conflicting types for 'pa_context_errno'
+extern int pa_context_errno(pa_context *c) __attribute__((weak));
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+gen/media/audio/pulse/pulse_stubs.cc:280:6: error: conflicting types for 'pa_context_errno'
+int pa_context_errno(pa_context *c) {
+ ^
+../../../../../../../../../../usr/local/include/pulse/context.h:193:5: note: previous declaration is here
+int pa_context_errno(const pa_context *c);
+ ^
+
+--- src/3rdparty/chromium/media/audio/pulse/pulse.sigs.orig 2019-03-19 08:52:48 UTC
++++ src/3rdparty/chromium/media/audio/pulse/pulse.sigs
+@@ -24,11 +24,11 @@ pa_operation* pa_context_get_source_info_by_index(pa_c
+ pa_operation* pa_context_get_source_info_by_name(pa_context* c, const char* name, pa_source_info_cb_t cb, void *userdata);
+ pa_operation* pa_context_get_source_info_list(pa_context* c, pa_source_info_cb_t cb, void* userdata);
+ pa_operation* pa_context_get_sink_info_list(pa_context* c, pa_sink_info_cb_t cb, void* userdata);
+-pa_context_state_t pa_context_get_state(pa_context* c);
++pa_context_state_t pa_context_get_state(const pa_context *c);
+ pa_context* pa_context_new(pa_mainloop_api* mainloop, const char* name);
+ pa_operation* pa_context_set_source_volume_by_index(pa_context* c, uint32_t idx, const pa_cvolume* volume, pa_context_success_cb_t cb, void* userdata);
+ void pa_context_set_state_callback(pa_context* c, pa_context_notify_cb_t cb, void* userdata);
+-pa_operation_state_t pa_operation_get_state(pa_operation* o);
++pa_operation_state_t pa_operation_get_state(const pa_operation* o);
+ void pa_context_unref(pa_context* c);
+ void pa_operation_unref(pa_operation* o);
+ int pa_stream_begin_write(pa_stream* p, void** data, size_t* nbytes);
+@@ -38,23 +38,23 @@ pa_operation* pa_stream_cork(pa_stream* s, int b, pa_s
+ int pa_stream_disconnect(pa_stream* s);
+ int pa_stream_drop(pa_stream *p);
+ pa_operation* pa_stream_flush(pa_stream* s, pa_stream_success_cb_t cb, void* userdata);
+-uint32_t pa_stream_get_device_index(pa_stream* s);
++uint32_t pa_stream_get_device_index(const pa_stream* s);
+ int pa_stream_get_latency(pa_stream* s, pa_usec_t* r_usec, int* negative);
+-pa_stream_state_t pa_stream_get_state(pa_stream* p);
++pa_stream_state_t pa_stream_get_state(const pa_stream* p);
+ pa_stream* pa_stream_new(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map * map);
+ pa_stream* pa_stream_new_with_proplist(pa_context* c, const char* name, const pa_sample_spec* ss, const pa_channel_map* map, pa_proplist* p);
+ pa_proplist* pa_proplist_new(void);
+-int pa_proplist_contains(pa_proplist* p, const char* key);
++int pa_proplist_contains(const pa_proplist* p, const char* key);
+ void pa_proplist_free(pa_proplist* p);
+-const char* pa_proplist_gets(pa_proplist* p, const char* key);
++const char* pa_proplist_gets(const pa_proplist* p, const char* key);
+ int pa_proplist_sets(pa_proplist* p, const char* key, const char* value);
+-size_t pa_stream_readable_size(pa_stream *p);
++size_t pa_stream_readable_size(const pa_stream *p);
+ int pa_stream_peek(pa_stream* p, const void** data, size_t* nbytes);
+ void pa_stream_set_read_callback(pa_stream* p, pa_stream_request_cb_t cb, void* userdata);
+ void pa_stream_set_state_callback(pa_stream* s, pa_stream_notify_cb_t cb, void* userdata);
+ int pa_stream_write(pa_stream* p, const void* data, size_t nbytes, pa_free_cb_t free_cb, int64_t offset, pa_seek_mode_t seek);
+ void pa_stream_set_write_callback(pa_stream *p, pa_stream_request_cb_t cb, void *userdata);
+ void pa_stream_unref(pa_stream* s);
+-int pa_context_errno(pa_context *c);
++int pa_context_errno(const pa_context *c);
+ const char* pa_strerror(int error);
+ pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned channels, pa_volume_t v);