From: gb Date: Tue, 23 Mar 2010 10:48:58 +0000 (+0000) Subject: Unref subpicture earlier as the surface is supposed to hold a reference to it. X-Git-Tag: accepted/trunk/20120822.173359~647 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=b3c3554938618357ef99165d00eeed252be5ceca;p=profile%2Fivi%2Fgstreamer-vaapi.git Unref subpicture earlier as the surface is supposed to hold a reference to it. --- diff --git a/tests/test-windows.c b/tests/test-windows.c index cea4d18..bca4afc 100644 --- a/tests/test-windows.c +++ b/tests/test-windows.c @@ -265,7 +265,7 @@ main(int argc, char *argv[]) GstVaapiWindow *window; GstVaapiSurface *surface; GstVaapiImage *image = NULL; - GstVaapiSubpicture *subpicture = NULL; + GstVaapiSubpicture *subpicture; GstVaapiImageFormat format; guint flags = GST_VAAPI_PICTURE_STRUCTURE_FRAME; guint i; @@ -318,6 +318,9 @@ main(int argc, char *argv[]) if (!gst_vaapi_surface_associate_subpicture(surface, subpicture, NULL, NULL)) g_error("could not associate subpicture to surface"); + + /* The surface holds a reference to the subpicture. This is safe. */ + g_object_unref(subpicture); } else { if (!gst_vaapi_surface_put_image(surface, image)) @@ -383,8 +386,6 @@ main(int argc, char *argv[]) XDestroyWindow(dpy, win); } - if (subpicture) - g_object_unref(subpicture); g_object_unref(image); g_object_unref(surface); g_object_unref(display);