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 3978E405D0 for ; Wed, 20 Mar 2024 02:14:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5426268D498; Wed, 20 Mar 2024 04:14:15 +0200 (EET) Received: from EUR03-AM7-obe.outbound.protection.outlook.com (mail-am7eur03olkn2037.outbound.protection.outlook.com [40.92.59.37]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C707268D464 for ; Wed, 20 Mar 2024 04:14:08 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PO30BGqxcv9yO/wDoQObFNksvl0ItGkafSXWgpeZK2QsCAukZi0Qg8e8Ia6QN0VdV2/ny6pqsmcD8yWAGN8j956n6Mr5CW51nk10ENoqfO7KJPIfLZiw2YDp/NF0VgeHZzoPjmvaWKWwEUMJ3gedDyKOB1T8jK67w2wSKlYIQQVWnZRMsw2jwsKvrDWZdmVrQMPWDXJJ8ILlL++Qn3ExDr8qfjAstNg41mFfhIfmy0x7dczHwJxAQA3Rpe78dX43dg1sTg5hK1W2laZVBLtkw/CDf/wANqzijCShSNZf9W7K19w+9gRsK1M7PfsHTukxQl8RMSwF6UT7gTcRR9w2iA== 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=d962hRGydD8JVj1o3sbanfijMWu8kcCRLUhiz9DpUKc=; b=D41j8f5xPJhNkOJ2VyKupFNH8AKpD0DpgjVtYk/SbBbqdy+ngHI5RFaGcNTYdvd3l+9RoZAAIsDrDV0BUCel4qrb9TzPXx4xhV98sLBVMXwbhXdu4zXopTB38+hb6Xhr6c6SGONIgmnm1dMPn4lVUx7kxn7i0NADeov0LznPJf//G4LUJkwMLg29fGJ8H9Re1ePk2buRC3RSUsqCQSlrO58wPUA/NXtQeK3n4fCBAg3fsHhexdS8xrF4bUq9FnC0tMq7QoSk8yKolMF7VNhushNlsp2OhbCfP0tKmNfegJ1040/NY4Fee07hmKFKCfsHcjhWhU9muWJJJ8y+rRRKnw== 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=d962hRGydD8JVj1o3sbanfijMWu8kcCRLUhiz9DpUKc=; b=VzoGAd7RA3KCBtR9K2t1mnmpBg/XVoK3c620smewCWu2IJKJo9wvqTzYo5amtrezIKGG1Br13M1HQbLjp+BTlPMSKeKXeSAL4lef1PFIMMOBjm2AuzFltEoHUR2GanuBf9fzm1yrRJgiTQ6n4jF8tRiBQiPbL23k3a5D8NMAgJm6gQmMTDZWr0PiNRzy5vdyLtTDZXPFkoXK0jiNKnITOf8/3zfTQSe6Bqf76xLke0P7l2SfkBiRv4EMJnzWpwtxjPbzf8gdvoyTTIO7iS3Rgt/+jnwXGFguts6nnVDKxnHJsQri9ZmShZyx3vA/jvyTDjD0Xkgo/3gIHllbsjYHKw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PAXP250MB0543.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:28c::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7386.28; Wed, 20 Mar 2024 02:14:07 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Wed, 20 Mar 2024 02:14:07 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 20 Mar 2024 03:12:52 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [ZAzi6s1AaAal7FIAUT9ZimSR17fCUjuihH6welJcdto=] X-ClientProxiedBy: ZR0P278CA0062.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:21::13) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240320021256.107338-8-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PAXP250MB0543:EE_ X-MS-Office365-Filtering-Correlation-Id: 8744dddb-d304-4121-9e60-08dc48836c3a X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnpHlru1h1vRfamsRCbuNA5Un6GgEY50+l709eHc5nIX0aJ6iu97RLIGyfl4melpHfUr6fOjilpDQ40LFR7TPH8IOxVgBxiuOSdQQlM4e6E22PqHsHgDKoJPngc2cGVo6FSv1mVfcafONqTYX2CWHSMqaE473NCgM1UsnEdNwxcBE+GecHo9ofCk+2cLk958dqt8RDVjWhrLzqxu6yXo/SANKz1IQX7osSjR59O9Kh4tfkrA0BwdrOmbPiiYOhio/AbpauyBn0WGLKxD2bC+DFWvkkXvvwH+c6cmLgAmaPQucC1tTiNY201eb3eW9m+iQ9ORgEATPzCcitXcNLCHLGTtY1T4Iryg8Idjjx4Iyci87yZ6lKG5um5PhFHePEnCvG1370GPdj+muthdjjT8oXGiyx6JYY+pLbLW6SdN0rSLhzixbhiCrYadFCWbwqhcgGJfIhOJ12AIXCp0mJKnpYt1buFOQYtZlVbDkZG9XdjttWkPjIvUekoF7m4ysdFEFBvpzyBkbHCV51N3C7W0EUISyVJlbDrxQURRkVNQ6GtbxcFn8JQgeZJxVtmZTcoW4W5nIAy83ZQ+mqxtNhf+32yHo1t2oWpvR2WYCvQb4NPA/zR0omTsmfaWd/w7/yUes4kEb+jX6ic/qr7QVFQ8bMWg21dh6HAckX7KRLvZn/3vLpiv1Lfm8u6mj2AxpioQ1/yJ0Yn3Eefto90iowfnUdPVKW07rMp5HrJBhpojzrwxXFhu+/YE80tmBYSYgIT8Tgo= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: gJq8Yd5lA5X6wARcIs9UrWZynmMJaRjypCMX79X2FbpA+OMdYb/TC8jcarAD2sAUrjIwVfSw2mcFbCa/ceiX7WwrvBUkbEUkO204ACT8wpRlsskQ3lm6EJmK3BmbCp6tEQR0RMix4S3JkazuyzMyDpMWCtC6XlP6OOH/tnEwMoi0OqNYMuSqDeHC/PufKDpOa6zRn2cZ7+qmSkX3oQmROg5RHHujTgjz0usHwyYT22bZULyj1fJY06kxuhCtCZYzYLkKKDTgX13FcN0BdVpvlMyewr2/l72IGpaaDHLNIWpU+lIEQw+/jklR7le0LUvhl/+uD1uJoLVJkiQjQtG7OhnYEIBSPhWq26i07y3rzcOlc6T8Aioav9sbGs7RWnp/KU9Z4X//08gbFRGfM+ntf4TEObx07V6Kj47Nro2GvUdk1kYr0Ldv1UuktQXfvSaVGSUUn1PeCfSGKjwH+VoQRV+UEYJz17/vR2WwrpJfBvmmGyLoDC8gHLgWRxPaMnVvFI87qOiPw031j84Ul+r4BDL6Buwotk2Ba/0Goik8OjMIHbHeReT/61OFVf6aL4pR28LMSSjxNpUAHTjtZWfOQmuNkBDg5eIZqfdjafcKN3BgwbTTt5T0w+ULiOKEjQQa X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ZZwt5FgrIcAGrn6V/7jAoYTOpet5DMH+vGMmKk2gMfXANS9ss1idcmw3Iaef?= =?us-ascii?Q?y0w1JFTrxoxEbcDcVHa7CTyR/L47jR37JkIHiZOASeQFCtQodj5rHG0dFjTi?= =?us-ascii?Q?IFTwmz6ikOSEKv/TActREV9Ee0MlEMmejuV3Cn8d+KQF2KUIK+WtZ9GVGc9g?= =?us-ascii?Q?EC3bC7vGk+Ytquk0IEDe6sUxUPlqH51GKqieuPoQsiabn9suxAcckpEw7lIE?= =?us-ascii?Q?MHNc8n+TPVi4HYzLe4Jh81WsipSBkS4+nKHbYWxnDfuYx45gJgT0xGff5Ap1?= =?us-ascii?Q?nkNZ3XUOMLwoyPdiUYZe8ionEsTmEpP/y2pv4pDl6drieV2JDfpfByK4k8tF?= =?us-ascii?Q?/Hp+uE4oFhIG2f07OAnn0dX1tDoUbtohADR+05PuXfPs2vs30E996TkFlyoi?= =?us-ascii?Q?E+5Oay5hq9GGcLEtRA5mlLCDMw5LKpcMKxNYzc0lwoYU/egz15dJhqLosM5T?= =?us-ascii?Q?FhnU/vIDNbu392J8vjuilYG4rot55vJkK+0vl/2ZOlFoRmjAPjQBowSf4GW7?= =?us-ascii?Q?86PeqluoB/cUISt3IF0Vrhh++jnUfId+IK33W8KWSO2s9tp8pISOWzt4bf7l?= =?us-ascii?Q?mggj3ckYcT4xDtUMtOZeF9o0f1K4FCQGljIy+RsealQYjIDrtgVfKpdQFG2e?= =?us-ascii?Q?85G5+NVhFXJsDvjryZpn6DfksPqtkdSJ8DHdTh6Y34jELLyuMspHWeccjSrB?= =?us-ascii?Q?IRKtn4u5NRjXdWcS0axCRekw7+Qjltye5YqOiiOob++gqDoiFEtRkY5KOFN4?= =?us-ascii?Q?iceBsYKkYoCHL92Wyg9fOgmNKDJJlQdCGdasz41umYRLa7BhkpuJiYyPyrsi?= =?us-ascii?Q?qfSddPY3K5Ghojwx5nDugwWn+NnseNQbfUJZZA+mG4PrB++UOSsk36cibV7J?= =?us-ascii?Q?QOAi8ZtydEzKJS1Lj4uazYxo6ZoajSG5EUy8LPAzFhXg4zKI1+XSTdXq9IDi?= =?us-ascii?Q?4U4VVrylu6nx5V8pJ4Ce1Z2VNrvQRAPNb79P9P/N5s49oBHnNCfoQHHFn45Y?= =?us-ascii?Q?sfalbD2fYoMQ5H3lBAUdxIhOnl7mPKbx0i/Yq3/MEzBESrlD2PycCQli5E2J?= =?us-ascii?Q?RxPcwN4c7lJwxoiZ6hrbJv3TCxTchltZyRb8+GHUvyV0ekWK2x12GpYyoTD/?= =?us-ascii?Q?G3Wyy5hEZV3YiPpA0EkLbq2k3iD00LZ5AsGxrGyfD87gdrDXNcN3XCxt8gQI?= =?us-ascii?Q?Zs/NtcKmsqIfh3wcpL5YNdXFVFHa/InzHQwhwCAtBNQT1Y6fqzn59oiGAMB+?= =?us-ascii?Q?l/B0GCWiWyNXMLNRkF6qIgY6WHdDnnuftHQgh+YilQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8744dddb-d304-4121-9e60-08dc48836c3a X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Mar 2024 02:14:07.5454 (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: PAXP250MB0543 Subject: [FFmpeg-devel] [PATCH 09/13] avformat: Enforce one-stream limit where appropriate 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: Andreas Rheinhardt 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: Several muxers (e.g. pcm muxers) did not check the number of streams even though the individual streams were not recoverable from the muxed files. This commit changes this by using the FF_OFMT_MAX_ONE_OF_EACH flag where appropriate. Signed-off-by: Andreas Rheinhardt --- libavformat/a64.c | 3 +++ libavformat/adtsenc.c | 2 ++ libavformat/amr.c | 2 ++ libavformat/amvenc.c | 2 ++ libavformat/bit.c | 2 ++ libavformat/daudenc.c | 2 ++ libavformat/filmstripenc.c | 2 ++ libavformat/fitsenc.c | 2 ++ libavformat/idroqenc.c | 2 ++ libavformat/jacosubenc.c | 3 +++ libavformat/latmenc.c | 2 ++ libavformat/mmf.c | 2 ++ libavformat/omaenc.c | 3 +++ libavformat/pcmenc.c | 2 ++ libavformat/rsoenc.c | 2 ++ libavformat/smjpegenc.c | 6 ++---- libavformat/soxenc.c | 2 ++ libavformat/spdifenc.c | 2 ++ libavformat/vc1testenc.c | 2 ++ 19 files changed, 41 insertions(+), 4 deletions(-) diff --git a/libavformat/a64.c b/libavformat/a64.c index 23b20fc8b7..6e722c7e9f 100644 --- a/libavformat/a64.c +++ b/libavformat/a64.c @@ -65,6 +65,9 @@ const FFOutputFormat ff_a64_muxer = { .p.long_name = NULL_IF_CONFIG_SMALL("a64 - video for Commodore 64"), .p.extensions = "a64, A64", .p.video_codec = AV_CODEC_ID_A64_MULTI, + .p.audio_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = a64_write_header, .write_packet = ff_raw_write_packet, }; diff --git a/libavformat/adtsenc.c b/libavformat/adtsenc.c index c5765cc92e..7eaf91630c 100644 --- a/libavformat/adtsenc.c +++ b/libavformat/adtsenc.c @@ -241,6 +241,8 @@ const FFOutputFormat ff_adts_muxer = { .priv_data_size = sizeof(ADTSContext), .p.audio_codec = AV_CODEC_ID_AAC, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .init = adts_init, .write_header = adts_write_header, .write_packet = adts_write_packet, diff --git a/libavformat/amr.c b/libavformat/amr.c index 1b80810302..0db0a8d26a 100644 --- a/libavformat/amr.c +++ b/libavformat/amr.c @@ -273,7 +273,9 @@ const FFOutputFormat ff_amr_muxer = { .p.extensions = "amr", .p.audio_codec = AV_CODEC_ID_AMR_NB, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, .p.flags = AVFMT_NOTIMESTAMPS, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = amr_write_header, .write_packet = ff_raw_write_packet, }; diff --git a/libavformat/amvenc.c b/libavformat/amvenc.c index e1b1ffd42e..9fcc09add2 100644 --- a/libavformat/amvenc.c +++ b/libavformat/amvenc.c @@ -410,6 +410,8 @@ const FFOutputFormat ff_amv_muxer = { .priv_data_size = sizeof(AMVContext), .p.audio_codec = AV_CODEC_ID_ADPCM_IMA_AMV, .p.video_codec = AV_CODEC_ID_AMV, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .init = amv_init, .deinit = amv_deinit, .write_header = amv_write_header, diff --git a/libavformat/bit.c b/libavformat/bit.c index 8133b1f44d..81a954c392 100644 --- a/libavformat/bit.c +++ b/libavformat/bit.c @@ -167,6 +167,8 @@ const FFOutputFormat ff_bit_muxer = { .p.extensions = "bit", .p.audio_codec = AV_CODEC_ID_G729, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = write_header, .write_packet = write_packet, }; diff --git a/libavformat/daudenc.c b/libavformat/daudenc.c index a995838351..f1e0da058b 100644 --- a/libavformat/daudenc.c +++ b/libavformat/daudenc.c @@ -62,7 +62,9 @@ const FFOutputFormat ff_daud_muxer = { .p.extensions = "302", .p.audio_codec = AV_CODEC_ID_PCM_S24DAUD, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, .p.flags = AVFMT_NOTIMESTAMPS, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .init = daud_init, .write_packet = daud_write_packet, }; diff --git a/libavformat/filmstripenc.c b/libavformat/filmstripenc.c index 9033dba692..b2a4cee8fa 100644 --- a/libavformat/filmstripenc.c +++ b/libavformat/filmstripenc.c @@ -66,6 +66,8 @@ const FFOutputFormat ff_filmstrip_muxer = { .p.extensions = "flm", .p.audio_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_RAWVIDEO, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = write_header, .write_packet = ff_raw_write_packet, .write_trailer = write_trailer, diff --git a/libavformat/fitsenc.c b/libavformat/fitsenc.c index 14a4572f70..605056af59 100644 --- a/libavformat/fitsenc.c +++ b/libavformat/fitsenc.c @@ -198,6 +198,8 @@ const FFOutputFormat ff_fits_muxer = { .p.extensions = "fits", .p.audio_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_FITS, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .priv_data_size = sizeof(FITSContext), .write_header = fits_write_header, .write_packet = fits_write_packet, diff --git a/libavformat/idroqenc.c b/libavformat/idroqenc.c index 9baf9ad1b1..75a191189c 100644 --- a/libavformat/idroqenc.c +++ b/libavformat/idroqenc.c @@ -66,6 +66,8 @@ const FFOutputFormat ff_roq_muxer = { .p.extensions = "roq", .p.audio_codec = AV_CODEC_ID_ROQ_DPCM, .p.video_codec = AV_CODEC_ID_ROQ, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = roq_write_header, .write_packet = ff_raw_write_packet, }; diff --git a/libavformat/jacosubenc.c b/libavformat/jacosubenc.c index fa0f9fdaa2..a792fda42e 100644 --- a/libavformat/jacosubenc.c +++ b/libavformat/jacosubenc.c @@ -36,7 +36,10 @@ const FFOutputFormat ff_jacosub_muxer = { .p.mime_type = "text/x-jacosub", .p.extensions = "jss,js", .p.flags = AVFMT_TS_NONSTRICT, + .p.video_codec = AV_CODEC_ID_NONE, + .p.audio_codec = AV_CODEC_ID_NONE, .p.subtitle_codec = AV_CODEC_ID_JACOSUB, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = jacosub_write_header, .write_packet = ff_raw_write_packet, }; diff --git a/libavformat/latmenc.c b/libavformat/latmenc.c index 8eec632c54..05004048aa 100644 --- a/libavformat/latmenc.c +++ b/libavformat/latmenc.c @@ -268,6 +268,8 @@ const FFOutputFormat ff_latm_muxer = { .priv_data_size = sizeof(LATMContext), .p.audio_codec = AV_CODEC_ID_AAC, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = latm_write_header, .write_packet = latm_write_packet, .p.priv_class = &latm_muxer_class, diff --git a/libavformat/mmf.c b/libavformat/mmf.c index b3e257616d..fab4509711 100644 --- a/libavformat/mmf.c +++ b/libavformat/mmf.c @@ -319,6 +319,8 @@ const FFOutputFormat ff_mmf_muxer = { .priv_data_size = sizeof(MMFContext), .p.audio_codec = AV_CODEC_ID_ADPCM_YAMAHA, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = mmf_write_header, .write_packet = ff_raw_write_packet, .write_trailer = mmf_write_trailer, diff --git a/libavformat/omaenc.c b/libavformat/omaenc.c index 6d0b47465d..b553bc3e9d 100644 --- a/libavformat/omaenc.c +++ b/libavformat/omaenc.c @@ -97,9 +97,12 @@ const FFOutputFormat ff_oma_muxer = { .p.long_name = NULL_IF_CONFIG_SMALL("Sony OpenMG audio"), .p.mime_type = "audio/x-oma", .p.extensions = "oma", + .p.video_codec = AV_CODEC_ID_NONE, .p.audio_codec = AV_CODEC_ID_ATRAC3, + .p.subtitle_codec = AV_CODEC_ID_NONE, .write_header = oma_write_header, .write_packet = ff_raw_write_packet, .p.codec_tag = ff_oma_codec_tags_list, .p.flags = AVFMT_NOTIMESTAMPS, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, }; diff --git a/libavformat/pcmenc.c b/libavformat/pcmenc.c index 7f71644308..4879f1deed 100644 --- a/libavformat/pcmenc.c +++ b/libavformat/pcmenc.c @@ -33,7 +33,9 @@ const FFOutputFormat ff_pcm_ ## name_ ## _muxer = { \ .p.extensions = ext, \ .p.audio_codec = codec, \ .p.video_codec = AV_CODEC_ID_NONE, \ + .p.subtitle_codec = AV_CODEC_ID_NONE, \ .p.flags = AVFMT_NOTIMESTAMPS, \ + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, \ .write_packet = ff_raw_write_packet, \ }; #define PCMDEF_2(name, long_name, ext, codec, enabled) \ diff --git a/libavformat/rsoenc.c b/libavformat/rsoenc.c index fe22e22812..552fe5816a 100644 --- a/libavformat/rsoenc.c +++ b/libavformat/rsoenc.c @@ -98,6 +98,8 @@ const FFOutputFormat ff_rso_muxer = { .p.extensions = "rso", .p.audio_codec = AV_CODEC_ID_PCM_U8, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = rso_write_header, .write_packet = ff_raw_write_packet, .write_trailer = rso_write_trailer, diff --git a/libavformat/smjpegenc.c b/libavformat/smjpegenc.c index 56907c96f7..5b8f41d76d 100644 --- a/libavformat/smjpegenc.c +++ b/libavformat/smjpegenc.c @@ -39,10 +39,6 @@ static int smjpeg_write_header(AVFormatContext *s) AVIOContext *pb = s->pb; int n, tag; - if (s->nb_streams > 2) { - av_log(s, AV_LOG_ERROR, "more than >2 streams are not supported\n"); - return AVERROR(EINVAL); - } avio_write(pb, SMJPEG_MAGIC, 8); avio_wb32(pb, 0); avio_wb32(pb, 0); @@ -139,6 +135,8 @@ const FFOutputFormat ff_smjpeg_muxer = { .priv_data_size = sizeof(SMJPEGMuxContext), .p.audio_codec = AV_CODEC_ID_PCM_S16LE, .p.video_codec = AV_CODEC_ID_MJPEG, + .p.subtitle_codec = AV_CODEC_ID_NONE, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, .write_header = smjpeg_write_header, .write_packet = smjpeg_write_packet, .write_trailer = smjpeg_write_trailer, diff --git a/libavformat/soxenc.c b/libavformat/soxenc.c index 359835f27b..6217eec043 100644 --- a/libavformat/soxenc.c +++ b/libavformat/soxenc.c @@ -112,8 +112,10 @@ const FFOutputFormat ff_sox_muxer = { .priv_data_size = sizeof(SoXContext), .p.audio_codec = AV_CODEC_ID_PCM_S32LE, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, .write_header = sox_write_header, .write_packet = ff_raw_write_packet, .write_trailer = sox_write_trailer, .p.flags = AVFMT_NOTIMESTAMPS, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, }; diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c index a929ad2db3..f97f4d0175 100644 --- a/libavformat/spdifenc.c +++ b/libavformat/spdifenc.c @@ -681,9 +681,11 @@ const FFOutputFormat ff_spdif_muxer = { .priv_data_size = sizeof(IEC61937Context), .p.audio_codec = AV_CODEC_ID_AC3, .p.video_codec = AV_CODEC_ID_NONE, + .p.subtitle_codec = AV_CODEC_ID_NONE, .write_header = spdif_write_header, .write_packet = spdif_write_packet, .deinit = spdif_deinit, .p.flags = AVFMT_NOTIMESTAMPS, .p.priv_class = &spdif_class, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, }; diff --git a/libavformat/vc1testenc.c b/libavformat/vc1testenc.c index 89b916deeb..6b4cbd1152 100644 --- a/libavformat/vc1testenc.c +++ b/libavformat/vc1testenc.c @@ -88,7 +88,9 @@ const FFOutputFormat ff_vc1t_muxer = { .priv_data_size = sizeof(RCVContext), .p.audio_codec = AV_CODEC_ID_NONE, .p.video_codec = AV_CODEC_ID_WMV3, + .p.subtitle_codec = AV_CODEC_ID_NONE, .write_header = vc1test_write_header, .write_packet = vc1test_write_packet, .write_trailer = vc1test_write_trailer, + .flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH, }; -- 2.40.1 _______________________________________________ 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".