From f7d32e78f2c7a3b4f76dc9181cadca920bf548e6 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 29 Oct 2019 10:08:46 +0100 Subject: [PATCH] pod: remove SPA_POD_IS_OBJECT_TYPE We have a safer version of that in iter.h Use macros to get id and type of an object Use safer checks in plugins. --- spa/include/spa/pod/iter.h | 6 ++---- spa/include/spa/pod/pod.h | 3 --- spa/plugins/audioconvert/audioconvert.c | 2 +- spa/plugins/audioconvert/merger.c | 2 +- spa/plugins/audioconvert/splitter.c | 2 +- 5 files changed, 5 insertions(+), 10 deletions(-) diff --git a/spa/include/spa/pod/iter.h b/spa/include/spa/pod/iter.h index b2668bdb1..1f7f97a2b 100644 --- a/spa/include/spa/pod/iter.h +++ b/spa/include/spa/pod/iter.h @@ -379,14 +379,12 @@ static inline int spa_pod_is_object(const struct spa_pod *pod) static inline bool spa_pod_is_object_type(const struct spa_pod *pod, uint32_t type) { - return (pod && spa_pod_is_object(pod) && - ((const struct spa_pod_object *) pod)->body.type == type); + return (pod && spa_pod_is_object(pod) && SPA_POD_OBJECT_TYPE(pod) == type); } static inline bool spa_pod_is_object_id(const struct spa_pod *pod, uint32_t id) { - return (pod && spa_pod_is_object(pod) && - ((const struct spa_pod_object *) pod)->body.id == id); + return (pod && spa_pod_is_object(pod) && SPA_POD_OBJECT_ID(pod) == id); } static inline int spa_pod_is_sequence(const struct spa_pod *pod) diff --git a/spa/include/spa/pod/pod.h b/spa/include/spa/pod/pod.h index b8b9a95d4..4936fa2bd 100644 --- a/spa/include/spa/pod/pod.h +++ b/spa/include/spa/pod/pod.h @@ -160,9 +160,6 @@ struct spa_pod_struct { #define SPA_POD_OBJECT_TYPE(obj) (((struct spa_pod_object*)(obj))->body.type) #define SPA_POD_OBJECT_ID(obj) (((struct spa_pod_object*)(obj))->body.id) -#define SPA_POD_IS_OBJECT_TYPE(obj,tp) (SPA_POD_TYPE(obj) == SPA_TYPE_Object && \ - SPA_POD_OBJECT_TYPE(obj) == (tp)) - struct spa_pod_object_body { uint32_t type; /**< one of enum spa_type */ uint32_t id; /**< id of the object, depends on the object type */ diff --git a/spa/plugins/audioconvert/audioconvert.c b/spa/plugins/audioconvert/audioconvert.c index 827aea69c..74a62a350 100644 --- a/spa/plugins/audioconvert/audioconvert.c +++ b/spa/plugins/audioconvert/audioconvert.c @@ -710,7 +710,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags, return -EINVAL; if (format) { - if (!SPA_POD_IS_OBJECT_TYPE(format, SPA_TYPE_OBJECT_Format)) + if (!spa_pod_is_object_type(format, SPA_TYPE_OBJECT_Format)) return -EINVAL; if ((res = spa_format_parse(format, &info.media_type, &info.media_subtype)) < 0) diff --git a/spa/plugins/audioconvert/merger.c b/spa/plugins/audioconvert/merger.c index eeec4a73d..cdadd4ad6 100644 --- a/spa/plugins/audioconvert/merger.c +++ b/spa/plugins/audioconvert/merger.c @@ -268,7 +268,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags, SPA_PARAM_PORT_CONFIG_format, SPA_POD_Pod(&format)) < 0) return -EINVAL; - if (!SPA_POD_IS_OBJECT_TYPE(format, SPA_TYPE_OBJECT_Format)) + if (!spa_pod_is_object_type(format, SPA_TYPE_OBJECT_Format)) return -EINVAL; if (mode != SPA_PARAM_PORT_CONFIG_MODE_dsp) diff --git a/spa/plugins/audioconvert/splitter.c b/spa/plugins/audioconvert/splitter.c index acd3ef940..80aefa03c 100644 --- a/spa/plugins/audioconvert/splitter.c +++ b/spa/plugins/audioconvert/splitter.c @@ -258,7 +258,7 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags, SPA_PARAM_PORT_CONFIG_format, SPA_POD_Pod(&format)) < 0) return -EINVAL; - if (!SPA_POD_IS_OBJECT_TYPE(format, SPA_TYPE_OBJECT_Format)) + if (!spa_pod_is_object_type(format, SPA_TYPE_OBJECT_Format)) return -EINVAL; if (mode != SPA_PARAM_PORT_CONFIG_MODE_dsp)