From patchwork Thu Mar 30 20:43:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jason Pontious X-Patchwork-Id: 3203 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.44.195 with SMTP id s186csp1735640vss; Thu, 30 Mar 2017 13:51:20 -0700 (PDT) X-Received: by 10.28.73.197 with SMTP id w188mr141244wma.46.1490907080352; Thu, 30 Mar 2017 13:51:20 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n5si5059873wra.31.2017.03.30.13.51.19; Thu, 30 Mar 2017 13:51:20 -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; 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=NONE 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 1CF3968974E; Thu, 30 Mar 2017 23:51:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-oi0-f43.google.com (mail-oi0-f43.google.com [209.85.218.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8C4F3688247 for ; Thu, 30 Mar 2017 23:51:10 +0300 (EEST) Received: by mail-oi0-f43.google.com with SMTP id b187so43103302oif.0 for ; Thu, 30 Mar 2017 13:51:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=NZ49WILzkCnp/BOE2RB8MHg/ZcId9h9aaU6DDgc3m20=; b=Svuyocz1Zv/ydNJmairigR0+0nQv18sL4gDEIHtMTntb2Dl878M5FU8rzzRF8+pyz/ tOE+Qinu/Yg7fpuLDdJm/NRDJ1kZgEBML3pNFE3mQ5JL1ag+Sn7G6G1swdefIp4FTSsg wwp/wiDZuIFqVIbbCQFAFmXpU+ey88IT2jof2DJE4X680KeA0kYLS0WtHOQY39uGk7aO 9Xe/gMNdzv6NI6UkuEar5R7mIWILB3+p/ToyjCGGV7nEXBP1k7AnTzrhV8gkwlb/lOvw 1XBrmkup50+cisbPKIPfOFSkPmRd0T1TpDT8qmCBg6Iz1Ij317hIDzdt+y9ZHENpO3uy n43g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=NZ49WILzkCnp/BOE2RB8MHg/ZcId9h9aaU6DDgc3m20=; b=JVS84DBMiPxACtm2Ddy0aE9nGVSZX2J2o6cJB44uiOsY6XYZt4+8m4H1eMMcsBdQTr //sIxyNfFxRI45h7dJHtCCvoiTTXGP+Bv5yuildT4L8sNTSMyvyZpqZoRlKKDAu5xuZR ZyilvLWfrH2nfurybT23OsKTXCYTLlvLqrmQmSq2vxFExQEMyYkCpsYFuWdzu6xlMfYf wABpJb+HKIbg5XxHslzvQutSNopjwArI24DJjS2TKGrmSIMpYeP1cZR+wDhse76I8EnE LC2b8YI3yxFAXgXz+Ygi9nCXwyqndnau8gcpZnbV35En2oC87akiFqizX/Ddl4PFE6p/ zLhA== X-Gm-Message-State: AFeK/H3sQGETkmMyMA+oycuObSiXTCfTTNWZI674aqbtfXRGFZFm/fZguniBsaxgNzjFAKDo3lAh9zZf3F/fGA== X-Received: by 10.202.76.213 with SMTP id z204mr1242081oia.14.1490906593065; Thu, 30 Mar 2017 13:43:13 -0700 (PDT) MIME-Version: 1.0 Received: by 10.74.132.8 with HTTP; Thu, 30 Mar 2017 13:43:12 -0700 (PDT) From: Jason Pontious Date: Thu, 30 Mar 2017 16:43:12 -0400 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: [FFmpeg-devel] [PATCH] lavf/segment: fix slight refactor to seg_write_packet 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" I found an issue with a previous commit and I'm submitting the patch here. The previous commit was from March '16 https://github.com/FFmpeg/ FFmpeg/commit/5b4f44f66ae3c42b7497929b6ef5f67e8b1ff0ad Previous refactor commit did not produce an equivalent segment end_time in all cases. When setting end_time, the addition to start_time was completely removed. --- libavformat/segment.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) pkt->duration) * av_q2d(st->time_base) : 0; if (seg->times || (!seg->frames && !seg->use_clocktime) && seg->write_empty) goto calc_times; diff --git a/libavformat/segment.c b/libavformat/segment.c index 8ec3653..951ca91 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -904,7 +904,8 @@ calc_times: seg->cur_entry.index = seg->segment_idx + seg->segment_idx_wrap * seg->segment_idx_wrap_nb; seg->cur_entry.start_time = (double)pkt->pts * av_q2d(st->time_base); seg->cur_entry.start_pts = av_rescale_q(pkt->pts, st->time_base, AV_TIME_BASE_Q); - seg->cur_entry.end_time = seg->cur_entry.start_time; + seg->cur_entry.end_time = seg->cur_entry.start_time + + pkt->pts != AV_NOPTS_VALUE ? (double)(pkt->pts +