From c9062375e9d0a8d90266d39567e4be070b8ec8c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Thu, 24 Oct 2024 16:50:49 +0100 Subject: [PATCH] pbutils: descriptions: add Hap video codec Part-of: --- .../gst-libs/gst/pbutils/descriptions.c | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.c b/subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.c index 968da9e0b9..51f646eb3b 100644 --- a/subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.c +++ b/subprojects/gst-plugins-base/gst-libs/gst/pbutils/descriptions.c @@ -898,6 +898,30 @@ format_info_get_desc (const FormatInfo * info, const GstCaps * caps) } GST_WARNING ("Unexpected version in %" GST_PTR_FORMAT, caps); return g_strdup ("TechSmith Screen Capture"); + } else if (strcmp (info->type, "video/x-hap") == 0) { + const gchar *variant, *ret; + + // https://github.com/Vidvox/hap/blob/master/documentation/HapVideoDRAFT.md + variant = gst_structure_get_string (s, "variant"); + if (variant == NULL || strcmp (variant, "Hap1") == 0) + ret = "Hap"; + else if (strcmp (variant, "Hap5") == 0) + ret = "Hap Alpha"; + else if (strcmp (variant, "HapY") == 0) + ret = "Hap Q"; + else if (strcmp (variant, "HapM") == 0) + ret = "Hap Q Alpha"; + else if (strcmp (variant, "HapA") == 0) + ret = "Hap Alpha-Only"; + else if (strcmp (variant, "Hap7") == 0) + ret = "Hap R"; + else if (strcmp (variant, "HapH") == 0) + ret = "Hap HDR"; + else { + GST_WARNING ("Unknown Hap video variant '%s'", variant); + ret = "Hap"; + } + return g_strdup (ret); } return NULL; }