avtpsrc: Retry receive with same buffer size

Without this patch in case of a retry recv() will be called with a
negative size argument.

Signed-off-by: Timo Wischer <timo.wischer@de.bosch.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1078>
This commit is contained in:
Timo Wischer 2021-10-06 16:00:56 +02:00 committed by GStreamer Marge Bot
parent 1d833eba60
commit 20b87e39e9

View file

@ -272,6 +272,7 @@ gst_avtp_src_fill (GstPushSrc * pushsrc, GstBuffer * buffer)
GstMapInfo map;
gsize buffer_size;
ssize_t n = MAX_AVTPDU_SIZE;
ssize_t received = -1;
GstAvtpSrc *avtpsrc = GST_AVTP_SRC (pushsrc);
buffer_size = gst_buffer_get_size (buffer);
@ -290,8 +291,8 @@ gst_avtp_src_fill (GstPushSrc * pushsrc, GstBuffer * buffer)
retry:
errno = 0;
n = recv (avtpsrc->sk_fd, map.data, n, 0);
if (n < 0) {
received = recv (avtpsrc->sk_fd, map.data, n, 0);
if (received < 0) {
if (errno == EINTR) {
goto retry;
}