GError *error = NULL;
gpointer sa;
size_t sa_len;
+ int poll_event = SRT_EPOLL_ERR;
+
+ poll_event |= sender ? SRT_EPOLL_OUT : SRT_EPOLL_IN;
if (host == NULL) {
GST_ELEMENT_ERROR (elem, RESOURCE, OPEN_READ, ("Invalid host"),
goto failed;
}
- srt_epoll_add_usock (*poll_id, sock, &(int) {
- SRT_EPOLL_OUT});
+ srt_epoll_add_usock (*poll_id, sock, &poll_event);
if (srt_connect (sock, sa, sa_len) == SRT_ERROR) {
GST_ELEMENT_ERROR (elem, RESOURCE, OPEN_READ, ("Connection error"),
}
srt_epoll_add_usock (*poll_id, sock, &(int) {
- SRT_EPOLL_IN});
+ SRT_EPOLL_IN | SRT_EPOLL_ERR});
if (srt_bind (sock, &sa, sa_len) == SRT_ERROR) {
GST_WARNING_OBJECT (elem, "failed to bind SRT server socket (reason: %s)",
SRTSOCKET ready[2];
gint recv_len;
- if (srt_epoll_wait (priv->poll_id, 0, 0, ready, &(int) {
- 2}, priv->poll_timeout, 0, 0, 0, 0) == -1) {
+ if (srt_epoll_wait (priv->poll_id, ready, &(int) {
+ 2}, 0, 0, priv->poll_timeout, 0, 0, 0, 0) == -1) {
/* Assuming that timeout error is normal */
if (srt_getlasterror (NULL) != SRT_ETIMEOUT) {