2004-04-05 Benjamin Otte <otte@gnome.org>
+ * ext/esd/esdmon.c: (gst_esdmon_get):
+ fix nonterminated vararg and memleak
+
+2004-04-05 Benjamin Otte <otte@gnome.org>
+
* ext/ladspa/gstladspa.c: (gst_ladspa_class_init),
(gst_ladspa_init), (gst_ladspa_force_src_caps),
(gst_ladspa_set_property), (gst_ladspa_get_property),
return NULL;
}
if (!GST_PAD_CAPS (pad)) {
- gint sign = (esdmon->depth == 8 ? FALSE : TRUE);
+ GstCaps *caps = gst_caps_new_simple ("audio/x-raw-int",
+ "endianness", G_TYPE_INT, G_BYTE_ORDER,
+ "signed", G_TYPE_BOOLEAN, esdmon->depth == 8 ? FALSE : TRUE,
+ "width", G_TYPE_INT, esdmon->depth,
+ "depth", G_TYPE_INT, esdmon->depth,
+ "rate", G_TYPE_INT, esdmon->frequency,
+ "channels", G_TYPE_INT, esdmon->channels,
+ NULL);
/* set caps on src pad */
- if (gst_pad_set_explicit_caps (esdmon->srcpad,
- gst_caps_new_simple ("audio/x-raw-int",
- "endianness", G_TYPE_INT, G_BYTE_ORDER,
- "signed", G_TYPE_BOOLEAN, sign,
- "width", G_TYPE_INT, esdmon->depth,
- "depth", G_TYPE_INT, esdmon->depth,
- "rate", G_TYPE_INT, esdmon->frequency,
- "channels", G_TYPE_INT, esdmon->channels)) <= 0) {
+ if (gst_pad_set_explicit_caps (esdmon->srcpad, caps) <= 0) {
GST_ELEMENT_ERROR (esdmon, CORE, NEGOTIATION, (NULL), (NULL));
+ gst_caps_free (caps);
return NULL;
}
+ gst_caps_free (caps);
}
GST_BUFFER_SIZE (buf) = readbytes;