summaryrefslogtreecommitdiffstats
path: root/ext/shout2
diff options
context:
space:
mode:
Diffstat (limited to 'ext/shout2')
-rw-r--r--ext/shout2/gstshout2.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/shout2/gstshout2.c b/ext/shout2/gstshout2.c
index 522f8a3f..2fc3bdd4 100644
--- a/ext/shout2/gstshout2.c
+++ b/ext/shout2/gstshout2.c
@@ -384,10 +384,16 @@ gst_shout2send_render (GstBaseSink * sink, GstBuffer * buf)
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;
}
}