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
|
https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/a979c0f43078cbfefa2ba614ee078579042d2de2
From a979c0f43078cbfefa2ba614ee078579042d2de2 Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans@redhat.com>
Date: Tue, 17 Jan 2023 11:58:04 +0100
Subject: [PATCH] keys: don't remove deprecated symbols by default
Add a new macro to mark deprecated keys. The macro will emit a warning
about the symbol being deprecated.
PW_ENABLE_DEPRECATED will suppress the deprecation warning.
Add PW_REMOVE_DEPRECATED to completely remove the deprecated symbols.
Fixes #2952
--- a/src/pipewire/keys.h
+++ b/src/pipewire/keys.h
@@ -29,6 +29,7 @@
extern "C" {
#endif
+#include <pipewire/utils.h>
/**
* \defgroup pw_keys Key Names
*
@@ -337,14 +338,14 @@ extern "C" {
#define PW_KEY_VIDEO_FORMAT "video.format" /**< a video format */
#define PW_KEY_VIDEO_SIZE "video.size" /**< a video size as "<width>x<height" */
-#ifdef PW_ENABLE_DEPRECATED
-#define PW_KEY_PRIORITY_MASTER "priority.master" /**< deprecated */
-#define PW_KEY_NODE_TARGET "node.target" /**< deprecated since 0.3.64, use target.object. */
-#endif /* PW_ENABLE_DEPRECATED */
-
#define PW_KEY_TARGET_OBJECT "target.object" /**< a target object to link to. This can be
* and object name or object.serial */
+#ifndef PW_REMOVE_DEPRECATED
+#define PW_KEY_PRIORITY_MASTER PW_DEPRECATED("priority.master") /**< deprecated, use priority.driver */
+#define PW_KEY_NODE_TARGET PW_DEPRECATED("node.target") /**< deprecated since 0.3.64, use target.object. */
+#endif /* PW_REMOVE_DEPRECATED */
+
/** \}
*/
--- a/src/pipewire/utils.h
+++ b/src/pipewire/utils.h
@@ -94,6 +94,12 @@ ssize_t pw_getrandom(void *buf, size_t buflen, unsigned int flags);
void* pw_reallocarray(void *ptr, size_t nmemb, size_t size);
+#ifdef PW_ENABLE_DEPRECATED
+#define PW_DEPRECATED(v) (v)
+#else
+#define PW_DEPRECATED(v) ({ __typeof__(v) _v SPA_DEPRECATED = (v); (void)_v; (v); })
+#endif /* PW_ENABLE_DEPRECATED */
+
/**
* \}
*/
--
2.39.1
|