rendered paste bodyIndex: backends/gstreamer/rb-encoder-gst.c
===================================================================
--- backends/gstreamer/rb-encoder-gst.c (revision 4830)
+++ backends/gstreamer/rb-encoder-gst.c (working copy)
@@ -652,15 +652,21 @@ encoder_match_mime (RBEncoderGst *rbenco
GstCaps *element_caps;
GstCaps *desired_caps;
GstCaps *intersect_caps;
- gboolean match;
+ gboolean match = FALSE;
char *tmp;
srcpad = gst_element_get_pad (encoder, "src");
element_caps = gst_pad_get_caps (srcpad);
desired_caps = g_hash_table_lookup (RB_ENCODER_GST_GET_CLASS (rbencoder)->mime_caps_table, mime_type);
- if (desired_caps == NULL)
+ if (desired_caps == NULL) {
desired_caps = gst_caps_new_simple (mime_type, NULL);
+ }
+
+ if (desired_caps == NULL) {
+ g_warnings ("couldn't create any desired caps for mimetype: %s", mime_type);
+ goto end;
+ }
intersect_caps = gst_caps_intersect (desired_caps, element_caps);
match = !gst_caps_is_empty (intersect_caps);
@@ -679,6 +685,8 @@ encoder_match_mime (RBEncoderGst *rbenco
gst_caps_unref (intersect_caps);
gst_caps_unref (desired_caps);
+
+end:
gst_caps_unref (element_caps);
gst_object_unref (GST_OBJECT (srcpad));