Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...

This commit is contained in:
gb 2010-03-10 13:02:45 +00:00
parent 4f1725345f
commit e3b4eff9dc

View file

@ -159,28 +159,17 @@ gst_vaapi_surface_get_property(GObject *object,
} }
} }
static GObject * static void
gst_vaapi_surface_constructor(GType type, gst_vaapi_surface_constructed(GObject *object)
guint n_params,
GObjectConstructParam *params)
{ {
GstVaapiSurface *surface; GstVaapiSurface * const surface = GST_VAAPI_SURFACE(object);
GObjectClass *parent_class; GObjectClass *parent_class;
GObject *object;
D(bug("gst_vaapi_surface_constructor()\n")); gst_vaapi_surface_create(surface);
parent_class = G_OBJECT_CLASS(gst_vaapi_surface_parent_class); parent_class = G_OBJECT_CLASS(gst_vaapi_surface_parent_class);
object = parent_class->constructor (type, n_params, params); if (parent_class->constructed)
parent_class->constructed(object);
if (object) {
surface = GST_VAAPI_SURFACE(object);
if (!gst_vaapi_surface_create(surface)) {
gst_vaapi_surface_destroy(surface);
object = NULL;
}
}
return object;
} }
static void static void
@ -193,7 +182,7 @@ gst_vaapi_surface_class_init(GstVaapiSurfaceClass *klass)
object_class->finalize = gst_vaapi_surface_finalize; object_class->finalize = gst_vaapi_surface_finalize;
object_class->set_property = gst_vaapi_surface_set_property; object_class->set_property = gst_vaapi_surface_set_property;
object_class->get_property = gst_vaapi_surface_get_property; object_class->get_property = gst_vaapi_surface_get_property;
object_class->constructor = gst_vaapi_surface_constructor; object_class->constructed = gst_vaapi_surface_constructed;
g_object_class_install_property g_object_class_install_property
(object_class, (object_class,
@ -267,9 +256,9 @@ gst_vaapi_surface_new(GstVaapiDisplay *display,
return g_object_new(GST_VAAPI_TYPE_SURFACE, return g_object_new(GST_VAAPI_TYPE_SURFACE,
"display", display, "display", display,
"width", width, "width", width,
"height", height, "height", height,
"format", format, "format", format,
NULL); NULL);
} }