From 03d51244c0552a0cf5f5b595579f0611adcdf158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Tue, 19 Dec 2023 13:13:48 +0100 Subject: [PATCH] jpegparse: pass colorimetry in caps Part-of: --- .../gst-plugins-bad/gst/jpegformat/gstjpegparse.c | 9 +++++++++ .../gst-plugins-bad/gst/jpegformat/gstjpegparse.h | 1 + 2 files changed, 10 insertions(+) diff --git a/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.c b/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.c index b2ba5ab9be..e2e1e0c2f0 100644 --- a/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.c +++ b/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.c @@ -244,6 +244,9 @@ gst_jpeg_parse_set_sink_caps (GstBaseParse * bparse, GstCaps * caps) parse->field_order = gst_video_field_order_from_string (field_order); } + g_clear_pointer (&parse->colorimetry, g_free); + parse->colorimetry = g_strdup (gst_structure_get_string (s, "colorimetry")); + return TRUE; } @@ -723,6 +726,11 @@ gst_jpeg_parse_set_new_caps (GstJpegParse * parse) sampling_to_string (parse->sampling), NULL); } + if (parse->colorimetry) { + gst_caps_set_simple (caps, "colorimetry", G_TYPE_STRING, parse->colorimetry, + NULL); + } + gst_caps_set_simple (caps, "interlace-mode", G_TYPE_STRING, gst_video_interlace_mode_to_string (parse->interlace_mode), NULL); @@ -994,6 +1002,7 @@ gst_jpeg_parse_stop (GstBaseParse * bparse) } gst_clear_buffer (&parse->codec_data); gst_clear_caps (&parse->prev_caps); + g_clear_pointer (&parse->colorimetry, g_free); return TRUE; } diff --git a/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.h b/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.h index b5c18a081f..35ab4dd377 100644 --- a/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.h +++ b/subprojects/gst-plugins-bad/gst/jpegformat/gstjpegparse.h @@ -63,6 +63,7 @@ struct _GstJpegParse { gint orig_width, orig_height; GstBuffer *codec_data; + char *colorimetry; GstVideoInterlaceMode interlace_mode; GstVideoFieldOrder field_order; guint field;