mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-23 02:01:12 +00:00
shout2: Add compatibility for libshout >= 2.4.2
In libshout >=2.4.2 shout_open() can return SHOUTERR_RETRY in addition to SHOUTERR_BUSY. The nonblocking example in libshout fixes the problem in a similar way, as mentioned by the author in this issue: https://gitlab.xiph.org/xiph/icecast-libshout/-/issues/2316 Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/848 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1363>
This commit is contained in:
parent
92f8b54657
commit
9e2f679ae1
1 changed files with 6 additions and 0 deletions
|
@ -576,7 +576,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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue