+2004-01-14 Julien MOUTTE <julien@moutte.net>
+
+ * gst-libs/gst/colorbalance/colorbalance.c:
+ (gst_color_balance_class_init): Adding a default type.
+ * gst-libs/gst/colorbalance/colorbalance.h: Adding a macro to access
+ the type.
+ * gst/videofilter/gstvideobalance.c: (gst_videobalance_get_type),
+ (gst_videobalance_dispose), (gst_videobalance_class_init),
+ (gst_videobalance_init), (gst_videobalance_interface_supported),
+ (gst_videobalance_interface_init),
+ (gst_videobalance_colorbalance_list_channels),
+ (gst_videobalance_colorbalance_set_value),
+ (gst_videobalance_colorbalance_get_value),
+ (gst_videobalance_colorbalance_init): Implementing colorbalance
+ interface.
+ * gst/videofilter/gstvideobalance.h: Adding colorbalance channels
+ list.
+ * sys/ximage/ximagesink.c: (gst_ximagesink_set_xwindow_id): Fixing a
+ bug which was triggering a BadAccess X error when setting an overlay
+ before pad was really negotiated.
+ * sys/xvimage/xvimagesink.c: (gst_xvimagesink_colorbalance_init):
+ Using the colorbalance type macro.
+
2004-01-14 Benjamin Otte <in7y118@public.uni-hamburg.de>
* ext/flac/gstflacenc.c: (gst_flacenc_set_metadata),
initialized = TRUE;
}
+ klass->balance_type = GST_COLOR_BALANCE_SOFTWARE;
+
/* default virtual functions */
klass->list_channels = NULL;
klass->set_value = NULL;
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE))
#define GST_COLOR_BALANCE_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass))
+
+#define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type)
typedef struct _GstColorBalance GstColorBalance;
initialized = TRUE;
}
+ klass->balance_type = GST_COLOR_BALANCE_SOFTWARE;
+
/* default virtual functions */
klass->list_channels = NULL;
klass->set_value = NULL;
(G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_COLOR_BALANCE))
#define GST_COLOR_BALANCE_GET_CLASS(inst) \
(G_TYPE_INSTANCE_GET_INTERFACE ((inst), GST_TYPE_COLOR_BALANCE, GstColorBalanceClass))
+
+#define GST_COLOR_BALANCE_TYPE(klass) (klass->balance_type)
typedef struct _GstColorBalance GstColorBalance;
/* If that new window geometry differs from our one we try to
renegotiate caps */
- if (xwindow->width != GST_VIDEOSINK_WIDTH (ximagesink) ||
- xwindow->height != GST_VIDEOSINK_HEIGHT (ximagesink))
+ if (gst_pad_is_negotiated (GST_VIDEOSINK_PAD (ximagesink)) &&
+ (xwindow->width != GST_VIDEOSINK_WIDTH (ximagesink) ||
+ xwindow->height != GST_VIDEOSINK_HEIGHT (ximagesink)))
{
GstPadLinkReturn r;
r = gst_pad_try_set_caps (GST_VIDEOSINK_PAD (ximagesink),
static void
gst_xvimagesink_colorbalance_init (GstColorBalanceClass *iface)
{
- iface->balance_type = GST_COLOR_BALANCE_HARDWARE;
+ GST_COLOR_BALANCE_TYPE (iface) = GST_COLOR_BALANCE_HARDWARE;
iface->list_channels = gst_xvimagesink_colorbalance_list_channels;
iface->set_value = gst_xvimagesink_colorbalance_set_value;
iface->get_value = gst_xvimagesink_colorbalance_get_value;