From patchwork Fri Dec 15 04:28:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: mymoeyard@gmail.com X-Patchwork-Id: 6784 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.94 with SMTP id m30csp17801jah; Thu, 14 Dec 2017 20:37:23 -0800 (PST) X-Google-Smtp-Source: ACJfBos3sqb+104x7FoLoE3D9VVAD5ipn+wowDRjCs0BISrYUB6slAOXnnVJfZjSIPbONZfGdv5n X-Received: by 10.223.139.3 with SMTP id n3mr7804706wra.166.1513312643611; Thu, 14 Dec 2017 20:37:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1513312643; cv=none; d=google.com; s=arc-20160816; b=gYucCxtpx3Ovdn9wvjgglWOWvjk7GhHB+CKvTlniZ+SugnlWJ+xPh0+RNMmzhSQhoR LT4aGuJ9liHHOz8V6i4gcgZAckwZ+gRf5t0nrjXaPLv7ZkvA1xwrt1zHWwnF6U6CARlB m9vchJE6W9rPbXxe6DdDJ5nygoNrBLhiROXEqi4IoeccUUsgY++HIQ3VqTbKiy31WrHs t1b67Si77n2krQyBECXYuL7Kn4aJZK96UbUlEomkksY53JuqO6c6xardIYWgBb3sAalW u+KHBGHzY43SBREDyZLi1GzO8t75I2uSuDUxcnm/WKNjfR3ElRTOWucLakkQopUuy5SA rGew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=lTK+44JkWoyA+t5KcRemkGvjTMzRqnVWNW0nhInhtvM=; b=tM6fLPswTijbDhmgp28nGgTKgexISz3Awkhiwbkg7TF2x8Uvf4MDThNukEFNLDBc+j 6hiN2raIiFABvkI3FojNrICodjG8injMPb7F1IQaswiRPhKkU8yZLUBMhZ6BsyNhtWV4 Zr2sklL72NXSWdudWa9024dJwvjR4tC5eCd8PMXgjJRkBdaHeD5U7mPTxHI1NZW0Fp55 wUGTOFbfWnGPnhI6Vx1VLj7DFajSHlT5b/iO8r3WK/CUlmnMkRtapHRFGiN97UtDWXTU XRlYeYdvbmM+RxTQz5tXe8oEP/T/MLQu/HaU2dhWPbOe+1lF0OhfQxD88KM8S5+GKJjw WcUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=SACUMsjQ; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y83si4174893wmc.227.2017.12.14.20.37.22; Thu, 14 Dec 2017 20:37:23 -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=20161025 header.b=SACUMsjQ; 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 130F5680C07; Fri, 15 Dec 2017 06:37:12 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C3F75680A0F for ; Fri, 15 Dec 2017 06:37:05 +0200 (EET) Received: by mail-pf0-f195.google.com with SMTP id e3so5319318pfi.10 for ; Thu, 14 Dec 2017 20:37:14 -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; bh=Yid5Wzodhdgg1MZlMzW+pan2YKzNJE9uOXESB/oPag4=; b=SACUMsjQdFpL1s3CPebW7+h9swfviuGZWYee3wUUyHLshMMTyweuSqazvvWC/al9tp tJewB8yWDfchcdMDEikrRSj1PHJE7QNYnnlnNCwXKaRUcvBJjRkor13hxPcx1EDVkASh XkVIEapFWs0K89GLIXhyjrpj4h0b8T+DMLgOA5KneTM2pTfErTvR6/BAHop0X1hz7EaS O01OBsfwnVyHRVO7/GvUCmv4yDL6k7D6vrtnVuYMk+r4WtV6lhvNpSKe7YhWvvADYrIV L9epWMpOvPEvSD1ejoApY+ViHS9NG2IFntlGUsknvSXQDHRucUPnARxH9cyDoWwy8GN0 Urpg== 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; bh=Yid5Wzodhdgg1MZlMzW+pan2YKzNJE9uOXESB/oPag4=; b=IpQZwOWP2q9/RDF/xJGpCsDQ0zj57u8tJgZuqfpVPNp99BSkFWPjuWOg4Zv0P8QyLb EdWNpYBeIDJ0/M1vHlBZ4aBWrJ8L/syOGrWSXQE7VyhR1h15WAJ4EuhkIMED1Dq535wx y/8oStSz134S9Gc1ZWDteUsAGFjQkpGD4WlAdbYInxGmYhK1uwK7H5BWB7OBh2ZQHx7Q IJzXWCHNMUuhbIm6cmzav4hAsntvNm1X9UuI4FC9r7DAQq7CvOMN+ZKkEs8fClCcx7ZN aDupYQGfFfVbyGED2KGJsSXj4vy3vmoCu6Pl9NgNVkRoO2EaFDTKBF2hGxRuN6CzSmRF e5Cg== X-Gm-Message-State: AKGB3mISL3JXNweSWR3sV8Mv5FaV+zyg8zTKK/sXsy6CSkamXcBmPJN/ gtR6Z5WUuce7TDVovBP/DvY+nQ== X-Received: by 10.84.253.150 with SMTP id a22mr11760617plm.65.1513312146492; Thu, 14 Dec 2017 20:29:06 -0800 (PST) Received: from localhost.localdomain (172.96.202.160.16clouds.com. [172.96.202.160]) by smtp.gmail.com with ESMTPSA id l24sm8681143pgu.38.2017.12.14.20.29.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 14 Dec 2017 20:29:05 -0800 (PST) From: mymoeyard@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 14 Dec 2017 23:28:05 -0500 Message-Id: <1513312085-31436-1-git-send-email-mymoeyard@gmail.com> X-Mailer: git-send-email 1.7.1 Subject: [FFmpeg-devel] [PATCH, V2] avformat/concat: Fix wrong wrapped timestamp 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: Wu Zhiqiang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Wu Zhiqiang When using concat protocol, start from middle of file will generate non-zero wrap reference. If seek to time before the wrap reference, wrap control will generate wrong wrapped timestamp. Copy wrap related stream properties when reading header can fix this problem. Signed-off-by: Wu Zhiqiang --- libavformat/concatdec.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavformat/concatdec.c b/libavformat/concatdec.c index 0e189012ad..8dae2737df 100644 --- a/libavformat/concatdec.c +++ b/libavformat/concatdec.c @@ -188,6 +188,11 @@ static int copy_stream_props(AVStream *st, AVStream *source_st) st->time_base = source_st->time_base; st->sample_aspect_ratio = source_st->sample_aspect_ratio; + /* Fix wrap control problem */ + avpriv_set_pts_info(st, source_st->pts_wrap_bits, source_st->time_base.num, source_st->time_base.den); + st->pts_wrap_behavior = source_st->pts_wrap_behavior; + st->pts_wrap_reference = source_st->pts_wrap_reference; + av_dict_copy(&st->metadata, source_st->metadata, 0); return 0; }