From: Olivier CrĂȘte Date: Mon, 8 Jul 2019 19:50:59 +0000 (-0400) Subject: srtsrc: Receive one frame per gstbuffer X-Git-Tag: 1.16.2~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e7af4682d2b0c3bcf3a0819e9c21d59975d48131;p=platform%2Fupstream%2Fgst-plugins-bad.git srtsrc: Receive one frame per gstbuffer Don't aggregate the received data, just receive it one packet at a time. So it keeps the packetization boundaries --- diff --git a/ext/srt/gstsrtobject.c b/ext/srt/gstsrtobject.c index e90676961..ddf3e5a2e 100644 --- a/ext/srt/gstsrtobject.c +++ b/ext/srt/gstsrtobject.c @@ -1191,25 +1191,11 @@ gst_srt_object_read (GstSRTObject * srtobject, continue; } - while (len < size) { - gint recv; - gint rest = size - len; - /* Workaround for SRT being unhappy about buffers that - * are less than the chunk size */ - if (rest < msg_size) - goto out; - - recv = srt_recvmsg (rsock, (char *) (data + len), rest); - - if (recv <= 0) - goto out; - - len += recv; - } + len = srt_recvmsg (rsock, (char *) (data), size); + break; } -out: return len; }