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 8265C430A6 for ; Thu, 13 Jan 2022 18:46:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0372768B596; Thu, 13 Jan 2022 20:45:59 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073030.outbound.protection.outlook.com [40.92.73.30]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9AEBE68B562 for ; Thu, 13 Jan 2022 20:45:52 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B8qIWkGJEenzSxwPbgatbmjVQBmsPyYqBhl7lX2ObhfQkzXcWMrl6EBLBUN2WbYRBeAkoOUXxmzaFuAuV5CzL8VeahZQoVaBeFrlnY53AgTAd1EZa6jn1F3Z7KCkrJdWdSqDINKmGgIxspXQQKK7bWTOW40yxc4QZ/3kYO6fzdGt4b+vupRqXH+TAfaI0PmJKAzZLCa2XhljMF/n4pqeYZ7gL4Wy6hfzb2rFONZZspBSeFXFhaUnVtFiAoOcJ8YDGENv7sNU4EfUpTF5whX5hn87ann0/2RD/Zt3hMkjjK0SJv75BYqJIo8khXPXpGOuQUgDmFJFDT119z32qOQW1A== 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=u6WMtuEdu6qiM+DKA4qsLRehdrufIjUrlI/xyNHReVw=; b=WEvjujEsfx/iTqKTRum+w4qiUwX3N7kRyrAmp6M1q9ESfPXCFFIU8olXuBpaCdzUsH237i7ig4OqRJbAHRITEoJ0PPihg9D4FIny/mwNHkJ6Y8iVjqb63IidaT43Dl7YofCpEyvD4VJJZ/RlfYud2t5v03F9kNan9j8YfUrbrNMDNfyv9sD3IgOuwbvGBwyQDaFFUMLgg+KsDs7YvxpewPx+yOrha+5MHs/xLI9EX/QWhV/fdcnlwSmHCS0wjtCHZZszqi0aXY5QN5XD/F0H6YfngAD50zGUIsBYQ0Q4D6ItcitrbDurNDyaiIINovtaJQDliaxn6rUXWBAzpF+Jcw== 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=u6WMtuEdu6qiM+DKA4qsLRehdrufIjUrlI/xyNHReVw=; b=KbOBLFEJ8Mscom9LhG3gFxOvrfQj/CaZ4MPg0U9p+XokwNvrDhPI+Oh4Ych09D48msgHhtbXs9h2Tmzc7VaqRyq/rLhcwL42DwxkYfJxkgQHK4z3H4T2mGuYV1ChJ0qPRS3VOBVyPBPkQbBvjI1DiL6Bh2YTCSnHVCmaC3ar5hIuOo0v09vKWnBGo41arVtbY6cGtYpDgMmky2FK7dOiDIl/7SlFgH3qv+tgyaUGq4vN2jVUPeA/Q5jcadO5vwjizC6WhGFGnO0ZThfk7cGtrjHudlAt/WWW/8Bv9MTur988Ebbst7x5/vlom+NWNUrTNlQnfyQeJdw9yqtP6qNNmA== Received: from PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) by DU2PR03MB7894.eurprd03.prod.outlook.com (2603:10a6:10:2d5::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4888.9; Thu, 13 Jan 2022 18:45:51 +0000 Received: from PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::bd94:8238:bf7f:ca2]) by PR3PR03MB6665.eurprd03.prod.outlook.com ([fe80::bd94:8238:bf7f:ca2%5]) with mapi id 15.20.4888.011; Thu, 13 Jan 2022 18:45:51 +0000 Message-ID: Date: Thu, 13 Jan 2022 19:45:49 +0100 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220111204610.14262-1-anton@khirnov.net> <20220111204610.14262-26-anton@khirnov.net> From: Andreas Rheinhardt In-Reply-To: <20220111204610.14262-26-anton@khirnov.net> X-TMN: [WMKHMM0ykQ6+q/Sb0Fbkhw8bgf6sjG5D] X-ClientProxiedBy: AM5PR0701CA0054.eurprd07.prod.outlook.com (2603:10a6:203:2::16) To PR3PR03MB6665.eurprd03.prod.outlook.com (2603:10a6:102:7d::6) X-Microsoft-Original-Message-ID: <3ee50449-2cfb-34a7-3522-8bce8c15b0cf@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6d64aa96-9d7a-4b86-3ff5-08d9d6c4ec09 X-MS-TrafficTypeDiagnostic: DU2PR03MB7894:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MYgSxVhQNLj4521JCOsgaV1f7pLuNk2XQRAGjUc05lPlBmV9u+9lN4xkICR0XI4rJXrcANzto2AZrtyF0z3MQp1OIufS4V+DX5fI38O8S7iYNsrD5M/l5iRfJUrLfj0aHyRi0Cp1QwWjfLfb74pZRmlkzy2dKotM78ryO6kThYjtOwZ2CBkzW1nAwxPjrsP5yMKzzEq/e3QFQCedBw2DQP40W6nEGOH3hexLUMBkWEckHknYa8w9wt7jn7rsybBEuLFYrdK3JF1aQrVL+mKP1wlzKr5CvqEsjtFLUsJ3IM7WXmIVel/Yh9CK82v93K5u2ZpBka7T0I9HLfB0yNoslt1eoP44h+jpMO6ME18cNQjWfYgA4mja15P6b6tq3Tf55lBmF744fUdNQoS+Ke9P8UnOcM1kZyipMRIJrDbFQANHSwwOhowLkXFXu7tJZ5n2JMBnTmuCezXIxyBqYkKyXge0CjMmg9sb+sw7fYboqyrNRcDS8fdQgdVwNMzH/JrtfbAlUrZoMjZ2it9Y1WVlyJOHUEywie/2ZeGcehipzgX4a6uKUsrt4wUwBppnWm0wtlaba9Wv1eTorJBgqn6W9A== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K2hvUGhGMGxKUitCTURJRG5EYmhGR1JFUm5KbW9jSzBIeisrbjZIQ0h0eWVu?= =?utf-8?B?d0h3TjJqanNOWmszbWVMNDlnTTl4S2owUWY5OVdRSit6QkN6ZGdIMzJ6RzRQ?= =?utf-8?B?WGJEYzhpQTlEUjVVYUszTm9kcjBCZkdRMFdHQ1o0SnlHM3Nmb2p6NUV0QWFL?= =?utf-8?B?Ri9nZ3E3bDZUNmRvdkl0THJWT0UwVWVXbEpWN1dodWJQRys3dWhoVTdNamlC?= =?utf-8?B?RldySk8rY2xmcFRzQWFCU3VVOWt4RE5xTWV5aEhNT1djMmo2K0xSYzZ2UVI4?= =?utf-8?B?a0pPUXhuaHhWM3d0azI1VGg4TzkwT0hxOVR6VTU3a2tUVk9NYmNockk2UnpW?= =?utf-8?B?ck1qanpwdFVwam9ZdU9qaEg3azh4eW80MllhMzFJM0ZCUElRRGgxNk80R1Bq?= =?utf-8?B?QkJjZm1XcndqblBNa1kya1Q2MG9SS3p2YjJxQW03MzB1cXdZRHRhR3pQdkNS?= =?utf-8?B?Sjl5dDRmU3g4WlU0Tmw0OHczMlVwOUU0d21FZHdBMnJyYnBNbWtFNWVKK1lZ?= =?utf-8?B?azEwWU14MkJkMzg4ZEJ3NTNYMGxpSS8yeDNicVZBY01BWUxNQVFNWW9yQWtG?= =?utf-8?B?ek03K2k4NmFiaGZ1TzQwa3VnZlNTa3Bldkw5Z0kwWkdKMUFFV0IvNEJYeHQ1?= =?utf-8?B?NXEraUFhN3hJWlFnWjBwWkEvOS9wYndqZ2dPaHNZSXd3c3N2VGQwdzV2U2xX?= =?utf-8?B?WFFVZjUwUUw3UmtGUUpkakFjbzVXQzJwNWpodkZ5SjBEOE12V2ZmVFcxb0pS?= =?utf-8?B?MG91aWtjN2NyUEFLc3dGbVZzWDh2ZHNvbnp5SWpLSi84RkQ4TUZNWDhuTUJt?= =?utf-8?B?VkJadVYvdTJvOVNzNHpqOURQbEVQeTNFb1FaR04wamx3dUEzQWFJdlpmV21C?= =?utf-8?B?TTRHd2xJQUJTUGtQSzJSUEYwQ2JES0ljbXNnSDFDZlpVb0R6WG9yZ2kwM2p5?= =?utf-8?B?M3MzdmdhcUhiMTJiWXhWMU9pOTg3YXBLWHAxRGI0T3ZhRHFrSklRZ2FTTmFU?= =?utf-8?B?UlpHYU9uQm9ndDdKRjBrMk10MG1oN3BWY3ZJcEtnVGpCekdaUnFwakkzOG9L?= =?utf-8?B?UzFyRytSQytxNFRqUzNaeXNzQ0JEN1p6ckVlZlZIQ1BQZFp4WGR5Y1UvOE5r?= =?utf-8?B?ZDkzUkprM1FPb2ZOTE45a0g4YS9mcVJHT20xbk1aRkkvLzNid3BSYkRpNUZq?= =?utf-8?B?TTI0NFlqbkxZd0VwaHNlVjl2UkhMaEkwZVhyZUNvcGpUUHBCOGszUEdMLzY5?= =?utf-8?B?aXR5R2htWmpqcWRha3U2Vis0N2RLcFQ2TkhjY1cwQmxwZkJ2UT09?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6d64aa96-9d7a-4b86-3ff5-08d9d6c4ec09 X-MS-Exchange-CrossTenant-AuthSource: PR3PR03MB6665.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jan 2022 18:45:51.3317 (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: DU2PR03MB7894 Subject: Re: [FFmpeg-devel] [PATCH 26/35] 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 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: Anton Khirnov: > --- > libavformat/udp.c | 28 ++++++++++++++-------------- > 1 file changed, 14 insertions(+), 14 deletions(-) > > diff --git a/libavformat/udp.c b/libavformat/udp.c > index 83c042d079..4c8f104d9d 100644 > --- a/libavformat/udp.c > +++ b/libavformat/udp.c > @@ -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); len should be made size_t (although the values always fit into an int). > > 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; > @@ -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, (uint8_t *)buf, size); /* the data */ The cast can now be dropped. > pthread_cond_signal(&s->cond); > pthread_mutex_unlock(&s->mutex); > return size; > _______________________________________________ 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".