From patchwork Thu May 16 09:33:34 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Sayers X-Patchwork-Id: 48907 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2115206pzb; Thu, 16 May 2024 02:34:31 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUv3/ug+uzuj14Qd1dTkuMA/MyS8oIZVuS7himfF8Rj00GCUuOM2wIrVGbPmgNouzmqHT8+bOPocCuQxePOzlW8vbHbyWGyMwnd3g== X-Google-Smtp-Source: AGHT+IEWlgGWP8OxH8nbv/VG3d6cYjzQfcSkA6twnRBW6QrsouPwin+amKg/BatV41CZfw5WvME+ X-Received: by 2002:a17:906:560d:b0:a5a:250d:de57 with SMTP id a640c23a62f3a-a5a2d57a3ddmr1195483566b.19.1715852070897; Thu, 16 May 2024 02:34:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715852070; cv=none; d=google.com; s=arc-20160816; b=wnZ3OnH7FNw+Gsv01GUoEaBbthDCg7cwSb7cqts12EOvXmGkItKOXUxfw+2oPjw/r1 d1RgB0QDy3ge91VEn+MRnkeOPuhH11OMBVLwm8EauzOPZBWjCnImjHa3XNDn7xcuBvEl X04cNwkAoLpg1/4Sqou/q7i/REwUUbI4u2iDq2+A5vqjn9ROKK0IfL4dKFzfr3rm/wM2 q/i4Toim1tdfxDLcnxa//4WTZBPS+KJPyH9jRTyAHiRgnyvwcpHlSURMvEWAol0T5ejY NXNRfBWWB+b+RHEZxRjJSnJbd8qL6vWK1UvwlgsUE86qwOyWof9y/4lEdgKlNzcMSRvb /cyA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=/kA1fcQZaGT6TdrdVwEk6cVBMXmZsN/RGZ6zeLrmDC4=; fh=73ExZnkQ8FYbu/qeQNmI0dtHCfShNh8/NmZJs1umltM=; b=y984i9VMoBMmZE2skdeYP4omnpHaugtHJZ5FncLiwapI18KBqzqOtXoOt7f7v6zyDG OpeB6Y90E4aizAPJ3MtRQ9Km+BYwe5V06GBChEwMk43jEwJ90eJZoBaCvyYdIJkqp/yw bSBu+w1DqCO3Wng/wBowYRVGeFQnn8h0PRWa8ElLny9Un+xX4nQq2s58ItKUzBkruWFy kbaJQb8thzjv2XayWAxULf/LeGBHN/4xmMBjNkQg0hUYUIVTyNLBxlMmiS47JkcjfYHY gI2nwsw4OO2f0hNiEyaDS4a+l4MeHV/8up9ze6pSCGprbCta5SeUQzTawHgpPRUx9Llj ZOow==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a5a1794634asi854684566b.166.2024.05.16.02.34.30; Thu, 16 May 2024 02:34:30 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0353B68D544; Thu, 16 May 2024 12:34:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 71EE868D47E for ; Thu, 16 May 2024 12:34:06 +0300 (EEST) Received: from 0.b.4.b.7.4.0.8.c.4.a.5.d.8.b.2.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:2b8d:5a4c:8047:b4b0] helo=andrews-2024-laptop.lan) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1s7XUz-002QR7-11; Thu, 16 May 2024 10:34:05 +0100 From: Andrew Sayers To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 10:33:34 +0100 Message-ID: <20240516093403.3763258-2-ffmpeg-devel@pileofstuff.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> References: <94b3be81-0777-fbc1-8ba8-a39a8f6397d4@passwd.hu> <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 1/5] Add documentation for ff_neterrno() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andrew Sayers Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: mPWoRF2rm194 --- libavformat/network.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavformat/network.h b/libavformat/network.h index ca214087fc..728c20c9bb 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -57,6 +57,11 @@ #define getsockopt(a, b, c, d, e) getsockopt(a, b, c, (char*) d, e) #define setsockopt(a, b, c, d, e) setsockopt(a, b, c, (const char*) d, e) +/* + * @brief AVERROR for the latest network function + * @return platform-specific AVERROR value + * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) + */ int ff_neterrno(void); #else #include @@ -65,6 +70,11 @@ int ff_neterrno(void); #include #include +/* + * @brief AVERROR for the latest network function + * @return platform-specific AVERROR value + * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) + */ #define ff_neterrno() AVERROR(errno) #endif /* HAVE_WINSOCK2_H */ From patchwork Thu May 16 09:33:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Sayers X-Patchwork-Id: 48908 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2115264pzb; Thu, 16 May 2024 02:34:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVsnvGs6aigdPDG/y5u1m5JowJz6i4iQFc8fxAZFTLniNCpLF4KZSZQuAA1BjviTJMopqcJdRYlwonZxko/PcJ7P7dI086yNeJW8Q== X-Google-Smtp-Source: AGHT+IEXHAP8YY/Yrp2u4BlFLb5rOLvq5d2LFB9ys7VhxWdU49IGdnb7f2i+BFESTYBi9LqoRVh2 X-Received: by 2002:aa7:c684:0:b0:572:512a:ecb6 with SMTP id 4fb4d7f45d1cf-5734d70adb5mr13771684a12.4.1715852083213; Thu, 16 May 2024 02:34:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715852083; cv=none; d=google.com; s=arc-20160816; b=x2HlF/swDe4kubwyfC6Nsy3iu2yJJQ+IqZ8VNQn1+YzgyqQjH5mGX01/JeNWmyoadH vr+RzIgboVv4Vf5jSysy7i0s0feRuYUepLSpK0OnmH41xodRC5FKp0jZ/8HSjXs6/0Wa 1dT0D2p6viHxayb1I7Uk83iVI00a1WDn/WqPxSZeugpzEdLaPPAIPNjloC0wJYIGyPB7 i3FmWDDdzHsMi5QIwzqgsES6Fml4tBrMtw6RNnTmX4uoZHJsjLvxlBdX+kVeX2lnK8qX XopYXd+Ie5g5bX6AsyXM8Ax6NcjdqDytXrAgADZHv930hrsIV3N/Ua/lzabU7wjUQ4MN 8zOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=kxaNSY3YhLayP83aHsRaA8e9LbBE1QgXLkOQJd6Q2yk=; fh=73ExZnkQ8FYbu/qeQNmI0dtHCfShNh8/NmZJs1umltM=; b=bBCFmtitd5YuC6h683sO0q6SzFVfYWEhfhWm12DbE5NDstBoZA59goXBu7REK9KNRl 4GUE0FdiVFBVFqJygLnfsBCJYZsg3hrnBeIDfleZjDc5lEhiO6S1ivhpMZlym2AoUnhK FEdQuU5nH5I9Cie+zJeKgKLs78gFlzNl2JKHinmkoKP30Hbjp0baeERh0+NDvs4cBQMK 9kZvJFVYR/IEGTD7ZdMtYAdC4Oif4BTzzj70g7s1SdbykCnX0BtP2+ILcHpom0s1/nRK kQ48fVX+uXAYC4tDSiiXUqGEt1Pv6dbu6o4BVzyug/iS823fLbxolDHPlgibzKhpAX7l 93rA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 4fb4d7f45d1cf-5733c3273b2si8553878a12.368.2024.05.16.02.34.42; Thu, 16 May 2024 02:34:43 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 55B1868D575; Thu, 16 May 2024 12:34:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9AF3668D19B for ; Thu, 16 May 2024 12:34:06 +0300 (EEST) Received: from 0.b.4.b.7.4.0.8.c.4.a.5.d.8.b.2.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:2b8d:5a4c:8047:b4b0] helo=andrews-2024-laptop.lan) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1s7XUz-002QR7-1t; Thu, 16 May 2024 10:34:06 +0100 From: Andrew Sayers To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 10:33:35 +0100 Message-ID: <20240516093403.3763258-3-ffmpeg-devel@pileofstuff.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> References: <94b3be81-0777-fbc1-8ba8-a39a8f6397d4@passwd.hu> <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 2/5] Rename "ff_neterrno()" to "ff_neterror()" X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andrew Sayers Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: s9ZrN3wO0L2n This function does not check errno on Windows, so the old name was misleading. Actual command: sed -i -e 's/ff_neterrno/ff_neterror/g' $( git grep -l ff_neterrno ) --- libavformat/network.c | 24 ++++++++++++------------ libavformat/network.h | 4 ++-- libavformat/rtpproto.c | 8 ++++---- libavformat/sctp.c | 10 +++++----- libavformat/tcp.c | 8 ++++---- libavformat/udp.c | 32 ++++++++++++++++---------------- libavformat/unix.c | 6 +++--- libavformat/url.h | 2 +- 8 files changed, 47 insertions(+), 47 deletions(-) diff --git a/libavformat/network.c b/libavformat/network.c index f752efc411..5d0d05c5f1 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -72,7 +72,7 @@ int ff_network_wait_fd(int fd, int write) struct pollfd p = { .fd = fd, .events = ev, .revents = 0 }; int ret; ret = poll(&p, 1, POLLING_TIME); - return ret < 0 ? ff_neterrno() : p.revents & (ev | POLLERR | POLLHUP) ? 0 : AVERROR(EAGAIN); + return ret < 0 ? ff_neterror() : p.revents & (ev | POLLERR | POLLHUP) ? 0 : AVERROR(EAGAIN); } int ff_network_wait_fd_timeout(int fd, int write, int64_t timeout, AVIOInterruptCB *int_cb) @@ -121,7 +121,7 @@ void ff_network_close(void) } #if HAVE_WINSOCK2_H -int ff_neterrno(void) +int ff_neterror(void) { int err = WSAGetLastError(); switch (err) { @@ -168,7 +168,7 @@ static int ff_poll_interrupt(struct pollfd *p, nfds_t nfds, int timeout, ret = poll(p, nfds, POLLING_TIME); if (ret != 0) { if (ret < 0) - ret = ff_neterrno(); + ret = ff_neterror(); if (ret == AVERROR(EINTR)) continue; break; @@ -217,11 +217,11 @@ int ff_listen(int fd, const struct sockaddr *addr, } ret = bind(fd, addr, addrlen); if (ret) - return ff_neterrno(); + return ff_neterror(); ret = listen(fd, 1); if (ret) - return ff_neterrno(); + return ff_neterror(); return ret; } @@ -236,7 +236,7 @@ int ff_accept(int fd, int timeout, URLContext *h) ret = accept(fd, NULL, NULL); if (ret < 0) - return ff_neterrno(); + return ff_neterror(); if (ff_socket_nonblock(ret, 1) < 0) av_log(h, AV_LOG_DEBUG, "ff_socket_nonblock failed\n"); @@ -267,7 +267,7 @@ int ff_listen_connect(int fd, const struct sockaddr *addr, av_log(h, AV_LOG_DEBUG, "ff_socket_nonblock failed\n"); while ((ret = connect(fd, addr, addrlen))) { - ret = ff_neterrno(); + ret = ff_neterror(); switch (ret) { case AVERROR(EINTR): if (ff_check_interrupt(&h->interrupt_callback)) @@ -280,7 +280,7 @@ int ff_listen_connect(int fd, const struct sockaddr *addr, return ret; optlen = sizeof(ret); if (getsockopt (fd, SOL_SOCKET, SO_ERROR, &ret, &optlen)) - ret = AVUNERROR(ff_neterrno()); + ret = AVUNERROR(ff_neterror()); if (ret != 0) { char errbuf[100]; ret = AVERROR(ret); @@ -365,7 +365,7 @@ static int start_connect_attempt(struct ConnectionAttempt *attempt, attempt->fd = ff_socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol, h); if (attempt->fd < 0) - return ff_neterrno(); + return ff_neterror(); attempt->deadline_us = av_gettime_relative() + timeout_ms * 1000; attempt->addr = ai; @@ -381,7 +381,7 @@ static int start_connect_attempt(struct ConnectionAttempt *attempt, } while ((ret = connect(attempt->fd, ai->ai_addr, ai->ai_addrlen))) { - ret = ff_neterrno(); + ret = ff_neterror(); switch (ret) { case AVERROR(EINTR): if (ff_check_interrupt(&h->interrupt_callback)) { @@ -478,7 +478,7 @@ int ff_connect_parallel(struct addrinfo *addrs, int timeout_ms_per_address, // a successful connection or an error). optlen = sizeof(last_err); if (getsockopt(attempts[i].fd, SOL_SOCKET, SO_ERROR, &last_err, &optlen)) - last_err = ff_neterrno(); + last_err = ff_neterror(); else if (last_err != 0) last_err = AVERROR(last_err); if (last_err == 0) { @@ -587,6 +587,6 @@ int ff_http_match_no_proxy(const char *no_proxy, const char *hostname) void ff_log_net_error(void *ctx, int level, const char* prefix) { char errbuf[100]; - av_strerror(ff_neterrno(), errbuf, sizeof(errbuf)); + av_strerror(ff_neterror(), errbuf, sizeof(errbuf)); av_log(ctx, level, "%s: %s\n", prefix, errbuf); } diff --git a/libavformat/network.h b/libavformat/network.h index 728c20c9bb..f338694212 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -62,7 +62,7 @@ * @return platform-specific AVERROR value * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ -int ff_neterrno(void); +int ff_neterror(void); #else #include #include @@ -75,7 +75,7 @@ int ff_neterrno(void); * @return platform-specific AVERROR value * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ -#define ff_neterrno() AVERROR(errno) +#define ff_neterror() AVERROR(errno) #endif /* HAVE_WINSOCK2_H */ #if HAVE_ARPA_INET_H diff --git a/libavformat/rtpproto.c b/libavformat/rtpproto.c index b1cdf061f0..e8963307f3 100644 --- a/libavformat/rtpproto.c +++ b/libavformat/rtpproto.c @@ -410,8 +410,8 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size) len = recvfrom(p[i].fd, buf, size, 0, (struct sockaddr *)addrs[i], addr_lens[i]); if (len < 0) { - if (ff_neterrno() == AVERROR(EAGAIN) || - ff_neterrno() == AVERROR(EINTR)) + if (ff_neterror() == AVERROR(EAGAIN) || + ff_neterror() == AVERROR(EINTR)) continue; return AVERROR(EIO); } @@ -422,7 +422,7 @@ static int rtp_read(URLContext *h, uint8_t *buf, int size) } else if (n == 0 && h->rw_timeout > 0 && --runs <= 0) { return AVERROR(ETIMEDOUT); } else if (n < 0) { - if (ff_neterrno() == AVERROR(EINTR)) + if (ff_neterror() == AVERROR(EINTR)) continue; return AVERROR(EIO); } @@ -492,7 +492,7 @@ static int rtp_write(URLContext *h, const uint8_t *buf, int size) ret = sendto(fd, buf, size, 0, (struct sockaddr *) source, *source_len); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } if (RTP_PT_IS_RTCP(buf[1])) { diff --git a/libavformat/sctp.c b/libavformat/sctp.c index 9d9e90097e..7170a716e7 100644 --- a/libavformat/sctp.c +++ b/libavformat/sctp.c @@ -222,7 +222,7 @@ static int sctp_open(URLContext *h, const char *uri, int flags) restart: fd = ff_socket(cur_ai->ai_family, SOCK_STREAM, IPPROTO_SCTP, h); if (fd < 0) { - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } @@ -261,7 +261,7 @@ restart: av_log(h, AV_LOG_ERROR, "SCTP ERROR: Unable to initialize socket max streams %d\n", s->max_streams); - ret = ff_neterrno(); + ret = ff_neterror(); goto fail1; } } @@ -296,7 +296,7 @@ static int sctp_wait_fd(int fd, int write) int ret; ret = poll(&p, 1, 100); - return ret < 0 ? ff_neterrno() : p.revents & ev ? 0 : AVERROR(EAGAIN); + return ret < 0 ? ff_neterror() : p.revents & ev ? 0 : AVERROR(EAGAIN); } static int sctp_read(URLContext *h, uint8_t *buf, int size) @@ -319,7 +319,7 @@ static int sctp_read(URLContext *h, uint8_t *buf, int size) } else ret = recv(s->fd, buf, size, 0); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int sctp_write(URLContext *h, const uint8_t *buf, int size) @@ -345,7 +345,7 @@ static int sctp_write(URLContext *h, const uint8_t *buf, int size) } else ret = send(s->fd, buf, size, MSG_NOSIGNAL); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int sctp_close(URLContext *h) diff --git a/libavformat/tcp.c b/libavformat/tcp.c index 755e3af242..2c12ee78ad 100644 --- a/libavformat/tcp.c +++ b/libavformat/tcp.c @@ -226,7 +226,7 @@ static int tcp_open(URLContext *h, const char *uri, int flags) cur_ai->ai_socktype, cur_ai->ai_protocol, h); if (fd < 0) { - ret = ff_neterrno(); + ret = ff_neterror(); cur_ai = cur_ai->ai_next; } } @@ -296,7 +296,7 @@ static int tcp_read(URLContext *h, uint8_t *buf, int size) ret = recv(s->fd, buf, size, 0); if (ret == 0) return AVERROR_EOF; - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int tcp_write(URLContext *h, const uint8_t *buf, int size) @@ -310,7 +310,7 @@ static int tcp_write(URLContext *h, const uint8_t *buf, int size) return ret; } ret = send(s->fd, buf, size, MSG_NOSIGNAL); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int tcp_shutdown(URLContext *h, int flags) @@ -357,7 +357,7 @@ static int tcp_get_window_size(URLContext *h) #endif if (getsockopt(s->fd, SOL_SOCKET, SO_RCVBUF, &avail, &avail_len)) { - return ff_neterrno(); + return ff_neterror(); } return avail; } diff --git a/libavformat/udp.c b/libavformat/udp.c index c1ebdd1222..aca3ed9ceb 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -190,7 +190,7 @@ static int udp_set_multicast_ttl(int sockfd, int mcastTTL, ff_log_net_error(logctx, AV_LOG_DEBUG, "setsockopt(IPV4/IPV6 MULTICAST TTL)"); if (setsockopt(sockfd, protocol, cmd, &ttl, sizeof(ttl)) < 0) { ff_log_net_error(logctx, AV_LOG_ERROR, "setsockopt(IPV4/IPV6 MULTICAST TTL)"); - return ff_neterrno(); + return ff_neterror(); } } @@ -211,7 +211,7 @@ static int udp_join_multicast_group(int sockfd, struct sockaddr *addr, mreq.imr_interface.s_addr = INADDR_ANY; if (setsockopt(sockfd, IPPROTO_IP, IP_ADD_MEMBERSHIP, (const void *)&mreq, sizeof(mreq)) < 0) { ff_log_net_error(logctx, AV_LOG_ERROR, "setsockopt(IP_ADD_MEMBERSHIP)"); - return ff_neterrno(); + return ff_neterror(); } } #endif @@ -224,7 +224,7 @@ static int udp_join_multicast_group(int sockfd, struct sockaddr *addr, mreq6.ipv6mr_interface = 0; if (setsockopt(sockfd, IPPROTO_IPV6, IPV6_ADD_MEMBERSHIP, &mreq6, sizeof(mreq6)) < 0) { ff_log_net_error(logctx, AV_LOG_ERROR, "setsockopt(IPV6_ADD_MEMBERSHIP)"); - return ff_neterrno(); + return ff_neterror(); } } #endif @@ -294,7 +294,7 @@ static int udp_set_multicast_sources(URLContext *h, ff_log_net_error(h, AV_LOG_ERROR, "setsockopt(MCAST_JOIN_SOURCE_GROUP)"); else ff_log_net_error(h, AV_LOG_ERROR, "setsockopt(MCAST_BLOCK_SOURCE)"); - return ff_neterrno(); + return ff_neterror(); } } return 0; @@ -326,7 +326,7 @@ static int udp_set_multicast_sources(URLContext *h, ff_log_net_error(h, AV_LOG_ERROR, "setsockopt(IP_ADD_SOURCE_MEMBERSHIP)"); else ff_log_net_error(h, AV_LOG_ERROR, "setsockopt(IP_BLOCK_SOURCE)"); - return ff_neterrno(); + return ff_neterror(); } } #else @@ -508,8 +508,8 @@ static void *circular_buffer_task_rx( void *_URLContext) pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &old_cancelstate); pthread_mutex_lock(&s->mutex); if (len < 0) { - if (ff_neterrno() != AVERROR(EAGAIN) && ff_neterrno() != AVERROR(EINTR)) { - s->circular_buffer_error = ff_neterrno(); + if (ff_neterror() != AVERROR(EAGAIN) && ff_neterror() != AVERROR(EINTR)) { + s->circular_buffer_error = ff_neterror(); goto end; } continue; @@ -621,7 +621,7 @@ static void *circular_buffer_task_tx( void *_URLContext) len -= ret; p += ret; } else { - ret = ff_neterrno(); + ret = ff_neterror(); if (ret != AVERROR(EAGAIN) && ret != AVERROR(EINTR)) { pthread_mutex_lock(&s->mutex); s->circular_buffer_error = ret; @@ -797,7 +797,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (s->reuse_socket > 0 || (s->is_multicast && s->reuse_socket < 0)) { s->reuse_socket = 1; if (setsockopt (udp_fd, SOL_SOCKET, SO_REUSEADDR, &(s->reuse_socket), sizeof(s->reuse_socket)) != 0) { - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } } @@ -805,7 +805,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (s->is_broadcast) { #ifdef SO_BROADCAST if (setsockopt (udp_fd, SOL_SOCKET, SO_BROADCAST, &(s->is_broadcast), sizeof(s->is_broadcast)) != 0) { - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } #else @@ -829,7 +829,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (dscp >= 0) { dscp <<= 2; if (setsockopt (udp_fd, IPPROTO_IP, IP_TOS, &dscp, sizeof(dscp)) != 0) { - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } } @@ -846,7 +846,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) /* the bind is needed to give a port to the socket now */ if (bind_ret < 0 && bind(udp_fd,(struct sockaddr *)&my_addr, len) < 0) { ff_log_net_error(h, AV_LOG_ERROR, "bind failed"); - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } @@ -890,7 +890,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) tmp = s->buffer_size; if (setsockopt(udp_fd, SOL_SOCKET, SO_SNDBUF, &tmp, sizeof(tmp)) < 0) { ff_log_net_error(h, AV_LOG_ERROR, "setsockopt(SO_SNDBUF)"); - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } } else { @@ -914,7 +914,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if (s->is_connected) { if (connect(udp_fd, (struct sockaddr *) &s->dest_addr, s->dest_addr_len)) { ff_log_net_error(h, AV_LOG_ERROR, "connect"); - ret = ff_neterrno(); + ret = ff_neterror(); goto fail; } } @@ -1045,7 +1045,7 @@ static int udp_read(URLContext *h, uint8_t *buf, int size) } ret = recvfrom(s->udp_fd, buf, size, 0, (struct sockaddr *)&addr, &addr_len); if (ret < 0) - return ff_neterrno(); + return ff_neterror(); if (ff_ip_check_source_lists(&addr, &s->filters)) return AVERROR(EINTR); return ret; @@ -1098,7 +1098,7 @@ static int udp_write(URLContext *h, const uint8_t *buf, int size) } else ret = send(s->udp_fd, buf, size, 0); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int udp_close(URLContext *h) diff --git a/libavformat/unix.c b/libavformat/unix.c index 5704155cf0..d1b4e6a5ca 100644 --- a/libavformat/unix.c +++ b/libavformat/unix.c @@ -70,7 +70,7 @@ static int unix_open(URLContext *h, const char *filename, int flags) av_strlcpy(s->addr.sun_path, filename, sizeof(s->addr.sun_path)); if ((fd = ff_socket(AF_UNIX, s->type, 0, h)) < 0) - return ff_neterrno(); + return ff_neterror(); if (s->timeout < 0 && h->rw_timeout) s->timeout = h->rw_timeout / 1000; @@ -113,7 +113,7 @@ static int unix_read(URLContext *h, uint8_t *buf, int size) ret = recv(s->fd, buf, size, 0); if (!ret && s->type == SOCK_STREAM) return AVERROR_EOF; - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int unix_write(URLContext *h, const uint8_t *buf, int size) @@ -127,7 +127,7 @@ static int unix_write(URLContext *h, const uint8_t *buf, int size) return ret; } ret = send(s->fd, buf, size, MSG_NOSIGNAL); - return ret < 0 ? ff_neterrno() : ret; + return ret < 0 ? ff_neterror() : ret; } static int unix_close(URLContext *h) diff --git a/libavformat/url.h b/libavformat/url.h index 0784d77b64..a6b48d06d9 100644 --- a/libavformat/url.h +++ b/libavformat/url.h @@ -150,7 +150,7 @@ int ffurl_open_whitelist(URLContext **puc, const char *filename, int flags, * * @param s server context * @param c client context, must be unallocated. - * @return >= 0 on success, ff_neterrno() on failure. + * @return >= 0 on success, ff_neterror() on failure. */ int ffurl_accept(URLContext *s, URLContext **c); From patchwork Thu May 16 09:33:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Sayers X-Patchwork-Id: 48909 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2115326pzb; Thu, 16 May 2024 02:34:53 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU8uTtJof/uKMcakkI69+RY2R+ps9q6PbGPjnGmM9bfy6DGDZJVoNeu3eKSAQCFFnPoAYpIOMtxmzfr7/W4FbpSVRi2x6307aGypw== X-Google-Smtp-Source: AGHT+IF27JVQ6w5U2HOrOiNZjRBgdiQHagvkkXOgJ0xwuW/KrO2/Hm2XlffDoecVynCauJNVC9Lm X-Received: by 2002:a17:907:7d8b:b0:a5a:669c:286b with SMTP id a640c23a62f3a-a5a669c290emr879597166b.19.1715852093055; Thu, 16 May 2024 02:34:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715852093; cv=none; d=google.com; s=arc-20160816; b=DLR7eMOnyrB2lHuiolqguDR1zBUuHOiQi/IhqJ67eKldKXM/yPi7T7Esp9WUc4UwJG zkcOA5SbjPY4kPgxsW4EPdbTiXiK1HuSNncRw4fWf241l+OpgjWSEbj7ugBH7Fz+6vwM /ukWyOmWR7lgjRlYszFft2Q5et3UKCIN8o8yH2Zc89GPJC23Kyy3uR3N6+iYveOh+kqG ajNedXTwpwoEADqRnh9AtIR3AOvWo5WN081Zmx5C5TwuiwNBFHZRsMYNO+ZLLc+NSMEW P3ZwFr0h403IMy4W+cweC/7S1Il3mFPqOkbTFTn8lciYGuHqLCLcyF2/c6cMT7uQcA2E ujkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=QiLzMgDZioO6LjzDNjk0W8AzQYaRMfAPC9A8L9Hlzpk=; fh=73ExZnkQ8FYbu/qeQNmI0dtHCfShNh8/NmZJs1umltM=; b=l4lg2FMK8uVoodqrzgeSGgw5206tykmRnfRYbHqyhrBf2IwEcgXu9oicJn3P8PWrnT FJECke/kxOEpMxMXsun41FpqsAOq54tY5W4rUio9hA8El6IqV6p7PuxAk1SaTbpt/oDN my2O7fuzMFSvH8rfdyfeLiLUk28i58BfmsrUN2MwBHueiFXTaOf3coMZY12SwbIFeTCq X5tRUH+l6/LIYb7j/+aHcNa1R66yOczellVkew7hG3WRvzk/o8JMNPUikYqM0Ju4XtvE jJffRK4xEqRCzZznhEsHMhCD3IdKjPPIm772DhK6u9HqLh4ZZaIxqDPxKhRrCPpktmuQ AN9w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a5a58f19ed7si529044566b.877.2024.05.16.02.34.52; Thu, 16 May 2024 02:34:53 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A7FE568D587; Thu, 16 May 2024 12:34:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B506468D47E for ; Thu, 16 May 2024 12:34:06 +0300 (EEST) Received: from 0.b.4.b.7.4.0.8.c.4.a.5.d.8.b.2.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:2b8d:5a4c:8047:b4b0] helo=andrews-2024-laptop.lan) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1s7XV0-002QR7-00; Thu, 16 May 2024 10:34:06 +0100 From: Andrew Sayers To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 10:33:36 +0100 Message-ID: <20240516093403.3763258-4-ffmpeg-devel@pileofstuff.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> References: <94b3be81-0777-fbc1-8ba8-a39a8f6397d4@passwd.hu> <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 3/5] avformat/network: add ff_neterror2() for cases where we already have an error X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andrew Sayers Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: qrOGoFVm3U8s For example, WSAStartup()'s documentation says: "A call to the WSAGetLastError function is not needed and should not be used" --- libavformat/network.c | 5 ++++- libavformat/network.h | 12 ++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/libavformat/network.c b/libavformat/network.c index 5d0d05c5f1..351dc34bb6 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -123,7 +123,10 @@ void ff_network_close(void) #if HAVE_WINSOCK2_H int ff_neterror(void) { - int err = WSAGetLastError(); + return ff_neterror2(WSAGetLastError()); +} +int ff_neterror2(int err) +{ switch (err) { case WSAEWOULDBLOCK: return AVERROR(EAGAIN); diff --git a/libavformat/network.h b/libavformat/network.h index f338694212..7c8f81a050 100644 --- a/libavformat/network.h +++ b/libavformat/network.h @@ -63,6 +63,12 @@ * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ int ff_neterror(void); +/* + * @brief ff_neterror()-style AVERROR + * @param err error code (usually an errno or Windows Sockets Error Code) + * @note Windows Sockets Error Codes are only supported in Windows + */ +int ff_neterror2(int err); #else #include #include @@ -76,6 +82,12 @@ int ff_neterror(void); * @note Error is based on WSAGetLastError() (Windows) or `errno` (otherwise) */ #define ff_neterror() AVERROR(errno) +/* + * @brief ff_neterror()-style AVERROR + * @param err error code (usually an errno or Windows Sockets Error Code) + * @note Windows Sockets Error Codes are only supported in Windows + */ +#define ff_neterror2(ERRNO) AVERROR(ERRNO) #endif /* HAVE_WINSOCK2_H */ #if HAVE_ARPA_INET_H From patchwork Thu May 16 09:33:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Sayers X-Patchwork-Id: 48910 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2115412pzb; Thu, 16 May 2024 02:35:03 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUWkpOip4kuqD5ObJvD5TDSIfG86nJu/3vAyXd7aOrYl8aDmm5r3rA/Vz9Dh3oSp9IOudkw59t2iITqBuXnd/WQ50+6UtsSovuTiQ== X-Google-Smtp-Source: AGHT+IFqR48lorXjz/1lr+wQo8IQK+EeUINYadXQTHzOnsBEpYrElJwIxQUlxYgmnLjP+UVNPGlu X-Received: by 2002:a17:906:2bdb:b0:a5a:8a6f:51b5 with SMTP id a640c23a62f3a-a5a8a6f559fmr618783766b.40.1715852103453; Thu, 16 May 2024 02:35:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715852103; cv=none; d=google.com; s=arc-20160816; b=X2V0cbtmmBtWTu42c2m6b/AxMpzGV3BVeyysac8H1Y8UGu7sfRRkKAJt51EqQSYipZ OLydn56RiMxhxVSCWFv5+xCwhcJQenfT+HLsrmtR9ByPzqVsgusqgikXxtyCZTjMLJGe 80UFrgtCAuZGedsx/68NPVQQoN0T8vGzcIIGuoZcQxbR6qgYR8TxoFWCPF1Olui0rpve 4h2PCngIx5SimOK5IAkTjNUf3tDNtThuhb4YL5MsseiIzXU8sn5SAiCyn3dk1z009jqS 46NKFWJrQIVfTM3andjO4RE8zaOMMnj6/8qjI0f/wjAPgnlJnvyZKqxx5XR1UJ/ufCd3 nIEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=AaZblIxdd1FT5XSjR+WMRjK3tiYtN0+ZhNoleAFDOiQ=; fh=73ExZnkQ8FYbu/qeQNmI0dtHCfShNh8/NmZJs1umltM=; b=DVfa5LhMRMDKkkTcjRCMFek/hslhv1syf3usix/6q7oKMWlU1/7WNiRZUgmomv5y4Z 6uFYu8NvynZi0YwgNsp2MI6jjrki04IOAJeDkaJqZkT7YINErNeEtosiJ/kiZ+pVDIFO 7LAjwzzjb8YLVKmoDcFh701euZbzfaUMXGEg0uNS19kN2M4CVtRpXcMQjA+ensef0ay1 OQg4vz4zSZjqcUUmVDgjHExMgHiNXboslw7dhLUJPcPQ6z98kAYVyTmp2Dy+bniIOmm4 XLHdMYEcDvNKr3S+c0PQrnmFheKwqsXbYRJIkuiVyZMMWpfTu3yGKe3o6eNLN2+LeL6L XpwA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a5a17c2cbc6si794772466b.987.2024.05.16.02.35.03; Thu, 16 May 2024 02:35:03 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B833A68D597; Thu, 16 May 2024 12:34:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EFC3B68D47E for ; Thu, 16 May 2024 12:34:06 +0300 (EEST) Received: from 0.b.4.b.7.4.0.8.c.4.a.5.d.8.b.2.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:2b8d:5a4c:8047:b4b0] helo=andrews-2024-laptop.lan) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1s7XV0-002QR7-0j; Thu, 16 May 2024 10:34:06 +0100 From: Andrew Sayers To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 10:33:37 +0100 Message-ID: <20240516093403.3763258-5-ffmpeg-devel@pileofstuff.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> References: <94b3be81-0777-fbc1-8ba8-a39a8f6397d4@passwd.hu> <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 4/5] avformat/network: Return 0/AVERROR from ff_network_init() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andrew Sayers Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 656tNSiyiSkf --- libavformat/avio.c | 7 +++++-- libavformat/network.c | 7 +++---- libavformat/rtsp.c | 14 ++++++++------ libavformat/rtspdec.c | 5 +++-- libavformat/sapdec.c | 5 +++-- libavformat/sapenc.c | 5 +++-- 6 files changed, 25 insertions(+), 18 deletions(-) diff --git a/libavformat/avio.c b/libavformat/avio.c index d109f3adff..8c94bfeb14 100644 --- a/libavformat/avio.c +++ b/libavformat/avio.c @@ -123,8 +123,11 @@ static int url_alloc_for_protocol(URLContext **puc, const URLProtocol *up, int err; #if CONFIG_NETWORK - if (up->flags & URL_PROTOCOL_FLAG_NETWORK && !ff_network_init()) - return AVERROR(EIO); + if (up->flags & URL_PROTOCOL_FLAG_NETWORK) { + err = ff_network_init(); + if (err<0) + return err; + } #endif if ((flags & AVIO_FLAG_READ) && !up->url_read) { av_log(NULL, AV_LOG_ERROR, diff --git a/libavformat/network.c b/libavformat/network.c index 351dc34bb6..643294efe4 100644 --- a/libavformat/network.c +++ b/libavformat/network.c @@ -59,11 +59,10 @@ int ff_network_init(void) { #if HAVE_WINSOCK2_H WSADATA wsaData; - - if (WSAStartup(MAKEWORD(1,1), &wsaData)) - return 0; + return ff_neterror2(WSAStartup(MAKEWORD(1,1), &wsaData)); +#else + return 0; #endif - return 1; } int ff_network_wait_fd(int fd, int write) diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c index b0c61ee00a..d50d0b7fc0 100644 --- a/libavformat/rtsp.c +++ b/libavformat/rtsp.c @@ -1740,8 +1740,9 @@ int ff_rtsp_connect(AVFormatContext *s) return AVERROR(EINVAL); } - if (!ff_network_init()) - return AVERROR(EIO); + err = ff_network_init(); + if (err<0) + return err; if (s->max_delay < 0) /* Not set by the caller */ s->max_delay = s->iformat ? DEFAULT_REORDERING_DELAY : 0; @@ -2395,8 +2396,9 @@ static int sdp_read_header(AVFormatContext *s) char url[MAX_URL_SIZE]; AVBPrint bp; - if (!ff_network_init()) - return AVERROR(EIO); + err = ff_network_init(); + if (err<0) + return err; if (s->max_delay < 0) /* Not set by the caller */ s->max_delay = DEFAULT_REORDERING_DELAY; @@ -2522,8 +2524,8 @@ static int rtp_read_header(AVFormatContext *s) AVBPrint sdp; AVDictionary *opts = NULL; - if (!ff_network_init()) - return AVERROR(EIO); + if ((ret = ff_network_init())<0) + return ret; opts = map_to_opts(rt); ret = ffurl_open_whitelist(&in, s->url, AVIO_FLAG_READ, diff --git a/libavformat/rtspdec.c b/libavformat/rtspdec.c index 10078ce2fa..1b4b478170 100644 --- a/libavformat/rtspdec.c +++ b/libavformat/rtspdec.c @@ -663,8 +663,9 @@ static int rtsp_listen(AVFormatContext *s) int ret; enum RTSPMethod methodcode; - if (!ff_network_init()) - return AVERROR(EIO); + ret = ff_network_init(); + if (ret<0) + return ret; /* extract hostname and port */ av_url_split(proto, sizeof(proto), auth, sizeof(auth), host, sizeof(host), diff --git a/libavformat/sapdec.c b/libavformat/sapdec.c index 357c0dd514..393e544556 100644 --- a/libavformat/sapdec.c +++ b/libavformat/sapdec.c @@ -70,8 +70,9 @@ static int sap_read_header(AVFormatContext *s) int port; int ret, i; - if (!ff_network_init()) - return AVERROR(EIO); + ret = ff_network_init(); + if (ret<0) + return ret; av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &port, path, sizeof(path), s->url); diff --git a/libavformat/sapenc.c b/libavformat/sapenc.c index 87a834a8d8..5760e3a0c2 100644 --- a/libavformat/sapenc.c +++ b/libavformat/sapenc.c @@ -80,8 +80,9 @@ static int sap_write_header(AVFormatContext *s) int udp_fd; AVDictionaryEntry* title = av_dict_get(s->metadata, "title", NULL, 0); - if (!ff_network_init()) - return AVERROR(EIO); + ret = ff_network_init(); + if (ret<0) + return ret; /* extract hostname and port */ av_url_split(NULL, 0, NULL, 0, host, sizeof(host), &base_port, From patchwork Thu May 16 09:33:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Sayers X-Patchwork-Id: 48911 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp2115481pzb; Thu, 16 May 2024 02:35:14 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCX5F27T+Cootq4ZCI5+XH+VNcLzJ6fgQCHNeWRS8IWh9dIW0fbJjwM+3RfcBkhcyV/jZKuXrC7bklI++npzGYancQsN24XgCA1Veg== X-Google-Smtp-Source: AGHT+IFt824fZJ4g+0/d3u3pQ4WxDB9GMVtOj95ru8hNsZ4s2p4prSPiXBUMSyFXXK8pp7qptjf4 X-Received: by 2002:a17:906:2683:b0:a5c:e1dd:3dfd with SMTP id a640c23a62f3a-a5ce1dd3e7emr135193666b.46.1715852113776; Thu, 16 May 2024 02:35:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1715852113; cv=none; d=google.com; s=arc-20160816; b=dGramJYIlA4XV0VW5vYZZphyPPf0+RL10Pwd0Y/1M6DhlFs6slqSfdFcNzEdaNmu98 YZywttuYgLSGmpyRnKCxzHOq9L+q7TpTbYU0bVNAbn6FO/47CnuVhbLFNRjlbzatQVU8 HejfyJHdaa1gEsFlvaZ9vaaiSJoEux9JsmOOV8FOV/AWMUn451jXc4kCjtgKVzFttdTv CD4DfmGYrtrO46KX84dv5hsm3ZBkTNywDE51k7QYqrk3H/+R9iBe918p+HgyRYqheQ14 vm7qTRs7SM7bd0uduf2Z65OeEqtHfwDPNcVUy84ukc47sQaXj6ESfc0VPKi4JXJpqUvQ onmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:delivered-to; bh=qITpzMlyulSxfW28gOqD8EaAWmZ17M8LWriM3gyOPik=; fh=73ExZnkQ8FYbu/qeQNmI0dtHCfShNh8/NmZJs1umltM=; b=vytSkXgj0n8UJSE4ZFNfsHQ7zIl9qrwkbckikQFe58zO53KajM4Qg3MO7V1ltBgKVA FYmCrZgeBfFhCuCPIb0G+yWbwS2SCejaAPPMGb1igQkxx0Q8cy4psi4KRBD+5dLhJeMZ tRTfYtpDITOWWEeHc/KIzPQeatbGm/peiYsOfCU8jmeXJM3efgnk8Xh0wiuoMVLmou1e 8g5IggWLEuig/tRJ2cpcbKvfzUpUJo2Mwctv6VnqGFCDuDDldd4FrWZrui8S1anOTbbB OmWUylVnBaKB0zkRU/I+diWL/UuWTF+EJ61+uQpMit/fDB1CSJeu74Z1M4di1e30rYHA vqkQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a5a17b21a2fsi838741666b.476.2024.05.16.02.35.13; Thu, 16 May 2024 02:35:13 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E9D9868D5A4; Thu, 16 May 2024 12:34:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from b-painless.mh.aa.net.uk (b-painless.mh.aa.net.uk [81.187.30.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3BB3A68D47E for ; Thu, 16 May 2024 12:34:07 +0300 (EEST) Received: from 0.b.4.b.7.4.0.8.c.4.a.5.d.8.b.2.0.5.8.0.9.1.8.0.0.b.8.0.1.0.0.2.ip6.arpa ([2001:8b0:819:850:2b8d:5a4c:8047:b4b0] helo=andrews-2024-laptop.lan) by painless-b.tch.aa.net.uk with esmtp (Exim 4.96) (envelope-from ) id 1s7XV0-002QR7-1W; Thu, 16 May 2024 10:34:06 +0100 From: Andrew Sayers To: ffmpeg-devel@ffmpeg.org Date: Thu, 16 May 2024 10:33:38 +0100 Message-ID: <20240516093403.3763258-6-ffmpeg-devel@pileofstuff.org> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> References: <94b3be81-0777-fbc1-8ba8-a39a8f6397d4@passwd.hu> <20240516093403.3763258-1-ffmpeg-devel@pileofstuff.org> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v4 5/5] avformat/avformat: Document return codes for av_format_(de)init X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Andrew Sayers Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: Fo8J6661uUEA --- libavformat/avformat.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 8afdcd9fd0..f624fb1e2e 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -1944,12 +1944,16 @@ const char *avformat_license(void); * This function will be deprecated once support for older GnuTLS and * OpenSSL libraries is removed, and this function has no purpose * anymore. + * + * @return 0 for success or AVERROR code */ int avformat_network_init(void); /** * Undo the initialization done by avformat_network_init. Call it only * once for each time you called avformat_network_init. + * + * @return 0 for success or AVERROR code */ int avformat_network_deinit(void);