diff --git a/src/gstreamer/gstlibcamera-utils.cpp b/src/gstreamer/gstlibcamera-utils.cpp
index ebc43f6c..e13ed43a 100644
--- a/src/gstreamer/gstlibcamera-utils.cpp
+++ b/src/gstreamer/gstlibcamera-utils.cpp
@@ -629,13 +629,13 @@ void gst_libcamera_gvalue_set_point(GValue *value, const Point &point)
 void gst_libcamera_gvalue_set_size(GValue *value, const Size &size)
 {
 	GValue width = G_VALUE_INIT;
-	g_value_init(&width, G_TYPE_INT);
-	g_value_set_int(&width, size.width);
+	g_value_init(&width, G_TYPE_UINT);
+	g_value_set_uint(&width, size.width);
 	gst_value_array_append_and_take_value(value, &width);
 
 	GValue height = G_VALUE_INIT;
-	g_value_init(&height, G_TYPE_INT);
-	g_value_set_int(&height, size.height);
+	g_value_init(&height, G_TYPE_UINT);
+	g_value_set_uint(&height, size.height);
 	gst_value_array_append_and_take_value(value, &height);
 }
 
