From 9fb14be4e3cfc375f5301c7ad037fbefeabd4f11 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Fri, 6 Sep 2024 15:06:31 +0200 Subject: [PATCH] adapter: improve format parsing some more --- spa/plugins/audioconvert/audioadapter.c | 13 ++++++++----- spa/plugins/videoconvert/videoadapter.c | 7 ++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/spa/plugins/audioconvert/audioadapter.c b/spa/plugins/audioconvert/audioadapter.c index 2338746b3..3b82f21b3 100644 --- a/spa/plugins/audioconvert/audioadapter.c +++ b/spa/plugins/audioconvert/audioadapter.c @@ -761,12 +761,15 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags, struct spa_audio_info info; spa_zero(info); - if (spa_format_audio_parse(format, &info) >= 0) { - if (info.media_subtype != SPA_MEDIA_SUBTYPE_raw) - return -ENOTSUP; + if ((res = spa_format_audio_parse(format, &info)) < 0) + return res; + + if (info.media_subtype == SPA_MEDIA_SUBTYPE_raw) info.info.raw.rate = 0; - this->default_format = info; - } + else + return -ENOTSUP; + + this->default_format = info; } switch (mode) { diff --git a/spa/plugins/videoconvert/videoadapter.c b/spa/plugins/videoconvert/videoadapter.c index 5b39d9145..c163f631e 100644 --- a/spa/plugins/videoconvert/videoadapter.c +++ b/spa/plugins/videoconvert/videoadapter.c @@ -748,13 +748,10 @@ static int impl_node_set_param(void *object, uint32_t id, uint32_t flags, if (param == NULL) return -EINVAL; - if ((res = spa_format_parse(param, &info.media_type, &info.media_subtype)) < 0) - return res; - if (info.media_type != SPA_MEDIA_TYPE_video || - info.media_subtype != SPA_MEDIA_SUBTYPE_raw) - return -EINVAL; if (spa_format_video_parse(param, &info) < 0) return -EINVAL; + if (info.media_subtype != SPA_MEDIA_SUBTYPE_raw) + return -EINVAL; this->follower_current_format = info; break;