summaryrefslogtreecommitdiff
path: root/ext/openjpeg
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-18 15:43:37 +0100
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2012-12-18 15:43:37 +0100
commitda8f8270c3a1ef5474bc0fe0a77b5ff5894a40ee (patch)
treea36494c6327f0051c4130e7709eb58a0b8debf2a /ext/openjpeg
parentd70e43a0694a6fd17ac3e5b27945383298f57397 (diff)
downloadgstreamer-plugins-bad-da8f8270c3a1ef5474bc0fe0a77b5ff5894a40ee.tar.gz
openjpegdec: Don't crash if colorspace is not provided on the caps
g_str_equal() is *not* NULL-safe
Diffstat (limited to 'ext/openjpeg')
-rw-r--r--ext/openjpeg/gstopenjpegdec.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c
index 33fdf1df5..d027e960a 100644
--- a/ext/openjpeg/gstopenjpegdec.c
+++ b/ext/openjpeg/gstopenjpegdec.c
@@ -171,13 +171,14 @@ gst_openjpeg_dec_set_format (GstVideoDecoder * decoder,
g_return_val_if_reached (FALSE);
}
- color_space = gst_structure_get_string (s, "colorspace");
- if (g_str_equal (color_space, "sRGB"))
- self->color_space = CLRSPC_SRGB;
- else if (g_str_equal (color_space, "GRAY"))
- self->color_space = CLRSPC_GRAY;
- else if (g_str_equal (color_space, "sYUV"))
- self->color_space = CLRSPC_SYCC;
+ if ((color_space = gst_structure_get_string (s, "colorspace"))) {
+ if (g_str_equal (color_space, "sRGB"))
+ self->color_space = CLRSPC_SRGB;
+ else if (g_str_equal (color_space, "GRAY"))
+ self->color_space = CLRSPC_GRAY;
+ else if (g_str_equal (color_space, "sYUV"))
+ self->color_space = CLRSPC_SYCC;
+ }
self->ncomps = 0;
gst_structure_get_int (s, "num-components", &self->ncomps);