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 010CC43951 for ; Wed, 3 Aug 2022 18:47:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AEB2268B8B3; Wed, 3 Aug 2022 21:47:48 +0300 (EEST) Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-oln040092066032.outbound.protection.outlook.com [40.92.66.32]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 18E9868B889 for ; Wed, 3 Aug 2022 21:47:42 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MXAx/GXjWZw0ecN1uyoQ8Xm3XX3XK0JGHK1UyuIFU050TdWMt7u9QZCCM2MRSjdvQdbpm1KaZZg/oxizWXt1PrE3hAx9X+71FxfIl6UgXSsm+P0Ale7seSy6ZYFGmCm6veZqL3loE955Yq0rntrdAK20kxa1FTblx7Yc/aim4vgLBGHrNZjVOyutO7Ytgkaw5c8tXSgW5fexz6bnX0ONero9joPhVcbGrd6rfpNrO8FnNs25bZYM7MyawjeO1rYpuNDz5raOzDazD1PDiipTPUE1QgEocW4uwnzB5YCYjzYxjnlxMi4v6yJh3rPLo1Jo+Z32RQXwHiRIlj/pd5lqqg== 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=QSTZBqBpHVYFB9kpC+gyDoz2R2rmLOdeUxHQc7RwbNs=; b=cTFAcT5oiC9O69yRqdmmYkXuT7hfx4C8OOKtTDJXwuCFnoB+3StDH59ytuSdPnDNMDdGg8Ux3DZTAsvedPmmeKFIqC3JVPKwmcFpxPZyKN2kp78LF7aioDexOHOm9cfSND77aQB0tEuxqpZl2qCcMbQzkZm4nllJV16/e8QHcUvD+Ddo0zHZ7uT4qNubHdS+PP4fZv/EsSH/6Dwkex91xXbn87NN3gqLvVmVrN1UsGXyimKQSP1hjUTe//Ej6xsZZnFCGhiaqxcfkZ0JS3sxj6Z3ZAc2ZgivjSv9G6mOM6jyO/EqXqrAn2Jmgqlw7hHRk8STBn18I7MWpesiZawFYQ== 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=QSTZBqBpHVYFB9kpC+gyDoz2R2rmLOdeUxHQc7RwbNs=; b=s7bBmAljWlXzSYfnC9P1ytGcYiWab8SKprnU9SMI22v1GF7T/uHmRlcDEuccqipGJhtZzDfwcHzrQtKfKBK7AdJ1hRQXD6suut+n2uLl69DIaRt3/ftWTXtIMjcEeclE30aPbczuXPvWqA9kE+dmxSnLOxWIX4QziyKKjqyCXcy6YkgmRFPxTok81hQbMNQ1BeasKwb/IQdrRBETQdShjr/DDFlw4zYi/sdkjqwpkQMvw3F4NjRXhJoXENz9nVgnR1fOJTBbvjQiRLnt5BtwzWdVKx+rMI02QGvbqyeWBfC7mVkprJv3i0jHnIUoX+s+UefWf9bGANms90AQaRaYsg== Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) by DB7PR01MB4668.eurprd01.prod.exchangelabs.com (2603:10a6:10:6c::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5482.15; Wed, 3 Aug 2022 18:47:38 +0000 Received: from DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46]) by DB6PR0101MB2214.eurprd01.prod.exchangelabs.com ([fe80::210e:b627:bcc9:8c46%11]) with mapi id 15.20.5482.016; Wed, 3 Aug 2022 18:47:38 +0000 Message-ID: Date: Wed, 3 Aug 2022 20:47:36 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20220803135844.16662-1-anton@khirnov.net> <20220803135844.16662-19-anton@khirnov.net> From: Andreas Rheinhardt In-Reply-To: <20220803135844.16662-19-anton@khirnov.net> X-TMN: [SdixZNG/vtlqH/wd7CZy5JOxGkdtPb49] X-ClientProxiedBy: ZR0P278CA0116.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:20::13) To DB6PR0101MB2214.eurprd01.prod.exchangelabs.com (2603:10a6:4:42::27) X-Microsoft-Original-Message-ID: <3e5f7fbc-0dc8-a214-9b50-3fbc19ae2b8b@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 1e6c73c3-f3f1-4962-cf6d-08da7580a306 X-MS-TrafficTypeDiagnostic: DB7PR01MB4668:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: oc8yM/jNUWOpkpzrxW+Z8t22W2A+EyIa8GvdiiUZuDh19tc+IhlFu2G6TY5amnWPtE0EsTfekdPcskyzaqFn6iucK41NdmUOa7+gXddvBF+qzp2rGq5hcZdU07HxcSQyzv4PuEef/oCDU/l3blRsuTfF0Rcp/rZOqClIoaBiKq4JyB46yarzOQSlKWgQYzYJq5HringHz8I36WPKsU19VZUFWVE0L1Rw7JReEQZH76al6f2bUfH0WWtRluI2TyKHfG9g2xeeH9K+pn0qGuIRnZo9F67rLZb6dj4+2dJo2SdmcgVwtZ2eYLd/bNXYI3vcORxclpyzg1m27FCUvkjgkoYLaXXWygj3FtLaLJlpJ5N1Lco6NG+GEj/6FA6v8RBRVz8mgib9wJ3DVl+PpG/AOZFsHPYfLWiy774ROOxh3zD0MBIBRRFE+rWo5dgSW63Mn2MQRQCJNxg58Ey0EAWfD2phUgMJnAKg5J3FzNKWf1QrmZYKmIzvLML6t+SQ25PZyggPRJqWhq7gydK8b201UVGOnt3+c7HU777xjbld6aYweMIVBkrgn9mdPlZs7XPrzLCXVgRqQUIX//cy/Ofhde58HRBiAiG4FYik57shtoas4FlPfjjclv7L9hE234fP/tLhEOHORcDehmxmnmwPAZmzWlELCc0S4ROCV+A3I+3CbNr/SZVDXpZNdn/T4aCd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Ny9zbW0xZ0o0aEtoNXFTVFFjZnpxUjFId25vRThQNW5DYzZGM3Y2amplbC9J?= =?utf-8?B?N2pMOXJGUjFNWTdEbktxUnFpeG5nOUJaRUF0eHVKbUFGWVFlVjhzV0hZTUNt?= =?utf-8?B?YUZMWlpWanNSTXQ5QS9BbENEeW1va0ZVbTVIcy9aWFVKN2l1cjREOTFwM0Z1?= =?utf-8?B?THV5MmxsWlFlRVEvdy9pQzgzREZxWHk5MUk4ekJoUlpQU1J1clY4Z1R2bkZM?= =?utf-8?B?M2NMd2k1S05nTDN6b05uSExWcUExNHJuQWNaWlBWZS9DNi80WnZuK0hzMTBK?= =?utf-8?B?NEw4VWlnYUdZT1NkRDEwRjZkVy85ajVjT042SlZ4M05UK2VZdEJKZi9ZMlk0?= =?utf-8?B?blROMUw5MHo3Zzc0WE5pdWIvUEl0dnNnRGdkMHhzWEdxSmtyNVBIeFU0S3dQ?= =?utf-8?B?NjRXbE4wbHhBUURvSGZOWlhmUnVqRFUwSmsyYmxkTzVUbC9aRm53aExvSVpW?= =?utf-8?B?RVBnQ3o3MEMrQzdjbWJtaGJXRjJZNzhoMUY1WkExbDBiUkE0SDBKWXRkUWZv?= =?utf-8?B?a0tzMU9BMlUwc1Exb2Z0TDFoZnNOVXFFS3pHUWRSL2tHWXJEMzNvdUZNbFl6?= =?utf-8?B?c0p1cXgydGhqSHdjalpJR1ZVby83RjBseGlkQkZUVWo0SWZUaUNJMUVDaWhs?= =?utf-8?B?ajN3Y05TYWljVWNMd2R6SkZpRjBSS2J6UWdZM2pwU0hUck9zTlhwMy90MXdt?= =?utf-8?B?Z2NUMzlZYm84Mno3Tlc3NTArZkhWMTEzdjEwYVo5VTNWR1YvQ0tTNnptQ2hy?= =?utf-8?B?SFNFUHdUR2o1elR3NXFkYnhpSHFWYXBSaTJXemV3WDEzdFN2VExYT2pDNTVQ?= =?utf-8?B?VjM4a3I3blFxUFRBWVIvTm9IMU9QZ1BZdnBtZFVMTnkxNWt4c0ZzR0dMNXdr?= =?utf-8?B?QlJDZEhYSTQ4NFVZMVpQakYwbDlQaXArU0VDNlVGRnlKUUNpRHNiZmxBNStH?= =?utf-8?B?U0xGU28rdUQ5cENlcThzc2UydFVkb3NpdlJ1aXpQWmw3a1JpbG5MQ04wL2JD?= =?utf-8?B?SXQ5c2VhMm9OTDllTkl0Z1NYRWNiSmMrdUFBdTFCQUQ0dUlvZVFSUWVBOW9v?= =?utf-8?B?c2hudUs0MFE0RVYxa2R4dGNQdWN3TEpjazhTN1hnSUt4SEVzWEZ0Skh3WEpi?= =?utf-8?B?M0hkRnRZbUVJTkllK0xPc0ZtK2dVdzhrMmJJTGY0UHNKMS9meWt2Q0JMNm1Y?= =?utf-8?B?Y0l6bGhBQktCVGRQcEw1K09XaGMvNDBSY2xhVTREV3llRDJDbTZuT0xyOHJw?= =?utf-8?B?ZTVISWxLZytWNGNXMG1XSHpvOTdmeEY5QVpVWktxL1Nrb2d1VUgyODNORzFi?= =?utf-8?B?c0NVdEJqYlJnWXJvMThCMjdDRWNsVnoyaUhHMzE2QUhjVHpsN2xFK2VUdk9W?= =?utf-8?B?RHg0Y1ZTODFyblk5cndsd3crdWl5YjhXdThCRTBNcTFnTHQ0MVpqbzdYc0kz?= =?utf-8?B?cE9BR1Zzay90aXJFN3doYTFIU1Bjb0Q3WUpKVDl2L3JmOHgraGVialRCZVd0?= =?utf-8?B?T0NtQnVRQThOeW00L3huS2VIT2lFMDFVOUJ0a2hKeFZGNGxKMWUrREFZbmJW?= =?utf-8?B?L2tLRWZFR29Mend5MnduZW1vSE9ybFIxRnR6c3VvVk91b0NaaFZQeld0Vjho?= =?utf-8?B?dCtMQU1KUWd1SmdrdnZkRDRXS29pclhrVjYzVis1bG9KaXhzS0U4NFlmbzEy?= =?utf-8?B?VTlzcmJkOGRIWXRETENEMkVlOUtueUEydEEwNmd0Wm1CSktZNlIwMzdmVkFC?= =?utf-8?Q?OUrTPW5jwmk7jHzZb0=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e6c73c3-f3f1-4962-cf6d-08da7580a306 X-MS-Exchange-CrossTenant-AuthSource: DB6PR0101MB2214.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Aug 2022 18:47:38.1961 (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: DB7PR01MB4668 Subject: Re: [FFmpeg-devel] [PATCH 19/25] fftools/ffmpeg: report new streams from the input thread 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: > This avoids a potential race with the demuxer adding new streams. It is > also more efficient, since we no longer do inter-thread transfers of > packets that will be just discarded. > --- > fftools/ffmpeg.c | 22 ---------------------- > fftools/ffmpeg_demux.c | 23 +++++++++++++++++++++++ > 2 files changed, 23 insertions(+), 22 deletions(-) > > diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c > index 1393ca9c1e..37f52f0208 100644 > --- a/fftools/ffmpeg.c > +++ b/fftools/ffmpeg.c > @@ -3277,21 +3277,6 @@ static int init_output_stream(OutputStream *ost, AVFrame *frame, > return ret; > } > > -static void report_new_stream(int input_index, AVPacket *pkt) > -{ > - InputFile *file = input_files[input_index]; > - AVStream *st = file->ctx->streams[pkt->stream_index]; > - > - if (pkt->stream_index < file->nb_streams_warn) > - return; > - av_log(file->ctx, AV_LOG_WARNING, > - "New %s stream %d:%d at pos:%"PRId64" and DTS:%ss\n", > - av_get_media_type_string(st->codecpar->codec_type), > - input_index, pkt->stream_index, > - pkt->pos, av_ts2timestr(pkt->dts, &st->time_base)); > - file->nb_streams_warn = pkt->stream_index + 1; > -} > - > static int transcode_init(void) > { > int ret = 0, i, j, k; > @@ -3831,13 +3816,6 @@ static int process_input(int file_index) > > reset_eagain(); > > - /* the following test is needed in case new streams appear > - dynamically in stream : we ignore them */ > - if (pkt->stream_index >= ifile->nb_streams) { > - report_new_stream(file_index, pkt); > - goto discard_packet; > - } > - > ist = input_streams[ifile->ist_index + pkt->stream_index]; > > ist->data_size += pkt->size; > diff --git a/fftools/ffmpeg_demux.c b/fftools/ffmpeg_demux.c > index f9bd6d47fe..66cb6ebd5f 100644 > --- a/fftools/ffmpeg_demux.c > +++ b/fftools/ffmpeg_demux.c > @@ -20,6 +20,7 @@ > > #include "libavutil/error.h" > #include "libavutil/time.h" > +#include "libavutil/timestamp.h" > #include "libavutil/thread.h" > #include "libavutil/threadmessage.h" > > @@ -27,6 +28,20 @@ > > #include "libavformat/avformat.h" > > +static void report_new_stream(InputFile *file, AVPacket *pkt) > +{ > + AVStream *st = file->ctx->streams[pkt->stream_index]; Missing const on st and pkt. > + > + if (pkt->stream_index < file->nb_streams_warn) > + return; > + av_log(file->ctx, AV_LOG_WARNING, > + "New %s stream %d:%d at pos:%"PRId64" and DTS:%ss\n", > + av_get_media_type_string(st->codecpar->codec_type), > + file->index, pkt->stream_index, > + pkt->pos, av_ts2timestr(pkt->dts, &st->time_base)); > + file->nb_streams_warn = pkt->stream_index + 1; > +} > + > static void *input_thread(void *arg) > { > InputFile *f = arg; > @@ -51,6 +66,14 @@ static void *input_thread(void *arg) > f->ctx->streams[pkt->stream_index]); > } > > + /* the following test is needed in case new streams appear > + dynamically in stream : we ignore them */ > + if (pkt->stream_index >= f->nb_streams) { > + report_new_stream(f, pkt); > + av_packet_unref(pkt); > + continue; > + } > + > queue_pkt = av_packet_alloc(); > if (!queue_pkt) { > av_packet_unref(pkt); _______________________________________________ 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".