From 64f4970c8413e94cdc9dd3aa5c7783f727410ebc Mon Sep 17 00:00:00 2001 From: Carl-Anton Ingmarsson Date: Mon, 17 Aug 2009 23:42:21 +0200 Subject: [PATCH] vdpausink: fix error handling if gst_vdp_get_device returns NULL --- sys/vdpau/gstvdpsink.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sys/vdpau/gstvdpsink.c b/sys/vdpau/gstvdpsink.c index 31789e4043..243686f7c4 100644 --- a/sys/vdpau/gstvdpsink.c +++ b/sys/vdpau/gstvdpsink.c @@ -591,6 +591,7 @@ static gboolean gst_vdp_sink_start (GstBaseSink * bsink) { VdpSink *vdp_sink = GST_VDP_SINK (bsink); + gboolean res = TRUE; vdp_sink->window = NULL; vdp_sink->cur_image = NULL; @@ -601,10 +602,13 @@ gst_vdp_sink_start (GstBaseSink * bsink) vdp_sink->fps_d = 1; GST_OBJECT_LOCK (vdp_sink); - vdp_sink->device = gst_vdp_sink_setup_device (vdp_sink); + if (!vdp_sink->device) { + if (!(vdp_sink->device = gst_vdp_sink_setup_device (vdp_sink))) + res = FALSE; + } GST_OBJECT_UNLOCK (vdp_sink); - return TRUE; + return res; } static void