decoder: fix gst_vaapi_picture_new_field() object type.
authorGwenole Beauchesne <gwenole.beauchesne@intel.com>
Tue, 23 Oct 2012 12:04:22 +0000 (14:04 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Wed, 14 Nov 2012 16:39:19 +0000 (17:39 +0100)
Fix gst_vaapi_picture_new_field() to preserve the original picture type.
e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
shall generate a GstVaapiPictureH264 object.

gst-libs/gst/vaapi/gstvaapidecoder_objects.c

index 5f90fb0..06cdc9a 100644 (file)
@@ -215,13 +215,15 @@ gst_vaapi_picture_new(
 GstVaapiPicture *
 gst_vaapi_picture_new_field(GstVaapiPicture *picture)
 {
+    GType type;
     GstMiniObject *obj;
     GstVaapiCodecObject *va_obj;
     GstVaapiCodecObjectConstructorArgs args;
 
     g_return_val_if_fail(GST_VAAPI_IS_PICTURE(picture), NULL);
 
-    obj = gst_mini_object_new(GST_VAAPI_TYPE_PICTURE);
+    type = G_TYPE_FROM_CLASS(GST_VAAPI_PICTURE_GET_CLASS(picture));
+    obj  = gst_mini_object_new(type);
     if (!obj)
         return NULL;