From patchwork Sat Jun 25 15:14:33 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: hu heng X-Patchwork-Id: 36449 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:8b27:b0:88:1bbf:7fd2 with SMTP id l39csp972759pzh; Sat, 25 Jun 2022 08:15:04 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sJk7URmQTSaOK9+gZ0PkaDzaWcFW7xRhHI0R4GpRGZpFduOC/31lSbDt7NYUcbBnmQ6IFZ X-Received: by 2002:a05:6402:5303:b0:435:7c46:e411 with SMTP id eo3-20020a056402530300b004357c46e411mr5705507edb.221.1656170104459; Sat, 25 Jun 2022 08:15:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656170104; cv=none; d=google.com; s=arc-20160816; b=YLfcYiQs2MVJ5xwCqnTjmLvCqADOKHgKw++sJXtx+HsA6fadxAq8RTwW2F3w2aDXcS hSfe2gDNW10+d9K1bp1mKsIQjnzWmmi5Eju0wORNA8etwMP3FAN2CUirIcrT75PUH6R7 Qux0o0T1lVpxNArxEDACDIoG8TFZ4xNwSj+mAJlgEYcaU04f+yz1Dkg4pbkk8AqemVEy AOnBGX5Qblio/bP5AzLXJWQWd1GascaRB9ztRroa+EGktcsfvowPhk35gYjlgDFg4/IT 0+RLwcNcd6xj0Txif5YQ0cFRcNkl0wV68OrXEBeXaBriFdT1XHCpsEQFy+c3CdKnYP0d e86g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc: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=gJGO1CvcdGmhClk3tMAb33syPwAPW+ZxLl1cs2vPzdM=; b=FMbByoBd5gksqMHBS9Y2erF5c9+qQ0rSIS8956/T384bpRTb++s7hnZGtEBetZcYqd vwkuzZz2faCKXLRByLyBQi325D1qWA2/wPCpM9lgnz4MIm9gbggHP4oOCTwqBARxWM5I EpHj/zwW/iIUZgHPsGKLM5ltFcuBSn4afv1gcV97E9ehglAPNSNQzj59/ffVPYM6ukvW XheE/BvFmUk8S4UkfBwjoo2/6SLMCHFZ2Q+A7S1/UylaIufj5Q9aNcfEwSQOUtAAOuNq etACOIEgy749zpHC1VQK1MsdzxS3BJIsMic7JTB48JIj/vVL1WmrxnMfx2NIeu6T/DWK yfCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=LZplcInP; 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 gt40-20020a1709072da800b0072636ec0429si4568141ejc.18.2022.06.25.08.15.04; Sat, 25 Jun 2022 08:15:04 -0700 (PDT) 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=LZplcInP; 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 4CB4C68B7CE; Sat, 25 Jun 2022 18:15:01 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3ABC868B7B1 for ; Sat, 25 Jun 2022 18:14:54 +0300 (EEST) Received: by mail-pf1-f171.google.com with SMTP id p14so5082269pfh.6 for ; Sat, 25 Jun 2022 08:14:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Qe9BFiclTnsVM+6QDKQCor43EleNW9DwfJVECc0JQi8=; b=LZplcInP/8GENGH+RYzYdMJkCjy51d0VMU0srO3w5hX1etEL/KwYeEblYpHETw6Sj0 JNc9lHXJlrhLfJDpdP4G8bewJ7BbYEZUlTRWy2YSlkQFR3SB5pua8DvovUGjfSWto1z5 xykUPSTQJ6UbkrqpNp6sC046FzzrF/Vfxe2FSUxoUz4xSQ0CNV+6fIv4BB/etB4LHc2O IF/1jE4qNCGF4m0flmtCIadMCjSF2tL9E7fojR8m4ofUeaK3xMyIFaABeF7yWQAwfmNT SNMDHbPMZM5yKwNCdJjUdguMVoYZ4Nbf11Qm/Gs7pDuD0APOk1DWGH/wzZmznDHXpZTI YOig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=Qe9BFiclTnsVM+6QDKQCor43EleNW9DwfJVECc0JQi8=; b=emQH2oOPP/Q3OuarJHJyhyj1Q4rukB8/bCQdxs9lbkA4KmfTC8GQorSlH/pS7TgWkn FtT0yEgJrZByuS/JNEu9Aee3kdQoatCxfwig18ZjTm+KdX7xW+IxWLHRbDaXCgfrZDbo Tur9pKddxMjoXCylqkqlCg+wUfWoVSzQr5rmaaBt4wPkmt2TtmZTbyqypzsyr4g0nXxC 8Pw4zaYDBYhBiMZP3ImyROSvgM6Ie6c7z1j89mHJ4BnWPzR+3YPa83aojvKjnSUBRj+z x0fRoTG20jGWPiBvk1ILRscW1Zg5eUoj/ZZyXu9XrEYcBFbnYsn7Tx+GD0WLt1ZwgCYc AwYw== X-Gm-Message-State: AJIora/7qdRsQLTAuY4Grnfuwi/pX+2+gDo87ZpDByULP0yDYyKHo+OS K1gVBwx7bL/+mjxXn5LG87gnv/EOHkg= X-Received: by 2002:a63:8149:0:b0:40d:2afb:c02 with SMTP id t70-20020a638149000000b0040d2afb0c02mr4145081pgd.274.1656170092249; Sat, 25 Jun 2022 08:14:52 -0700 (PDT) Received: from localhost.localdomain (93.179.115.217.16clouds.com. [93.179.115.217]) by smtp.gmail.com with ESMTPSA id x124-20020a626382000000b00525231e15ccsm3774077pfb.113.2022.06.25.08.14.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 25 Jun 2022 08:14:52 -0700 (PDT) From: huheng To: ffmpeg-devel@ffmpeg.org Date: Sat, 25 Jun 2022 23:14:33 +0800 Message-Id: <20220625151433.83031-1-heng.hu.1989@gmail.com> X-Mailer: git-send-email 2.36.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] libavformat/hlsenc.c resend headers when generate a new segment in single_file mode 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: huheng Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: ab0/O024WxG3 Add pat and pmt table at start of each segment in single_file mode enhanced compatibility of hls stream Because some hls clients separate parsing segment of hls stream, the absence of pat/pmt will cause parsing to fail Signed-off-by: huheng --- libavformat/hlsenc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 3bafddfa61..ee5c5afe56 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -2631,6 +2631,11 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) vs->start_pos += vs->size; if (hls->key_info_file || hls->encrypt) ret = hls_start(s, vs); + + if (oc->oformat->priv_class && oc->priv_data) { + av_opt_set(oc->priv_data, "mpegts_flags", "resend_headers", 0); + } + } else if (hls->max_seg_size > 0) { if (vs->size + vs->start_pos >= hls->max_seg_size) { vs->sequence++;