summaryrefslogtreecommitdiff
path: root/ext/shout2/gstshout2.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/shout2/gstshout2.c')
-rw-r--r--ext/shout2/gstshout2.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/shout2/gstshout2.c b/ext/shout2/gstshout2.c
index b301bc8b3..955897926 100644
--- a/ext/shout2/gstshout2.c
+++ b/ext/shout2/gstshout2.c
@@ -567,7 +567,13 @@ gst_shout2send_connect (GstShout2send * sink)
ret = shout_open (sink->conn);
/* wait for connection or timeout */
+#ifdef SHOUTERR_RETRY
+ /* starting with libshout 2.4.2, shout_open() has broken API + ABI and
+ * can also return SHOUTERR_RETRY (a new define) to mean "try again" */
+ while (ret == SHOUTERR_BUSY || ret == SHOUTERR_RETRY) {
+#else
while (ret == SHOUTERR_BUSY) {
+#endif
if (gst_util_get_timestamp () - start_ts > sink->timeout * GST_MSECOND) {
goto connection_timeout;
}