[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gstreamer-cvs
Subject:    Re: [gst-cvs] gst-plugins-bad: videosignal: change pattern data
From:       Stefan Kost <ensonic () hora-obscura ! de>
Date:       2009-09-26 19:54:23
Message-ID: 4ABE716F.2070601 () hora-obscura ! de
[Download RAW message or body]

RenXX Stadler schrieb:
> Module: gst-plugins-bad
> Branch: master
> Commit: c45cc31c7d87abe4a4d2f8767720c8da321ca6b3
> URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-bad/commit/?id=c45cc31c7d87abe4a4d2f8767720c8da321ca6b3
>  
> Author: René Stadler <mail@renestadler.de>
> Date:   Tue Sep  8 00:01:28 2009 +0300
> 
> videosignal: change pattern data type to uint64, add property and message field
> 
> Keeps the old uint typed value support for compatibility.
> 

This element is in plugins bad. I think its fine to just break the API. If
people use this for real, then they should push that it goes to good :)

Stefan

> 
> ---
> 
> gst/videosignal/gstvideodetect.c |   14 +++++++++++---
> gst/videosignal/gstvideomark.c   |   21 ++++++++++++++++-----
> 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 d840dd2..0ddc6c3 100644
> --- a/gst/videosignal/gstvideodetect.c
> +++ b/gst/videosignal/gstvideodetect.c
> @@ -78,6 +78,13 @@
> * </listitem>
> * <listitem>
> *   <para>
> + *   #guint64
> + *   <classname>&quot;data-uint64&quot;</classname>:
> + *   the data-pattern found after the pattern or 0 when have-signal is #FALSE.
> + *   </para>
> + * </listitem>
> + * <listitem>
> + *   <para>
> *   #guint
> *   <classname>&quot;data&quot;</classname>:
> *   the data-pattern found after the pattern or 0 when have-signal is #FALSE.
> @@ -184,7 +191,7 @@ gst_video_detect_set_caps (GstBaseTransform * btrans, GstCaps * \
> incaps, 
> static void
> gst_video_detect_post_message (GstVideoDetect * videodetect, GstBuffer * buffer,
> -    guint data)
> +    guint64 data)
> {
> GstBaseTransform *trans;
> GstMessage *m;
> @@ -208,7 +215,8 @@ gst_video_detect_post_message (GstVideoDetect * videodetect, \
> GstBuffer * buffer, "stream-time", G_TYPE_UINT64, stream_time,
> "running-time", G_TYPE_UINT64, running_time,
> "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);
> }
> 
> @@ -237,7 +245,7 @@ gst_video_detect_yuv (GstVideoDetect * videodetect, GstBuffer * \
> buffer) gint i, pw, ph, row_stride, pixel_stride, offset;
> gint width, height, req_width, req_height;
> guint8 *d, *data;
> -  guint pattern_data;
> +  guint64 pattern_data;
> 
> data = GST_BUFFER_DATA (buffer);
> 
> diff --git a/gst/videosignal/gstvideomark.c b/gst/videosignal/gstvideomark.c
> index cbc7214..3e73d85 100644
> --- a/gst/videosignal/gstvideomark.c
> +++ b/gst/videosignal/gstvideomark.c
> @@ -74,6 +74,7 @@ enum
> PROP_PATTERN_COUNT,
> PROP_PATTERN_DATA_COUNT,
> PROP_PATTERN_DATA,
> +  PROP_PATTERN_DATA_64,
> PROP_ENABLED,
> PROP_LEFT_OFFSET,
> PROP_BOTTOM_OFFSET
> @@ -150,7 +151,7 @@ gst_video_mark_yuv (GstVideoMark * videomark, GstBuffer * \
> buffer) gint i, pw, ph, row_stride, pixel_stride, offset;
> gint width, height, req_width, req_height;
> guint8 *d, *data;
> -  guint pattern_shift;
> +  guint64 pattern_shift;
> guint8 color;
> 
> data = GST_BUFFER_DATA (buffer);
> @@ -196,7 +197,7 @@ gst_video_mark_yuv (GstVideoMark * videomark, GstBuffer * \
> buffer) color);
> }
> 
> -  pattern_shift = 1 << (videomark->pattern_data_count - 1);
> +  pattern_shift = G_GUINT64_CONSTANT (1) << (videomark->pattern_data_count - 1);
> 
> /* get the data of the pattern */
> for (i = 0; i < videomark->pattern_data_count; i++) {
> @@ -258,6 +259,9 @@ gst_video_mark_set_property (GObject * object, guint prop_id,
> case PROP_PATTERN_DATA_COUNT:
> videomark->pattern_data_count = g_value_get_int (value);
> break;
> +    case PROP_PATTERN_DATA_64:
> +      videomark->pattern_data = g_value_get_uint64 (value);
> +      break;
> case PROP_PATTERN_DATA:
> videomark->pattern_data = g_value_get_int (value);
> break;
> @@ -297,8 +301,11 @@ gst_video_mark_get_property (GObject * object, guint prop_id, \
> GValue * value, case PROP_PATTERN_DATA_COUNT:
> g_value_set_int (value, videomark->pattern_data_count);
> 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;
> case PROP_ENABLED:
> g_value_set_boolean (value, videomark->enabled);
> @@ -356,12 +363,16 @@ gst_video_mark_class_init (gpointer klass, gpointer \
> class_data) DEFAULT_PATTERN_COUNT, G_PARAM_READWRITE | G_PARAM_CONSTRUCT));
> g_object_class_install_property (gobject_class, PROP_PATTERN_DATA_COUNT,
> 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,
> g_param_spec_int ("pattern-data", "Pattern 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,
> g_param_spec_boolean ("enabled", "Enabled",
> "Enable or disable the filter",
> diff --git a/gst/videosignal/gstvideomark.h b/gst/videosignal/gstvideomark.h
> index b895d18..4511346 100644
> --- a/gst/videosignal/gstvideomark.h
> +++ b/gst/videosignal/gstvideomark.h
> @@ -54,7 +54,7 @@ struct _GstVideoMark {
> gint pattern_height;
> gint pattern_count;
> gint pattern_data_count;
> -  gint pattern_data;
> +  guint64 pattern_data;
> gboolean enabled;
> gint left_offset;
> gint bottom_offset;
> 
> 

------------------------------------------------------------------------------
Come build with us! The BlackBerry&reg; Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9&#45;12, 2009. Register now&#33;
http://p.sf.net/sfu/devconf
_______________________________________________
gstreamer-cvs mailing list
gstreamer-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gstreamer-cvs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic