From 82c0f901970b14accaca4536926e8c63c7593b28 Mon Sep 17 00:00:00 2001 From: He Junyan Date: Fri, 15 Jan 2021 16:05:06 +0800 Subject: [PATCH] va: Make the caps pointer operation atomic in vadecoder. The vadecoder's srcpad_caps and sinkpad_caps pointers are outside of the mutex protection. Just make all operation for them atomic. Part-of: --- sys/va/gstvadecoder.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/va/gstvadecoder.c b/sys/va/gstvadecoder.c index 45be8a0eff..93fcb33889 100644 --- a/sys/va/gstvadecoder.c +++ b/sys/va/gstvadecoder.c @@ -373,7 +373,7 @@ gst_va_decoder_get_srcpad_caps (GstVaDecoder * self) g_return_val_if_fail (GST_IS_VA_DECODER (self), FALSE); - if (self->srcpad_caps) + if (g_atomic_pointer_get (&self->srcpad_caps)) return gst_caps_ref (self->srcpad_caps); if (_get_codec_caps (self)) @@ -396,7 +396,7 @@ gst_va_decoder_get_sinkpad_caps (GstVaDecoder * self) { g_return_val_if_fail (GST_IS_VA_DECODER (self), FALSE); - if (self->sinkpad_caps) + if (g_atomic_pointer_get (&self->sinkpad_caps)) return gst_caps_ref (self->sinkpad_caps); if (_get_codec_caps (self))