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 <gwenole.beauchesne@intel.com>
This commit is contained in:
Philip Lorenz 2012-09-04 13:54:19 +02:00 committed by Gwenole Beauchesne
parent cdc6329182
commit 8bcfeb5a1c

View file

@ -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);