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 2187B40442 for ; Mon, 24 Jan 2022 14:48:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B0E2A68B0B4; Mon, 24 Jan 2022 16:47:10 +0200 (EET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2012.outbound.protection.outlook.com [40.92.89.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5C0AE68B0AA for ; Mon, 24 Jan 2022 16:47:07 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E2tsk7st2EdGc+Hos93mwUXzxxAU6U1o2hsuz7bZvMWZ90O01haMpd938jVfuIY3XLRMgyjpneiHkbY/G16CHOO3QEfP5WdqMQiqSIdAJMz2JJmnTWcxLgeZbUAM1JavtfDqWaBt4M+QvRVq0Bgih3s43tOJdPNdAxnDTc1P8XPSmI3J30DIR/aJh67tbSQEqDbDdQrmoM/jCw5HfBUMB5HiXQ28enC9HLXrtZ1qjkBsMASYOTy3FR5aqNwULkEec8/qw/3ZWAjyeQ9IyuNxMPXSD8uG+6WYBe/N5P9ZfXuEXBNhIbN1DgfOyDedMvczNf+5fOkeP7MuT/IRMdSW/g== 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=RoBYc0XydJ5KYIYG6ALUILMmFjxhyEqZR+pkURahIhE=; b=gvi8cD1PEsDzlC99FtQ0rZalfbfdgw2KG4gajolvuOEYVrGZbod0cCuVTV17DRPz5nj+uAL2Aj/oQ4HGNYZFGAU/ZWIBn38QfHfIKVlCcZQZwVbzUcQuISAByMYDfF5g+pp8Ek4hDOMnZSGIti737OjS5ezGy45AxwQkq/IW3/BZSmTDXoZmRfwXvWndLRQ00ZXxzBfRrRNn1p35RMmLgFSiCp+0OV/VTjLazmt/Eh9lQAT6CC5iB07M738A9GHaY/qiMA7a+j1C+gAtM8M2V3p/P5wGg/JTtm7ZeuAAjwQoVwCTcwBKIK8RUjxYLdqrvQYgBCv3rl1l4MZbKfr3dg== 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=RoBYc0XydJ5KYIYG6ALUILMmFjxhyEqZR+pkURahIhE=; b=Gmt+FGfY8f+waO0OuuvKYGs5jm5D6mpYk04mAmnsfBkxyFKlXlVTVLejBW9H/sFONAvdYyis9+Md8o0oepOK8S8rYIhSjqHQ4PNLd5zQ9qmTcod2snkdtIIMePGbxHc6rBYOFwNLZqyH1PZmRVF6I+P6dO5u3R7YedI+6OyLA0xHr47qxsWSDtljdopwNneQTOyqiIbK92Mvwo4eqhycqhEwcP71rlr/C7EYlK2SDubzkabj8EiiFJ/PHmSHGQpJ5nQqUVmj7hUcPSJGAvJq3ZyC3svLFMc0HVfObD7TmAxnlm+z8jUMd79Xgzxq0lARQ+QPnmIRQlK/Ud8b4wXVkQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by VI1PR03MB3088.eurprd03.prod.outlook.com (2603:10a6:802:2f::25) 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:47:04 +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:47:04 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 24 Jan 2022 15:45:55 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [sS3TaQyxfazU90Tsyqlx1mw8zUX6PqTI] 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-10-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4796139b-c51b-4b51-ee78-08d9df486348 X-MS-TrafficTypeDiagnostic: VI1PR03MB3088:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5czdxFUL/++yC/ivam/7jOJ9QHS6hKfCVHri+3wDdPC7pwPIR27DRBHWGRDKnECBNWIFWZYk2APhpKWLDouFIjr4Pbx7SluKs3ZRQMnr7U1CjVrFPcsUttoQQHD2enkTI3+WhyCnQBTbtZt3/aN43Tm8CZOX5+SqnplMWF4fA8AfF5qlIstGjYt9FEMmo48SDFqk+A+HQjtCSji59k4UMsUHk3p2+R69jRvVScFSovd1EWym/gJctpyKaZEygGsTfjBjX9tXQDKtZAZBc9TFThVOKlpYQvywoBxjlfrUv47Ob3CfFrCf8TZTZ9STd0E0fe/OkQ2b/QjoWWCIFxsyercsKFoUmh7CK/oaHJlbaacJggD+333KqbQz+xnMaHvoGYW4FLUuCjgx/JJ3Bh0m4KNoMuSfzsh6REhYc7e3gS7j40fp7EGzVS3jTflip3ssJ7aFH4l0coouZdAfmFchRUdUns/2aNYktwESc72UqoB3R0jqcgdBzgrqXHkpy79weYcg+7wsc6Cn0kxS0iJahcb67hAm8yitMxZjNuhbDcR08OSEtJb0XWfyhHQ1OPR8vfK8WtjPJewFEUTCfQU5fg== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?qMjERmsTTgAaViIjCwTngqcmTpSluJiFQGkw2dgG9k7Wn5et9QvHCtz8YiWI?= =?us-ascii?Q?XbCX3vKVdbKjlYnFFsYJw6G8fINbRcXAsqQPVda90wpnCe2KZ5RzSswvCH7n?= =?us-ascii?Q?zzb8SSaBXIBL/I0FLx13rI/IU87JqrOCSLxfS1bjNfRn9OrI8dmcgVh9B3Eb?= =?us-ascii?Q?0NFoOakflJEnf1oiucMnS8yS8glSoXLFDm5kpo0xZ1C1xM0GhRhF63WaZJcK?= =?us-ascii?Q?VFjN4bg98LZgY6qwOagnmhGRSmAbPoEBqIwzVIZxOO+mgFmlFwIkycZ3pSWm?= =?us-ascii?Q?NUPmULoYMsKT3t5ZIoqQP1Ov8y2FtmKP3R2yTz4GhVLA6GsDiZYze1b/przy?= =?us-ascii?Q?xK7FfLfFe8AznmR8AaTfoZx1gV3ANPqWx7tTAyS3QfyIgr4ErEwll+T45r4E?= =?us-ascii?Q?IUVMnTzaCg0tXzYAieMPISYit5KZ3gERVl9uDX/JQpDM7bxLJ/5bJteWukm2?= =?us-ascii?Q?6XC4zQIlUCxNLzRgvwLnaPHTmSvTr54eJ8P9zDBUmP6ivJ3cPbxzO8BtAAFV?= =?us-ascii?Q?LKa1syK4MUv0oWJI3SHnB2Fqs+15+aTN2cpa/0F/TWNXlof0mHOKIlrIEB4M?= =?us-ascii?Q?Wd593PkFYwOyUoTkANmR05ROfKFqwEoRt55eMiFDp8vOk5Liv88qoQr9L+37?= =?us-ascii?Q?oFrNXT8Q6wFE4z/f5trk2VuTOeqhU7PySQOX1mh9dR2kLAzerzj+NSEcd1fK?= =?us-ascii?Q?z3gGP/CHOzqYXGsjZIbik61q9+a6ul16JkXBgzBZ4me4JfGCgUzZLuHn2BwG?= =?us-ascii?Q?fUUIO+uk6JD7YCsAIbZ1l8ibzyUwqthj8KQA+1EC+djQRB782KvftTdDaGpG?= =?us-ascii?Q?3qjxQtAC8gY0Ke9X2wSUWR5Xo574YPZDyOnNQ4wOq6w+UqDfthNXNcTiwETF?= =?us-ascii?Q?oFD9ar+/qWYB4Isu7YO9GjIe1rBKeghEW2WI6KuwkERXTWBs+nqzwTsn4eJx?= =?us-ascii?Q?7iKFd0POLcPvEfuxZMA10Q=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4796139b-c51b-4b51-ee78-08d9df486348 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:47:04.8342 (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: VI1PR03MB3088 Subject: [FFmpeg-devel] [PATCH v2 10/31] lavc/libvorbisenc: 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 --- libavcodec/libvorbisenc.c | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/libavcodec/libvorbisenc.c b/libavcodec/libvorbisenc.c index fa0d5f4b42..b657f0157a 100644 --- a/libavcodec/libvorbisenc.c +++ b/libavcodec/libvorbisenc.c @@ -46,7 +46,7 @@ typedef struct LibvorbisEncContext { vorbis_info vi; /**< vorbis_info used during init */ vorbis_dsp_state vd; /**< DSP state used for analysis */ vorbis_block vb; /**< vorbis_block used for analysis */ - AVFifoBuffer *pkt_fifo; /**< output packet buffer */ + AVFifo *pkt_fifo; /**< output packet buffer */ int eof; /**< end-of-file flag */ int dsp_initialized; /**< vd has been initialized */ vorbis_comment vc; /**< VorbisComment info */ @@ -196,7 +196,7 @@ static av_cold int libvorbis_encode_close(AVCodecContext *avctx) vorbis_dsp_clear(&s->vd); vorbis_info_clear(&s->vi); - av_fifo_freep(&s->pkt_fifo); + av_fifo_freep2(&s->pkt_fifo); ff_af_queue_close(&s->afq); av_vorbis_parse_free(&s->vp); @@ -271,7 +271,7 @@ static av_cold int libvorbis_encode_init(AVCodecContext *avctx) avctx->frame_size = LIBVORBIS_FRAME_SIZE; ff_af_queue_init(avctx, &s->afq); - s->pkt_fifo = av_fifo_alloc(BUFFER_SIZE); + s->pkt_fifo = av_fifo_alloc2(BUFFER_SIZE, 1, 0); if (!s->pkt_fifo) { ret = AVERROR(ENOMEM); goto error; @@ -327,12 +327,12 @@ static int libvorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, /* add any available packets to the output packet buffer */ while ((ret = vorbis_bitrate_flushpacket(&s->vd, &op)) == 1) { - if (av_fifo_space(s->pkt_fifo) < sizeof(ogg_packet) + op.bytes) { + if (av_fifo_can_write(s->pkt_fifo) < sizeof(ogg_packet) + op.bytes) { av_log(avctx, AV_LOG_ERROR, "packet buffer is too small\n"); return AVERROR_BUG; } - av_fifo_generic_write(s->pkt_fifo, &op, sizeof(ogg_packet), NULL); - av_fifo_generic_write(s->pkt_fifo, op.packet, op.bytes, NULL); + av_fifo_write(s->pkt_fifo, &op, sizeof(ogg_packet)); + av_fifo_write(s->pkt_fifo, op.packet, op.bytes); } if (ret < 0) { av_log(avctx, AV_LOG_ERROR, "error getting available packets\n"); @@ -344,15 +344,13 @@ static int libvorbis_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, return vorbis_error_to_averror(ret); } - /* check for available packets */ - if (av_fifo_size(s->pkt_fifo) < sizeof(ogg_packet)) + /* Read an available packet if possible */ + if (av_fifo_read(s->pkt_fifo, &op, sizeof(ogg_packet)) < 0) return 0; - av_fifo_generic_read(s->pkt_fifo, &op, sizeof(ogg_packet), NULL); - if ((ret = ff_get_encode_buffer(avctx, avpkt, op.bytes, 0)) < 0) return ret; - av_fifo_generic_read(s->pkt_fifo, avpkt->data, op.bytes, NULL); + av_fifo_read(s->pkt_fifo, avpkt->data, op.bytes); avpkt->pts = ff_samples_to_time_base(avctx, op.granulepos); -- 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".