Forbid GstVaapiObject to be created without an associated klass spec.
It is mandatory that the subclass implements an adequate .finalize()
hook, so it shall provide a valid GstVaapiObjectClass.
https://bugzilla.gnome.org/show_bug.cgi?id=722757
[made non-NULL klass argument to gst_vaapi_object_new() a requirement]
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
* @klass: The object class
* @display: The #GstVaapiDisplay
*
* @klass: The object class
* @display: The #GstVaapiDisplay
*
- * Creates a new #GstVaapiObject. If @klass is NULL, then the size of
- * the allocated object is the same as sizeof(GstVaapiObject).
- * If @klass is not NULL, typically when a sub-class is implemented,
- * that pointer shall reference a statically allocated descriptor.
+ * Creates a new #GstVaapiObject. The @klass argument shall not be
+ * %NULL, and it must reference a statically allocated descriptor.
*
* This function zero-initializes the derived object data. Also note
* that this is an internal function that shall not be used outside of
*
* This function zero-initializes the derived object data. Also note
* that this is an internal function that shall not be used outside of
GstVaapiObject *object;
guint sub_size;
GstVaapiObject *object;
guint sub_size;
+ g_return_val_if_fail(klass != NULL, NULL);
g_return_val_if_fail(display != NULL, NULL);
object = (GstVaapiObject *)gst_vaapi_mini_object_new(object_class);
g_return_val_if_fail(display != NULL, NULL);
object = (GstVaapiObject *)gst_vaapi_mini_object_new(object_class);