mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 18:05:37 +00:00
d3dvideosink: hold class lock for entire duration of class destruction
This avoids a race condition currently when temporarily releasing the lock and then re-acquiring.
This commit is contained in:
parent
7cb6dbefba
commit
c8193b1615
1 changed files with 3 additions and 0 deletions
|
@ -445,10 +445,13 @@ static gboolean
|
||||||
gst_d3dvideosink_stop (GstBaseSink * bsink)
|
gst_d3dvideosink_stop (GstBaseSink * bsink)
|
||||||
{
|
{
|
||||||
GstD3DVideoSink *sink = GST_D3DVIDEOSINK (bsink);
|
GstD3DVideoSink *sink = GST_D3DVIDEOSINK (bsink);
|
||||||
|
GstD3DVideoSinkClass *klass = GST_D3DVIDEOSINK_GET_CLASS (sink);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (bsink, "Stop() called");
|
GST_DEBUG_OBJECT (bsink, "Stop() called");
|
||||||
|
LOCK_CLASS (sink, klass);
|
||||||
d3d_stop (sink);
|
d3d_stop (sink);
|
||||||
d3d_class_destroy (sink);
|
d3d_class_destroy (sink);
|
||||||
|
UNLOCK_CLASS (sink, klass);
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue