From 4d309752ed7277b54a15fe6dc9b75f870abd288a Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Tue, 6 Jun 2017 14:58:55 -0400 Subject: [PATCH] videoparse: Fix property handling Usage of GstValueArray was wrong and frame-stride does not exist in rawvideoparse --- gst/rawparse/gstvideoparse.c | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/gst/rawparse/gstvideoparse.c b/gst/rawparse/gstvideoparse.c index 3a51ba1..ee931a9 100644 --- a/gst/rawparse/gstvideoparse.c +++ b/gst/rawparse/gstvideoparse.c @@ -248,7 +248,7 @@ gst_video_parse_set_property (GObject * object, guint prop_id, } case PROP_FRAMESIZE: - g_object_set (G_OBJECT (vp->rawvideoparse), "frame-stride", + g_object_set (G_OBJECT (vp->rawvideoparse), "frame-size", g_value_get_uint (value), NULL); break; @@ -319,30 +319,32 @@ gst_video_parse_get_property (GObject * object, guint prop_id, GValue * value, } case PROP_STRIDES:{ - GValue array; + GValue array = { 0, }; - g_object_get (G_OBJECT (vp->rawvideoparse), "plane-strides", &array, - NULL); + g_value_init (&array, GST_TYPE_ARRAY); + g_object_get_property (G_OBJECT (vp->rawvideoparse), "plane-strides", + &array); g_value_take_string (value, gst_video_parse_int_valarray_to_string (&array)); break; } case PROP_OFFSETS:{ - GValue array; + GValue array = { 0, }; - g_object_get (G_OBJECT (vp->rawvideoparse), "plane-offsets", &array, - NULL); + g_value_init (&array, GST_TYPE_ARRAY); + g_object_get_property (G_OBJECT (vp->rawvideoparse), "plane-offsets", + &array); g_value_take_string (value, gst_video_parse_int_valarray_to_string (&array)); break; } case PROP_FRAMESIZE:{ - guint frame_stride; - g_object_get (G_OBJECT (vp->rawvideoparse), "frame-stride", &frame_stride, + guint frame_size; + g_object_get (G_OBJECT (vp->rawvideoparse), "frame-size", &frame_size, NULL); - g_value_set_uint (value, frame_stride); + g_value_set_uint (value, frame_size); break; } @@ -401,7 +403,9 @@ gst_video_parse_int_valarray_to_string (GValue * valarray) for (i = 0; i < gst_value_array_get_size (valarray); i++) { const GValue *gvalue = gst_value_array_get_value (valarray, i); - guint val = g_value_get_uint (gvalue); + guint val; + + val = g_value_get_int (gvalue); g_snprintf (stride_str, sizeof (stride_str), "%u", val); if (str == NULL) { -- 2.7.4