From fc2ae4cf417bc71a101b28c0a590b95cbbfa44dc Mon Sep 17 00:00:00 2001 From: akallabeth Date: Mon, 6 Oct 2025 08:37:35 +0200 Subject: [PATCH] [core,codecs] add stringify helper add freerdp_codec_id_to_str to get a string representation of a given codec id --- include/freerdp/codecs.h | 7 +++++++ libfreerdp/core/codecs.c | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/include/freerdp/codecs.h b/include/freerdp/codecs.h index 33937f43f..398bde9fd 100644 --- a/include/freerdp/codecs.h +++ b/include/freerdp/codecs.h @@ -95,6 +95,13 @@ extern "C" FREERDP_API rdpCodecs* codecs_new(rdpContext* context)); #endif + /** @brief return a string representation of the given codecid + * * @param id The codec to stringify + * @return The name of the codecid + * @since version 3.18.0 + */ + FREERDP_API const char* freerdp_codec_id_to_str(enum RDP_CODEC_ID id); + #ifdef __cplusplus } #endif diff --git a/libfreerdp/core/codecs.c b/libfreerdp/core/codecs.c index ae0dc5ff1..df8abf3e7 100644 --- a/libfreerdp/core/codecs.c +++ b/libfreerdp/core/codecs.c @@ -276,3 +276,21 @@ void freerdp_client_codecs_free(rdpCodecs* codecs) free(codecs); } + +const char* freerdp_codec_id_to_str(enum RDP_CODEC_ID id) +{ +#define ENTRY(x) \ + case x: \ + return #x + switch (id) + { + ENTRY(RDP_CODEC_ID_NONE); + ENTRY(RDP_CODEC_ID_NSCODEC); + ENTRY(RDP_CODEC_ID_JPEG); + ENTRY(RDP_CODEC_ID_REMOTEFX); + ENTRY(RDP_CODEC_ID_IMAGE_REMOTEFX); + default: + return "RDP_CODEC_ID_UNKNOWN"; + } +#undef ENTRY +}