vaapipostproc: add some missing locking
authorMichael Olbrich <m.olbrich@pengutronix.de>
Wed, 14 Nov 2018 10:34:20 +0000 (11:34 +0100)
committerMichael Olbrich <m.olbrich@pengutronix.de>
Tue, 27 Nov 2018 06:13:20 +0000 (07:13 +0100)
gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
in gst_vaapipostproc_transform_caps(). The usage is already protected by
the mutex.
This is needed when the pipeline is stopped during startup.

gst/vaapi/gstvaapipostproc.c

index 7698aea..4577454 100644 (file)
@@ -318,6 +318,7 @@ gst_vaapipostproc_stop (GstBaseTransform * trans)
 {
   GstVaapiPostproc *const postproc = GST_VAAPIPOSTPROC (trans);
 
+  g_mutex_lock (&postproc->postproc_lock);
   ds_reset (&postproc->deinterlace_state);
   gst_vaapi_plugin_base_close (GST_VAAPI_PLUGIN_BASE (postproc));
 
@@ -325,6 +326,7 @@ gst_vaapipostproc_stop (GstBaseTransform * trans)
   gst_video_info_init (&postproc->sinkpad_info);
   gst_video_info_init (&postproc->srcpad_info);
   gst_video_info_init (&postproc->filter_pool_info);
+  g_mutex_unlock (&postproc->postproc_lock);
 
   return TRUE;
 }