Fix gst_vaapi_image_create() from a foreign VA image.
authorgb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Thu, 18 Mar 2010 15:52:20 +0000 (15:52 +0000)
committergb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
Thu, 18 Mar 2010 15:52:20 +0000 (15:52 +0000)
gst-libs/gst/vaapi/gstvaapiimage.c

index b9ad8dd..ae904ce 100644 (file)
@@ -174,10 +174,6 @@ _gst_vaapi_image_create(GstVaapiImage *image, GstVaapiImageFormat format)
     const VAImageFormat *va_format;
     VAStatus status;
 
-    if (!priv->create_image)
-        return (priv->image.image_id != VA_INVALID_ID &&
-                priv->image.buf      != VA_INVALID_ID);
-
     if (!gst_vaapi_display_has_image_format(priv->display, format))
         return FALSE;
 
@@ -209,6 +205,10 @@ gst_vaapi_image_create(GstVaapiImage *image)
     GstVaapiImageFormat format = priv->format;
     const VAImageFormat *va_format;
 
+    if (!priv->create_image)
+        return (priv->image.image_id != VA_INVALID_ID &&
+                priv->image.buf      != VA_INVALID_ID);
+
     if (!_gst_vaapi_image_create(image, format)) {
         switch (format) {
         case GST_VAAPI_IMAGE_I420: