summaryrefslogtreecommitdiff
path: root/sys/d3dvideosink/d3dhelpers.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-22 18:04:42 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-22 18:04:42 +0100
commit23265c8428f57ff6f5182289b337a77f4ec9fc01 (patch)
treeaff8b442dbb7cb1c10a36f5835951f8312c8fb8a /sys/d3dvideosink/d3dhelpers.c
parent827655ffb4bd2446808ed9c5da17861e4a32e032 (diff)
downloadgstreamer-plugins-bad-23265c8428f57ff6f5182289b337a77f4ec9fc01.tar.gz
d3dvideosink: Only open system resources in in NULL->READY, not on object instantiation
Diffstat (limited to 'sys/d3dvideosink/d3dhelpers.c')
-rw-r--r--sys/d3dvideosink/d3dhelpers.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/d3dvideosink/d3dhelpers.c b/sys/d3dvideosink/d3dhelpers.c
index d54d5c6d2..6583a662c 100644
--- a/sys/d3dvideosink/d3dhelpers.c
+++ b/sys/d3dvideosink/d3dhelpers.c
@@ -334,6 +334,13 @@ d3d_supported_caps (GstD3DVideoSink * sink)
goto unlock;
}
+ LOCK_CLASS (sink, class);
+ if (class->d3d.refs == 0) {
+ UNLOCK_CLASS (sink, class);
+ goto unlock;
+ }
+ UNLOCK_CLASS (sink, class);
+
for (i = 0; i < G_N_ELEMENTS (gst_d3d_format_map); i++) {
D3DFormatComp *comp;