diff --git a/ext/srt/gstsrtobject.c b/ext/srt/gstsrtobject.c index 6a0bd5a790..86dcf1edde 100644 --- a/ext/srt/gstsrtobject.c +++ b/ext/srt/gstsrtobject.c @@ -1534,13 +1534,6 @@ gst_srt_object_write_one (GstSRTObject * srtobject, continue; } - if (srt_getsockflag (wsock, SRTO_PAYLOADSIZE, &payload_size, &optlen)) { - GST_WARNING_OBJECT (srtobject->element, "%s", srt_getlasterror_str ()); - break; - } - - rest = MIN (mapinfo->size - len, payload_size); - switch (srt_getsockstate (wsock)) { case SRTS_BROKEN: case SRTS_NONEXIST: @@ -1562,6 +1555,14 @@ gst_srt_object_write_one (GstSRTObject * srtobject, continue; } + if (srt_getsockflag (wsock, SRTO_PAYLOADSIZE, &payload_size, &optlen)) { + GST_ELEMENT_ERROR (srtobject->element, RESOURCE, WRITE, NULL, + ("%s", srt_getlasterror_str ())); + break; + } + + rest = MIN (mapinfo->size - len, payload_size); + sent = srt_sendmsg2 (wsock, (char *) (msg + len), rest, 0); if (sent < 0) { GST_ELEMENT_ERROR (srtobject->element, RESOURCE, WRITE, NULL,