summaryrefslogtreecommitdiff
path: root/www-client/chromium/files/chromium-pa13.patch
blob: 892a3183c9da0b926d63c0083d97ad964a91d4a1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From 7ac85fb4cc6f44a21761a591ac497ae3d6bf966d Mon Sep 17 00:00:00 2001
From: Allan Sandfeld Jensen <allan.jensen@qt.io>
Date: Mon, 23 Sep 2019 13:49:53 +0200
Subject: [PATCH] Fix building with pulseaudio 13

The function signature changed though the ABI stayed the same.

(Modified to apply on chromium sources too)

Change-Id: I86ca361b5e4f0c523e1031910df438c23beee876
Fixes: QTBUG-77037
Reviewed-by: Jüri Valdmann <juri.valdmann@qt.io>
---

diff --git a/media/audio/pulse/pulse.sigs b/media/audio/pulse/pulse.sigs
index 8b58887..daaeb14 100644
--- a/media/audio/pulse/pulse.sigs
+++ b/media/audio/pulse/pulse.sigs
@@ -24,11 +24,11 @@
 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_ptr 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_ptr 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 @@
 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_ptr 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_ptr 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_ptr 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_ptr 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_ptr 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_ptr c);
 const char* pa_strerror(int error);
 pa_cvolume* pa_cvolume_set(pa_cvolume* a, unsigned  channels, pa_volume_t v);
diff --git a/chromium/media/audio/pulse/pulse_stub_header.fragment b/chromium/media/audio/pulse/pulse_stub_header.fragment
index 2a2d3e7..cdaa841 100644
--- a/media/audio/pulse/pulse_stub_header.fragment
+++ b/media/audio/pulse/pulse_stub_header.fragment
@@ -5,4 +5,15 @@
 
 #include <pulse/pulseaudio.h>
 
+#if PA_MAJOR > 12
+typedef const pa_context* const_pa_context_ptr;
+typedef const pa_operation* const_pa_operation_ptr;
+typedef const pa_proplist* const_pa_proplist_ptr;
+typedef const pa_stream* const_pa_stream_ptr;
+#else
+typedef pa_context* const_pa_context_ptr;
+typedef pa_operation* const_pa_operation_ptr;
+typedef pa_proplist* const_pa_proplist_ptr;
+typedef pa_stream* const_pa_stream_ptr;
+#endif
 }