+2006-04-17 Tim-Philipp Müller <tim at centricular dot net>
+
+ * ext/shout2/gstshout2.c: (gst_shout2send_render):
+ Don't crash in case the connection to the server fails:
+ don't set pointer to NULL by assigning FALSE; error out
+ properly by using GST_ELEMENT_ERROR and returning
+ GST_FLOW_ERROR (fixes #338636). Lastly, free connection
+ before resetting the pointer.
+
2006-04-17 Jan Schmidt <thaytan@mad.scientist.com>
* gst/id3demux/id3tags.c:
shout2send->started = TRUE;
} else {
- GST_ERROR ("Couldn't connect to server: %s",
+ GST_ERROR_OBJECT (shout2send, "Couldn't connect to server: %s",
shout_get_error (shout2send->conn));
- shout2send->conn = FALSE;
-
+ GST_ELEMENT_ERROR (shout2send, RESOURCE, OPEN_WRITE,
+ (NULL), GST_ERROR_SYSTEM);
+ g_signal_emit (G_OBJECT (shout2send),
+ gst_shout2send_signals[SIGNAL_CONNECTION_PROBLEM], 0,
+ shout_get_errno (shout2send->conn));
+ shout_free (shout2send->conn);
+ shout2send->conn = NULL;
+ return GST_FLOW_ERROR;
}
}