From patchwork Wed Jun 26 10:57:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Martin_Storsj=C3=B6?= X-Patchwork-Id: 50153 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:ccd2:0:b0:482:c625:d099 with SMTP id q18csp346940vqv; Wed, 26 Jun 2024 03:58:09 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXWvMVAhbyrOdn7vRc5yCAko0UdWf1N8Yh3gSTK0FVD6vt3GRTCck6gmOoDxsv1/4+mnd/Y7P/lWgJWuyojebaeqOYZB21jag/dzw== X-Google-Smtp-Source: AGHT+IEZIdU9iZ/6IP4vaW2CcjvVqpcIxND4nnEY4kVKQUhl822FdOSEEF7MEXjRJcAgA9iKvX/Z X-Received: by 2002:a17:906:c009:b0:a6f:af31:6e7 with SMTP id a640c23a62f3a-a715f94b0f4mr742770166b.32.1719399489104; Wed, 26 Jun 2024 03:58:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1719399489; cv=none; d=google.com; s=arc-20160816; b=B2pXQONFl+dQj4JwHrpAjx8XTkWQ0xqBI+HhleUXpq8uBtLxNqbaFDLbfVoVTxmeoS X0qzsXgpyFTDiH0702dKdIjPC4SzZNo38+uOjkywY5m6N8upOOsJuoEkflBMCyN7WHom DctvSGFkoICTVII8yVN5vnqT5mbeoX5GiNj3d4pr4VHpGXLhn/fTOWFzoXqqIai2nqna uGq7nx6P8y17981qd7LKuojG8zzw1OIDSxjR5QP1JrDavwJ+LwlVpUja9xgH5hTXfvgr tlGvP2itwwvrD8XvFOSBQKXlL2R80VezZvHG0F7Pfj609k/Mu435TGD8rfwjM/HIooHJ uzQQ== 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:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=xYivu8ZK21R5FvQcwvlkwCyEqXtqTPtf0GQD4hrfyXk=; fh=w8JR1T/5WquwCqgnlKgniZcITMXOtCHDzF0NyyyGKZI=; b=nREYMq1JWGuWy02G3+SL1IE4ciUlfdnxTu9l+s1BUbej66s0dcYOuzanezkFKxf3iN 2aUYK+PFycWkHNm8Yl4M9r7aDkMveFJp0U62ZPox6KVhfwdSycdgvDVxA9Vl4dOe0pga CGydGs8Z+oAj1X4NF+2BONUcYQB7u/1zXLHppDQVla/wqavRq2YWrJ4UXOXXbyrBNCVH K0Nk4H41xM5aVo0PlKjW7Zvx1LCRBFsvaZ+Kxh8CxtUoQKO8HINFq6MUIiXpi3ey3JuJ 639wN9JOaDEZccOGNuZhCW0tdnyciVzduHgT6MwfijHSBpSPmHm+ENt+Dmm1CQlrGRgG mZbA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=j19kgrTl; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a724675aa28si137432066b.526.2024.06.26.03.58.08; Wed, 26 Jun 2024 03:58:09 -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=@martin-st.20230601.gappssmtp.com header.s=20230601 header.b=j19kgrTl; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3BBFD68D40C; Wed, 26 Jun 2024 13:57:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f49.google.com (mail-lf1-f49.google.com [209.85.167.49]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49A9068D3FA for ; Wed, 26 Jun 2024 13:57:41 +0300 (EEST) Received: by mail-lf1-f49.google.com with SMTP id 2adb3069b0e04-52cdf579dd2so4064397e87.3 for ; Wed, 26 Jun 2024 03:57:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=martin-st.20230601.gappssmtp.com; s=20230601; t=1719399460; x=1720004260; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=OMs0vEqf329+Qt+4lRf4WpQ8bQgq0RZ+e/WiI3X0oU4=; b=j19kgrTl4Gz2olvRRHeQHBjaKu87m4tE1rqeT6a4tz9Y+8d5ARsjF9GMoGJa3fhknd Xm3/VZ7pacojc/drW+yC2a7K43h2cJBuGTlt4kzQG3vIVTMk3mPK/L4i1vEyqpWvwdzv crWCKekD5u+EPLBAXpypyzq+4JZlM0dZ3eX3isEVXnAEBjoENwFWvOH9/GV6ErzqKOce Yc3GwQBWx5W+eyWUDwOxrgSdgkZgwkOJgrhpSnb12Fi8qap0WoGvhsk6WZFsqHaN0Pdv d4UIwCsGsGhqrPJ7e8in965WWipIH8MRcO2RvTvSqX1Rgs7LrO1Fsy3CiYjePUK6In9S Q3Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719399460; x=1720004260; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OMs0vEqf329+Qt+4lRf4WpQ8bQgq0RZ+e/WiI3X0oU4=; b=TeF61JQfm/CPDOYsMBXjxZ4GqgoJrs8Lqn9/jtyg8FVeA4Q/Lw0METgSKQA8G6vkFV aqIvPyeXAfgb70fLHsIAjym6ovHDLRpH8zRB7X0pNhz4gKldhq0wG3hEHawz8DYJvbwc kQUH1jkPryZX6bY5kpA5SNWeCp9zoa+MMYDgVkHV01nTwxnPfCGE05hZHWEShq2vjVj0 KxY4W9dE54mbQ0cwOYceZB6IIbdHeNPa0HDH/Kxsok1bOSs8XbqJHnaGETmBB3pczXmV DImhvTsBRjgtyXphudA2Z3x7TuVP+mBpHP6qD9/H+Id2j8kVLNfG7eNMRLeKXHn2Ro19 0AoQ== X-Gm-Message-State: AOJu0YyZ82kR1VUmLFMdDaEcsOf03wDiqI0Q9hyNPa5QeIUo3Y608aFC 1w8Gty/iNwXs2zXhdGSz7kGxy8jt21z/D8UOga/8RRSsEj4mD534b6QVb6h1/1e62Es5lmflJLw HdQ== X-Received: by 2002:a19:5f5a:0:b0:52c:c9b6:df0f with SMTP id 2adb3069b0e04-52cdf8260f2mr6971805e87.61.1719399460420; Wed, 26 Jun 2024 03:57:40 -0700 (PDT) Received: from localhost (host-114-191.parnet.fi. [77.234.114.191]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-52cebf46325sm574922e87.25.2024.06.26.03.57.40 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 26 Jun 2024 03:57:40 -0700 (PDT) From: =?utf-8?q?Martin_Storsj=C3=B6?= To: ffmpeg-devel@ffmpeg.org Date: Wed, 26 Jun 2024 13:57:36 +0300 Message-Id: <20240626105738.58427-3-martin@martin.st> X-Mailer: git-send-email 2.39.3 (Apple Git-146) In-Reply-To: <20240626105738.58427-1-martin@martin.st> References: <20240626105738.58427-1-martin@martin.st> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2 3/5] hlsenc: Remove bogus check for if (vs->start_pos) for appending segments 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: Steven Liu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +7ShYVuGirjw Previously, vs->start_pos was never 0 here, unless using the -hls_segment_size option, which wasn't allowed for SEGMENT_TYPE_FMP4. Therefore, this if statement was practically always taken anyway. Remove this bogus if statement, to allow changing vs->start_pos to reflect the right value when not using the -hls_segment_size option. --- libavformat/hlsenc.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/libavformat/hlsenc.c b/libavformat/hlsenc.c index 0c72774e29..e9aff1d0f7 100644 --- a/libavformat/hlsenc.c +++ b/libavformat/hlsenc.c @@ -2504,6 +2504,7 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) 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); + double cur_duration; av_write_frame(oc, NULL); /* Flush any buffered data */ new_start_pos = avio_tell(oc->pb); @@ -2609,15 +2610,13 @@ static int hls_write_packet(AVFormatContext *s, AVPacket *pkt) return AVERROR(ENOMEM); } - if (vs->start_pos || hls->segment_type != SEGMENT_TYPE_FMP4) { - double cur_duration = (double)(pkt->pts - vs->end_pts) * st->time_base.num / st->time_base.den; - ret = hls_append_segment(s, hls, vs, cur_duration, vs->start_pos, vs->size); - vs->end_pts = pkt->pts; - vs->duration = 0; - if (ret < 0) { - av_freep(&old_filename); - return ret; - } + cur_duration = (double)(pkt->pts - vs->end_pts) * st->time_base.num / st->time_base.den; + ret = hls_append_segment(s, hls, vs, cur_duration, vs->start_pos, vs->size); + vs->end_pts = pkt->pts; + vs->duration = 0; + if (ret < 0) { + av_freep(&old_filename); + return ret; } // if we're building a VOD playlist, skip writing the manifest multiple times, and just wait until the end