From patchwork Thu Jan 7 20:04:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Ziemski X-Patchwork-Id: 24832 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id CC95F44931A for ; Thu, 7 Jan 2021 22:10:42 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A6952687F4E; Thu, 7 Jan 2021 22:10:42 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f45.google.com (mail-wm1-f45.google.com [209.85.128.45]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1A5F687F4E for ; Thu, 7 Jan 2021 22:10:35 +0200 (EET) Received: by mail-wm1-f45.google.com with SMTP id y23so6597831wmi.1 for ; Thu, 07 Jan 2021 12:10:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NU9rTB1eqjmWJi3n/yggJ9DnMfYjF9EvEyLtImu9RNY=; b=JYSqJ2QXVE4S0rH2bmjGjKEHNRgYkr+vz+Iu3SIBr5VBe/70hzJkNGHRChjwHPM6Vp UjOcgwy+9BIQEgMwV4mOjJNEW8t5cEyVyQwrjniQYzxOlcNmK9iNbulKYJzCV61VHe3i IfcCIAqjiOAdd9WEnbivT9/veEc5lV4bV5MAITYTqMLzPpZjTgw4KfSvx5PzUFku0V2V DtrMWBRArzfrYUlsJ/nFF3cT9RTu9hVE+G4RnU1Nd7W/BrwrbSJLbbl3nbh/2CjVfUnt aG9lnN6ZgmmRKFq2uOHr6JL9gLffK+Qke0mbnR2qO7HGXwYMYBCBVfmWmtY72MtHF2RG yEXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=NU9rTB1eqjmWJi3n/yggJ9DnMfYjF9EvEyLtImu9RNY=; b=PgqpvSZX0cxrbR1FSEr0B6Z2b3ph1DT7+F1bxh6EoI31A7Ie/dnVOumiRGwJ2p/L6c X1QTjnH46oTW1qjApEvS+8ZOZSp7P7PmehR1prgfo7Z9JC387FxzVgD/Qk9QeiDXct0C 4VAUszlJEhxsb2njYPOhVztZO38h22oJS9iW1DcGU5gAP6M9jM1ddgAYUiLUGfDi4GD/ U3f36I6fwb0zrdozTKkf2PQiaCdmU01ReJr+qLlmVycx7s1utFayuhwu6gy5qbLwUdXc 2q7IqAi8tXSmiaiVipdyRAQXV5avhttnzodAsibLOKZQVpEjr2aXfAy+VHZ0saXAL/Aj W57w== X-Gm-Message-State: AOAM5306d+0n4qZAkIsesRyDgwXCB2eegAXwJfXODrgDc4KZt/qrg1gR GtfNVc0Ndve81vL2bvDntl2H23zwvuS+2fAy X-Google-Smtp-Source: ABdhPJwURsNXtW95aw9mMekzJ/Swi+3Nr45bKrERGf8eSS6WwmRIiXBp7P4NThoR7HLjsmLYiscvxw== X-Received: by 2002:a7b:c930:: with SMTP id h16mr149888wml.175.1610049850969; Thu, 07 Jan 2021 12:04:10 -0800 (PST) Received: from localhost.localdomain (83-215-171-24.goll.dyn.salzburg-online.at. [83.215.171.24]) by smtp.gmail.com with ESMTPSA id p9sm9069767wmm.17.2021.01.07.12.04.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Jan 2021 12:04:10 -0800 (PST) From: Bartosz Ziemski To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 Jan 2021 21:04:08 +0100 Message-Id: <20210107200408.46389-1-bartekziemski@gmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/hlsenc: hls output optimisation Currently the output of the segment is delayed by 1 packet since the check condition compares the pts of the beginning of packet insted of its end to the end_pts of the segment. X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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: Bartosz Ziemski , Bartosz Ziemski Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Bartosz Ziemski Signed-off-by: Bartosz Ziemski --- libavformat/hlsenc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index cafe0e8c69..bac1e681f3 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -2497,7 +2497,7 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) } can_split = can_split && (pkt->pts - vs->end_pts > 0); - if (vs->packets_written && can_split && av_compare_ts(pkt->pts - vs->start_pts, st->time_base, + if (vs->packets_written && can_split && av_compare_ts(pkt->pts + pkt->duration - vs->start_pts, st->time_base, end_pts, AV_TIME_BASE_Q) >= 0) { int64_t new_start_pos; int byterange_mode = (hls->flags & HLS_SINGLE_FILE) || (hls->max_seg_size > 0);