From patchwork Mon Nov 28 20:45:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 39531 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:999a:b0:a4:2148:650a with SMTP id ve26csp7952973pzb; Mon, 28 Nov 2022 12:45:51 -0800 (PST) X-Google-Smtp-Source: AA0mqf5OUitXmDUGu9pYLtLA73XCQ0140oSwhfYJcMcTy3eUV/wEP2edjRQLSV+wzr0P3fApxbgf X-Received: by 2002:a50:fe8d:0:b0:461:9183:834b with SMTP id d13-20020a50fe8d000000b004619183834bmr34201173edt.196.1669668350982; Mon, 28 Nov 2022 12:45:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669668350; cv=none; d=google.com; s=arc-20160816; b=IoWWwjmWrGQmvm3ZC44dpdEzep58n338wrDCL5Vvd9FSZXBmSP0YTL1A+s/34cz/bq WKSkxlE8LjStvllN3DZWLCJa3BLd24fV3qlj0Uy7CZ8VRmhaktqm7qds0XWAz717pwoR W6gjzyim0gVi1DnOZL62MDtaXa/FvtZPOBhRGllftqBqdXjvfrTL/1Z8tQ+biK1FEGsL VkiUiKj2JKeehcQDBtw0K/E0ZvDBO3Wfddt0P+1RTNF/69NP7ZS5ELpwfKjQkAN8cS2s HJeFniLiz89WwA2X5HHq+9NLigqmHQKfaVNwG/e2Rh9/y2fGZy3yxWrcer0JqRLWNjO5 u+ww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=+HDYdzx5TGd40WP6D7nYx5Y2Rwpn0KHGHQK35W/bUao=; b=R48Km8lR6RSX2GLxwZnCuyu72cfyzDvML2GVbo1qO3IkY26Lb9l4HR1j8UQK9BwT6E R7PUP8J4DDwkcxlJIbtNoi/lLeUMTu0Z9CZhnoXySR0dnZ5hzIHcOuz63b4BHcCksXPu VLU+dAVGhoaTz1fmDDX5RWNM1GGHgV7MjeDMyrblroz0iWJk3Cxssm3vJx/gnnYzssuJ gUEmGxi0vcIt9zXlMQo2YqUR8xqE6RWv5E4aRqRSOfisgYTOV6Ez+5NR+o61lErkTQPV JaRq2nJ4Y0EOsypzZLuSVpPxIyrnqvmcSSyROK6Fmt3Mv2XT81Gpv3J/dikX+NtK5mVA S54Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=adQoaAFT; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id go40-20020a1709070da800b0078c0c866a18si12249400ejc.19.2022.11.28.12.45.45; Mon, 28 Nov 2022 12:45:50 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=adQoaAFT; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 55A2468B115; Mon, 28 Nov 2022 22:45:41 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi1-f179.google.com (mail-oi1-f179.google.com [209.85.167.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6DE5D68ACC3 for ; Mon, 28 Nov 2022 22:45:34 +0200 (EET) Received: by mail-oi1-f179.google.com with SMTP id s206so12972848oie.3 for ; Mon, 28 Nov 2022 12:45:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:from:to:cc:subject:date:message-id:reply-to; bh=dMvtVw45DbOHv/ikv1j/ugKpI70neDt7T4d3z/t3xvU=; b=adQoaAFTYbi0M7a2PRzkmgzMIfAF6tRgXtuVGsy7x185O5xKBDRYHdkeoHngoxWiuj QSvpxP+PuixZElCJfZ6tm3wu5rVj6uuVIAaGpvSJAjXtZTNKT+8moqnk6MaRxttkMlyx CgEq3v/PPbcoxvdQ4vHr2tJcmLpluHx1uITI730XWP2Veq9pMHDHAiE6pzRY6wot8hbn IN2zuNIAl8r00iP4eXL5KuSKZiVSnqkrvDZ4GtsDRAeGUUvMG53i3OdUJruO7ZZmZ1yF NMWUpec1RJSXaPoBe3Qd8EVeglZ+55mg+/HnJEgv92geZoZl1/tZUCmKoGyIXxOECkWv AJZQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dMvtVw45DbOHv/ikv1j/ugKpI70neDt7T4d3z/t3xvU=; b=i8RlOC0JkQAYh+SWpzCx8mGSy4UK2Anbbr2tx3utUvmVO7uR5LZuxsQFc8B+1qvDBh 7hQmP2zQ3jCD+wWtLSU+EPHNJ7qoW9WhlepQ8fSkBDz9desNgcd7ND1QyDQCni1fYzOY VusH/kydl2JF0g2W1PvhgAqdFCw58L9zAdgvV+JrtGtFMaVw78aXpLcVlE/DUPR7Bu1b JMurRPECrKo0D2FmR6ArNlaudpbuAJ91tPF7qYhiGQTX31FVNeFpzNI2f59D7KFzQJ46 J/EfE0uZVDZZYV5KEN/vp3Uto4e9pKDIFK+tEk1Y69b7BEETnUI9F0unhnVN/tXKk/t3 S6Aw== X-Gm-Message-State: ANoB5pmhCzbYgfEDNFOSWSF+H5r6AxE0sv2KYTCZ47DQXOn7O4v2XRpr iBPb7PS34DmNCpEpsD0XFzmc8ezHXew= X-Received: by 2002:a54:4796:0:b0:355:7ae5:4fe with SMTP id o22-20020a544796000000b003557ae504femr19229103oic.54.1669668332504; Mon, 28 Nov 2022 12:45:32 -0800 (PST) Received: from localhost.localdomain ([181.85.72.69]) by smtp.gmail.com with ESMTPSA id n11-20020a056870e40b00b0013297705e5dsm6360623oag.28.2022.11.28.12.45.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Nov 2022 12:45:31 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 28 Nov 2022 17:45:51 -0300 Message-Id: <20221128204551.4441-1-jamrial@gmail.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/mpegtsenc: Always output a minimum of 32 packets. 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: nGuoJXjFvVwy From: Thierry Foucu Otherwise, if you just output a PAT/PMT and a single TS packets, the demuxer will not be able to detect TS. Signed-off-by: James Almer --- libavformat/mpegtsenc.c | 11 ++++------- tests/ref/acodec/s302m | 4 ++-- tests/ref/lavf/ts | 4 ++-- 3 files changed, 8 insertions(+), 11 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 48d39e6a7d..760e5fd8c6 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -2147,8 +2147,7 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) static void mpegts_write_flush(AVFormatContext *s) { - MpegTSWrite *ts = s->priv_data; - int i; + int packets, i; /* flush current packets */ for (i = 0; i < s->nb_streams; i++) { @@ -2163,11 +2162,9 @@ static void mpegts_write_flush(AVFormatContext *s) } } - if (ts->m2ts_mode) { - int packets = (avio_tell(s->pb) / (TS_PACKET_SIZE + 4)) % 32; - while (packets++ < 32) - mpegts_insert_null_packet(s); - } + packets = (avio_tell(s->pb) / (TS_PACKET_SIZE + 4)) % 32; + while (packets++ < 32) + mpegts_insert_null_packet(s); } static int mpegts_write_packet(AVFormatContext *s, AVPacket *pkt) diff --git a/tests/ref/acodec/s302m b/tests/ref/acodec/s302m index 2919ed6e55..5c12d5ff69 100644 --- a/tests/ref/acodec/s302m +++ b/tests/ref/acodec/s302m @@ -1,4 +1,4 @@ -0bf5457fd41a22fc5cdd99ae5ad4e273 *tests/data/fate/acodec-s302m.mpegts -1527688 tests/data/fate/acodec-s302m.mpegts +51fdac8dddb34b067f458b8114e3a32c *tests/data/fate/acodec-s302m.mpegts +1529944 tests/data/fate/acodec-s302m.mpegts 31f25a0020fd9017de9c3c608316854b *tests/data/fate/acodec-s302m.out.wav stddev: 986.94 PSNR: 36.44 MAXDIFF:18571 bytes: 1058400/ 1056708 diff --git a/tests/ref/lavf/ts b/tests/ref/lavf/ts index b004fc1b1c..cb5395abbc 100644 --- a/tests/ref/lavf/ts +++ b/tests/ref/lavf/ts @@ -1,3 +1,3 @@ -371dc016eb3155116bea27e3b4eeb928 *tests/data/lavf/lavf.ts -389160 tests/data/lavf/lavf.ts +cf342532317c4ae802c4f95f7d1f2459 *tests/data/lavf/lavf.ts +393296 tests/data/lavf/lavf.ts tests/data/lavf/lavf.ts CRC=0x71287e25