> On Jul 3, 2025, at 22:24, Timo Rothenpieler <t...@rothenpieler.org> wrote: > > On 03.07.2025 03:07, Jack Lau wrote: >>> On Jul 3, 2025, at 00:56, Timo Rothenpieler <t...@rothenpieler.org> wrote: >>> >>> --- >>> libavformat/tls.c | 9 --------- >>> libavformat/tls_openssl.c | 3 +++ >>> 2 files changed, 3 insertions(+), 9 deletions(-) >>> >>> diff --git a/libavformat/tls.c b/libavformat/tls.c >>> index 5ec4cca58a..f888970969 100644 >>> --- a/libavformat/tls.c >>> +++ b/libavformat/tls.c >>> @@ -135,15 +135,6 @@ int ff_tls_open_underlying(TLSShared *c, URLContext >>> *parent, const char *uri, AV >>> ret = ffurl_open_whitelist(c->is_dtls ? &c->udp : &c->tcp, buf, >>> AVIO_FLAG_READ_WRITE, >>> &parent->interrupt_callback, options, >>> parent->protocol_whitelist, >>> parent->protocol_blacklist, parent); >>> - if (c->is_dtls) { >>> - if (ret < 0) { >>> - av_log(c, AV_LOG_ERROR, "Failed to open udp://%s:%d\n", >>> c->underlying_host, port); >>> - return ret; >>> - } >>> - /* Make the socket non-blocking, set to READ and WRITE mode after >>> connected */ >>> - ff_socket_nonblock(ffurl_get_file_handle(c->udp), 1); >>> - c->udp->flags |= AVIO_FLAG_READ | AVIO_FLAG_NONBLOCK; >>> - } >>> return ret; >>> } >>> >>> diff --git a/libavformat/tls_openssl.c b/libavformat/tls_openssl.c >>> index 2a3905891d..d83fe602d5 100644 >>> --- a/libavformat/tls_openssl.c >>> +++ b/libavformat/tls_openssl.c >>> @@ -985,6 +985,9 @@ static int dtls_start(URLContext *h, const char *url, >>> int flags, AVDictionary ** >>> av_log(p, AV_LOG_ERROR, "Failed to connect %s\n", url); >>> return ret; >>> } >>> + /* Make the socket non-blocking, set to READ and WRITE mode after >>> connected */ >>> + ff_socket_nonblock(ffurl_get_file_handle(p->tls_shared.udp), 1); >>> + p->tls_shared.udp->flags |= AVIO_FLAG_READ | AVIO_FLAG_NONBLOCK; >> Since AVIO_FLAG_READ_WRITE was flagged, it can be just >> "p->tls_shared.udp->flags |= AVIO_FLAG_NONBLOCK;” > > Isn't that redundant with ff_socket_nonblock right above it as well? No, I think we need keep them all.
The first line ff_socket_nonblock tells the system nonblock The second line NONBLOCK flag tells ffmpeg to skip ff_network_wait_fd (can see that in udp_read or udp_write) I’m not very sure if I explained it right, but when I remove one line of them, the streaming is so choppy and it is almost unusable. > >>> } >>> >>> /* Setup DTLS as passive, which is server role. */ >>> -- >>> 2.49.0 >>> >>> _______________________________________________ >>> ffmpeg-devel mailing list >>> ffmpeg-devel@ffmpeg.org >>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >>> >>> To unsubscribe, visit link above, or email >>> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe”. >> Thanks >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel >> To unsubscribe, visit link above, or email >> ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".