From: Philip Lorenz Date: Tue, 4 Sep 2012 11:54:19 +0000 (+0200) Subject: vaapidecode: acquire lock only if the mutex exists. X-Git-Tag: submit/2.0alpha/20121130.011817~100 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=8bcfeb5a1c2d9adf323ce25b0dbff1c825eb96dd;p=profile%2Fivi%2Fgstreamer-vaapi.git vaapidecode: acquire lock only if the mutex exists. When playback stops the GstVaapiDecode object is reset into a clean state. However, surfaces may still be referenced by library users and unreferencing them after the reset triggers an access to an unset mutex. Signed-off-by: Gwenole Beauchesne --- diff --git a/gst/vaapi/gstvaapidecode.c b/gst/vaapi/gstvaapidecode.c index 6980d47..cd2d7f6 100644 --- a/gst/vaapi/gstvaapidecode.c +++ b/gst/vaapi/gstvaapidecode.c @@ -174,6 +174,9 @@ gst_vaapidecode_update_src_caps(GstVaapiDecode *decode, GstCaps *caps) static void gst_vaapidecode_release(GstVaapiDecode *decode, GObject *dead_object) { + if (!decode->decoder_mutex || !decode->decoder_ready) + return; + g_mutex_lock(decode->decoder_mutex); g_cond_signal(decode->decoder_ready); g_mutex_unlock(decode->decoder_mutex);