Return os error code if available, check for both SRT_EASYNCRCV and SRT_EASYNCSND when transforming them to EAGAIN and only display error if it is not EAGAIN.
Signed-off-by: Marton Balint <c...@passwd.hu> --- libavformat/libsrt.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libavformat/libsrt.c b/libavformat/libsrt.c index 38d047ca88..c3c96b35e0 100644 --- a/libavformat/libsrt.c +++ b/libavformat/libsrt.c @@ -145,11 +145,12 @@ static const AVOption libsrt_options[] = { static int libsrt_neterrno(URLContext *h) { - int err = srt_getlasterror(NULL); - av_log(h, AV_LOG_ERROR, "%s\n", srt_getlasterror_str()); - if (err == SRT_EASYNCRCV) + int os_errno; + int err = srt_getlasterror(&os_errno); + if (err == SRT_EASYNCRCV || err == SRT_EASYNCSND) return AVERROR(EAGAIN); - return AVERROR_UNKNOWN; + av_log(h, AV_LOG_ERROR, "%s\n", srt_getlasterror_str()); + return os_errno ? AVERROR(os_errno) : AVERROR_UNKNOWN; } static int libsrt_socket_nonblock(int socket, int enable) -- 2.16.4 _______________________________________________ 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".