From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id EAD7C40458 for ; Mon, 24 Jan 2022 14:50:08 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 44E9368B160; Mon, 24 Jan 2022 16:48:19 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2071.outbound.protection.outlook.com [40.92.90.71]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E337468B08E for ; Mon, 24 Jan 2022 16:48:17 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fhHwzmdoJ42ACUckzfixexu12JkdkS/F63+/ONswuF4i5Tl6U67PI1L/+8OMNH1HzF2PvFSp39sCZHZDy9QNyBuKfmOvtaJ570xdcI2AJsxs8C/oa05MLPg2hI6QoQwOQ/Ug+ZoRURWlOJEFE9ACrIaDm4Tom0dhkIKoC32r5QvKApYA8Kb7Y42x4Xjcm7iW6cpFt6cOMIVXzXvP7Eu/IdRLcWazl8EmFPq7ZOCTXErez6sPHNf77Mh3OQmDFyg/B7Q4YtTaCjp9eJgUBjuqG0gn/zZjjDYwFwX75DzP4FrJfVuUYsNheAu2Bom/yTRqsn1P8Sn7JWyfLEqyfk6JJw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=dY55ZCWXjH5/lwmqivFgj0thacWstdMsr9Th5t5yHT8=; b=fT0tavlIC87Sacb1wYyVhjI9P4DCwB6Fg6I5jKEWfYfjgg3WzARMZdZ5/djTc5KxDXaovclcouX5Dn7AgbsTfy7WoDri9ZbE6klIT8JJ93eXvUhh+/fsPJpdC61bPtE8pvvUzvbYl6WRBIQaoiAyZCTuZEyHDHKFAceEOF8etXG6upjDKMFv3nd5Nh+JLJchx2JrkmOmXCsTrgCB0+RrSUr0Ipb6ReTg6J9w3rytxPjSpmprWITuNLob+bwCjZon3QxWX57CtRef+WdXPv87Y/pnO8L5UgayNjomKAOcSqaciD2MLjMkTpDcIk4mDE97oyKahr2pH1EeiMNtIG4yNg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dY55ZCWXjH5/lwmqivFgj0thacWstdMsr9Th5t5yHT8=; b=n9XfTUVBf+9U9qSU7Nux2bI6iBcP/aRF41ZldU42vVy1gJ9TwspHUBsdP92h2RUBt1R/oKsL6XYxzGh2iNriSQdvqqV7pIUGIfxOmP4lI2NTdHShYSI0iVc4et+ZzP7b9SmU745wzR3bQj2M9EwHSVIJz2KZBuubAnHsJQAIWaKRFOn53qPN6W+cwESdvXyhtEPBd10a/HC7g/E2Uh7Sffd7tAiNIPjybY4YW0L1l99FoOD8yKLvaGt4hoHX79LRPGWEDQpC1n4xiv0tMhyF8dE3zhkW61vKtibJ1F9MrujtwDzgbXf1IGwpDlJ8sgZqdAX1qTkZ7BNFuoKoTie7GA== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB5236.eurprd03.prod.outlook.com (2603:10a6:20b:c4::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4909.17; Mon, 24 Jan 2022 14:48:16 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::ac56:2ff4:d304:ab22%4]) with mapi id 15.20.4909.017; Mon, 24 Jan 2022 14:48:16 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jan 2022 15:46:06 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [8d1Liy6eO9Z2aV+HcSVmPL1P8AoGQSbS] X-ClientProxiedBy: AM5PR0201CA0016.eurprd02.prod.outlook.com (2603:10a6:203:3d::26) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220124144616.559446-21-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b2273e3c-eb79-4edb-4a91-08d9df488de9 X-MS-TrafficTypeDiagnostic: AM6PR03MB5236:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ei/iQTa9SoixF1DJo70YQl5eSf5a/wBYSt+og6+nzzP0mbvsmrQ8iKkuijouL5bDVek+OSz9ef3ncO+YUhUpCgNDtP3JEnhwa0vNItsbc3QctactI77DJFP97wub9+tUgRer1TTwX3Jeruxxdq6CJnAwfwBKsejf54EMtfYQguVb8IHT6iOYpWX3YOLoOOgdZJGhF0t/OdaV+LOsP/F6weIW/4fXNkXqFuTmliRTxeaowZPqVlwWugpX7qawz8ZEFg6O8A0xRWxyQDpJSnucgmwK6Zmr/qv/7aWqTUS3aG3n5fxO4D/p2NSQQC9fO0npnswWBhhZQxh7c9NAe6z4UTCm2nUd98NoJT9tr3BbIWNY6n22kOIEWvIdTnm0LYFFxnuCCvd2O0a9N0//ugkqjpxmsZ5+LSMniP2kyilBfCrlWMYCgbwE6HYMFYUYOZ17hN5UCozXkGeYVWxpByL+40BbAnW3hy2eE/Ii7vLUSMQO86/qVeZ24RLSmJIDFcJ3ys9xuvIb1NuYmgYtwz4TmWEhkHAPEy7MUTLzqZLNSkRfrhpjgWzOLgCvd/9dmKu3Qk/JwYlv1GoByj1toIQgeA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?aGPaDZVBL24BOSTqdQE3xUVVNPg5yKzoDqYEotbGGNXBtAxqpkfRFVCCHakU?= =?us-ascii?Q?/iHUsO3AAm/1I0aKPV0cEbdJlH+vquTAs4Kr8z/eWenrOY5p9lEpVcjvfdh8?= =?us-ascii?Q?mVe4BMQRDXm3LEpuH7imrPzbEnk8ZLzDxDn72IpIVdljjtbF34s4fmiIIZQI?= =?us-ascii?Q?WYhOAPqjB+NCpjbN70defvbkVGG0gWZ6t3FzhUWSodZKp0ksahf+aTW+Hw0N?= =?us-ascii?Q?phje/RVW0/hJCZGStc/d2NHx2YFSiMnP6RqXizcxWjZbPdrTPDOd1qp/4z97?= =?us-ascii?Q?g99NasprsP9HTDgt9mxxt/z3H+d0MhkRoNDFKEGv69bYXdKyrPf9GPUHPM3k?= =?us-ascii?Q?QGsmO1HYqAtJmRxnToAVeyIksIcn4jSvXNufs7YlriBt1RCLCbXoZNlVeK6y?= =?us-ascii?Q?EY9AzqAYCV0D+bho+AjKqs5lEF56SieSRsBvCjMjy8L/YxnK4FZl7P/sSXYM?= =?us-ascii?Q?NBBCnnroxPcOuXsLKNk5QVC25g6KBf/E4zS4A9ResJshq6EHc+lMD7YWRUKx?= =?us-ascii?Q?l7qwothu/nVHOagMXmgWUpkd6FXIQnU9NrWIIwwvbIksL2howOFGcnRirJmD?= =?us-ascii?Q?Fdfp+k0bbSFQid8OlX4KRU9rioyFCYgTUH5O7gr/h7sbWKK53aRV5uWyAG2s?= =?us-ascii?Q?y74vUWKA+HyAnhezkk0L83N3jPg1oZKVeX2z7ZRsRhAq+YP3we3c6IFw/EpS?= =?us-ascii?Q?CdEZYnysN/c30kW2K75dIvycgjN39ts5SIn2wnhz3v42eCcGH+nhnKRX5GY3?= =?us-ascii?Q?wWvl3X/bMq4YCIJHd8qBGFmYKZwM7KmVEClHRRx0PwmH9MT7eY4xVCsEOvpL?= =?us-ascii?Q?fgi6EbpHRakxfLim34i4wOWYOpMpSuw5H/AdK669kkzBDuQzIi6kPUu2d2u5?= =?us-ascii?Q?Mz/3CmgknApm6sH/2Seq8SQdPjTT/8epfJZcfB7OCHaaRU/y4FGtiXfOQk5n?= =?us-ascii?Q?kYP00LVsAJBwy1cW87aqmw=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2273e3c-eb79-4edb-4a91-08d9df488de9 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2022 14:48:16.3182 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR03MB5236 Subject: [FFmpeg-devel] [PATCH v2 21/31] lavf/udp: switch to new FIFO API 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: Anton Khirnov Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Anton Khirnov --- libavformat/udp.c | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/libavformat/udp.c b/libavformat/udp.c index 83c042d079..1737aee1c2 100644 --- a/libavformat/udp.c +++ b/libavformat/udp.c @@ -98,7 +98,7 @@ typedef struct UDPContext { /* Circular Buffer variables for use in UDP receive code */ int circular_buffer_size; - AVFifoBuffer *fifo; + AVFifo *fifo; int circular_buffer_error; int64_t bitrate; /* number of bits to send per second */ int64_t burst_bits; @@ -500,7 +500,7 @@ static void *circular_buffer_task_rx( void *_URLContext) continue; AV_WL32(s->tmp, len); - if(av_fifo_space(s->fifo) < len + 4) { + if (av_fifo_can_write(s->fifo) < len + 4) { /* No Space left */ if (s->overrun_nonfatal) { av_log(h, AV_LOG_WARNING, "Circular buffer overrun. " @@ -514,7 +514,7 @@ static void *circular_buffer_task_rx( void *_URLContext) goto end; } } - av_fifo_generic_write(s->fifo, s->tmp, len+4, NULL); + av_fifo_write(s->fifo, s->tmp, len + 4); pthread_cond_signal(&s->cond); } @@ -548,22 +548,22 @@ static void *circular_buffer_task_tx( void *_URLContext) uint8_t tmp[4]; int64_t timestamp; - len = av_fifo_size(s->fifo); + len = av_fifo_can_read(s->fifo); while (len<4) { if (s->close_req) goto end; pthread_cond_wait(&s->cond, &s->mutex); - len = av_fifo_size(s->fifo); + len = av_fifo_can_read(s->fifo); } - av_fifo_generic_read(s->fifo, tmp, 4, NULL); + av_fifo_read(s->fifo, tmp, 4); len = AV_RL32(tmp); av_assert0(len >= 0); av_assert0(len <= sizeof(s->tmp)); - av_fifo_generic_read(s->fifo, s->tmp, len, NULL); + av_fifo_read(s->fifo, s->tmp, len); pthread_mutex_unlock(&s->mutex); @@ -906,7 +906,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) if ((!is_output && s->circular_buffer_size) || (is_output && s->bitrate && s->circular_buffer_size)) { /* start the task going */ - s->fifo = av_fifo_alloc(s->circular_buffer_size); + s->fifo = av_fifo_alloc2(s->circular_buffer_size, 1, 0); if (!s->fifo) { ret = AVERROR(ENOMEM); goto fail; @@ -943,7 +943,7 @@ static int udp_open(URLContext *h, const char *uri, int flags) fail: if (udp_fd >= 0) closesocket(udp_fd); - av_fifo_freep(&s->fifo); + av_fifo_freep2(&s->fifo); ff_ip_reset_filters(&s->filters); return ret; } @@ -970,19 +970,19 @@ static int udp_read(URLContext *h, uint8_t *buf, int size) if (s->fifo) { pthread_mutex_lock(&s->mutex); do { - avail = av_fifo_size(s->fifo); + avail = av_fifo_can_read(s->fifo); if (avail) { // >=size) { uint8_t tmp[4]; - av_fifo_generic_read(s->fifo, tmp, 4, NULL); + av_fifo_read(s->fifo, tmp, 4); avail = AV_RL32(tmp); if(avail > size){ av_log(h, AV_LOG_WARNING, "Part of datagram lost due to insufficient buffer size\n"); avail = size; } - av_fifo_generic_read(s->fifo, buf, avail, NULL); - av_fifo_drain(s->fifo, AV_RL32(tmp) - avail); + av_fifo_read(s->fifo, buf, avail); + av_fifo_drain2(s->fifo, AV_RL32(tmp) - avail); pthread_mutex_unlock(&s->mutex); return avail; } else if(s->circular_buffer_error){ @@ -1043,14 +1043,14 @@ static int udp_write(URLContext *h, const uint8_t *buf, int size) return err; } - if(av_fifo_space(s->fifo) < size + 4) { + if (av_fifo_can_write(s->fifo) < size + 4) { /* What about a partial packet tx ? */ pthread_mutex_unlock(&s->mutex); return AVERROR(ENOMEM); } AV_WL32(tmp, size); - av_fifo_generic_write(s->fifo, tmp, 4, NULL); /* size of packet */ - av_fifo_generic_write(s->fifo, (uint8_t *)buf, size, NULL); /* the data */ + av_fifo_write(s->fifo, tmp, 4); /* size of packet */ + av_fifo_write(s->fifo, buf, size); /* the data */ pthread_cond_signal(&s->cond); pthread_mutex_unlock(&s->mutex); return size; @@ -1112,7 +1112,7 @@ static int udp_close(URLContext *h) } #endif closesocket(s->udp_fd); - av_fifo_freep(&s->fifo); + av_fifo_freep2(&s->fifo); ff_ip_reset_filters(&s->filters); return 0; } -- 2.32.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-request@ffmpeg.org with subject "unsubscribe".