static void gst_vaapidecode_destroy(GstVaapiDecode *decode) { if (decode->decoder) { gst_vaapi_decoder_put_buffer(decode->decoder, NULL); g_object_unref(decode->decoder); decode->decoder = NULL; } if (decode->decoder_caps) { gst_caps_unref(decode->decoder_caps); decode->decoder_caps = NULL; } if (decode->decoder_ready) { gst_vaapidecode_release(decode, NULL); g_cond_free(decode->decoder_ready); decode->decoder_ready = NULL; } if (decode->decoder_mutex) { g_mutex_free(decode->decoder_mutex); decode->decoder_mutex = NULL; } }
static void gst_vaapidecode_destroy (GstVaapiDecode * decode) { gst_vaapidecode_purge (decode); gst_vaapi_decoder_replace (&decode->decoder, NULL); gst_vaapidecode_release (gst_object_ref (decode)); }