diff options
Diffstat (limited to 'gst/videosignal/gstvideomark.c')
-rw-r--r-- | gst/videosignal/gstvideomark.c | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/gst/videosignal/gstvideomark.c b/gst/videosignal/gstvideomark.c index cbc721456..3e73d8594 100644 --- a/gst/videosignal/gstvideomark.c +++ b/gst/videosignal/gstvideomark.c @@ -76,2 +76,3 @@ enum PROP_PATTERN_DATA, + PROP_PATTERN_DATA_64, PROP_ENABLED, @@ -152,3 +153,3 @@ gst_video_mark_yuv (GstVideoMark * videomark, GstBuffer * buffer) guint8 *d, *data; - guint pattern_shift; + guint64 pattern_shift; guint8 color; @@ -198,3 +199,3 @@ gst_video_mark_yuv (GstVideoMark * videomark, GstBuffer * buffer) - pattern_shift = 1 << (videomark->pattern_data_count - 1); + pattern_shift = G_GUINT64_CONSTANT (1) << (videomark->pattern_data_count - 1); @@ -260,2 +261,5 @@ gst_video_mark_set_property (GObject * object, guint prop_id, break; + case PROP_PATTERN_DATA_64: + videomark->pattern_data = g_value_get_uint64 (value); + break; case PROP_PATTERN_DATA: @@ -299,4 +303,7 @@ gst_video_mark_get_property (GObject * object, guint prop_id, GValue * value, break; + case PROP_PATTERN_DATA_64: + g_value_set_uint64 (value, videomark->pattern_data); + break; case PROP_PATTERN_DATA: - g_value_set_int (value, videomark->pattern_data); + g_value_set_int (value, MIN (videomark->pattern_data, G_MAXINT)); break; @@ -358,4 +365,8 @@ gst_video_mark_class_init (gpointer klass, gpointer class_data) g_param_spec_int ("pattern-data-count", "Pattern data count", - "The number of extra data pattern markers", 0, G_MAXINT, + "The number of extra data pattern markers", 0, 64, DEFAULT_PATTERN_DATA_COUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + g_object_class_install_property (gobject_class, PROP_PATTERN_DATA_64, + g_param_spec_uint64 ("pattern-data-uint64", "Pattern data", + "The extra data pattern markers", 0, G_MAXUINT64, + DEFAULT_PATTERN_DATA, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); g_object_class_install_property (gobject_class, PROP_PATTERN_DATA, @@ -363,3 +374,3 @@ gst_video_mark_class_init (gpointer klass, gpointer class_data) "The extra data pattern markers", 0, G_MAXINT, - DEFAULT_PATTERN_DATA, G_PARAM_READWRITE | G_PARAM_CONSTRUCT)); + DEFAULT_PATTERN_DATA, G_PARAM_READWRITE)); g_object_class_install_property (gobject_class, PROP_ENABLED, |