diff options
author | René Stadler <mail@renestadler.de> | 2009-09-08 00:01:28 +0300 |
---|---|---|
committer | René Stadler <mail@renestadler.de> | 2009-09-26 19:11:09 +0300 |
commit | c45cc31c7d87abe4a4d2f8767720c8da321ca6b3 (patch) | |
tree | 78cb9ed0edee2eb587fd6d9b8871f9c0626aa799 | |
parent | b24d581c78e0de7d57ccb9b015339eab174c2cd2 (diff) |
videosignal: change pattern data type to uint64, add property and message field
Keeps the old uint typed value support for compatibility.
-rw-r--r-- | gst/videosignal/gstvideodetect.c | 14 | ||||
-rw-r--r-- | gst/videosignal/gstvideomark.c | 21 | ||||
-rw-r--r-- | gst/videosignal/gstvideomark.h | 2 |
3 files changed, 28 insertions, 9 deletions
diff --git a/gst/videosignal/gstvideodetect.c b/gst/videosignal/gstvideodetect.c index d840dd26f..0ddc6c3d4 100644 --- a/gst/videosignal/gstvideodetect.c +++ b/gst/videosignal/gstvideodetect.c @@ -80,2 +80,9 @@ * <para> + * #guint64 + * <classname>"data-uint64"</classname>: + * the data-pattern found after the pattern or 0 when have-signal is #FALSE. + * </para> + * </listitem> + * <listitem> + * <para> * #guint @@ -186,3 +193,3 @@ static void gst_video_detect_post_message (GstVideoDetect * videodetect, GstBuffer * buffer, - guint data) + guint64 data) { @@ -210,3 +217,4 @@ gst_video_detect_post_message (GstVideoDetect * videodetect, GstBuffer * buffer, "duration", G_TYPE_UINT64, duration, - "data", G_TYPE_UINT, data, NULL)); + "data-uint64", G_TYPE_UINT64, data, + "data", G_TYPE_UINT, (guint) MIN (data, G_MAXINT), NULL)); gst_element_post_message (GST_ELEMENT_CAST (videodetect), m); @@ -239,3 +247,3 @@ gst_video_detect_yuv (GstVideoDetect * videodetect, GstBuffer * buffer) guint8 *d, *data; - guint pattern_data; + guint64 pattern_data; 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, diff --git a/gst/videosignal/gstvideomark.h b/gst/videosignal/gstvideomark.h index b895d18ab..45113464f 100644 --- a/gst/videosignal/gstvideomark.h +++ b/gst/videosignal/gstvideomark.h @@ -56,3 +56,3 @@ struct _GstVideoMark { gint pattern_data_count; - gint pattern_data; + guint64 pattern_data; gboolean enabled; |