summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files/0.3.64/0003-keys-don-t-remove-deprecated-symbols-by-default.patch
blob: fe022959a913325039cfe035d5a2eb3c722fe295 (plain)
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