From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 1AE8940678 for ; Sun, 27 Feb 2022 06:35:55 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9F44D68AB2E; Sun, 27 Feb 2022 08:35:52 +0200 (EET) Received: from out162-62-57-87.mail.qq.com (out162-62-57-87.mail.qq.com [162.62.57.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 403AB68A7B8 for ; Sun, 27 Feb 2022 08:35:45 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1645943741; bh=jBPMd0TDWSWa9WlzX6OVlplrIXcBqRaVfPFq7v1dVjc=; h=From:Subject:Date:References:To:In-Reply-To; b=XKLzy4EDlTqL2SxIOrjs1l62I2ne1uIwoLw28wqgd00mQf7mCcfYfdOxhY5vEaWbE TFUqFs2DnQ/MbmwFoHSKveZZFmdTqNBjBsY0+dEBn6CLC1os1/RiwN2ywx81eRw19s SbSxrcWdrmpvHpXCLQ+BrzhSZwT3BFr2K0mUPggQ= Received: from [192.168.255.10] ([219.133.100.183]) by newxmesmtplogicsvrsza7.qq.com (NewEsmtp) with SMTP id 89C8BCFD; Sun, 27 Feb 2022 14:34:28 +0800 X-QQ-mid: xmsmtpt1645943668tg01gco3z Message-ID: X-QQ-XMAILINFO: Nb5MvX8fUen1CmVd79g4yNMkxosaug7YIo2rjAS1MeBsRqWaEnmxh9HOVlhICX 9YCfxkX0kuQEgUXlFJ8Zr3xg5yjDUa06msvWNx0EAv49KBj0pTVZfNC38iotAj0CvaXfvmhtDRPV 9wvCxB0fuMKbe9JMX7gcQS8faEg12DXszcUlVmgWyr3WnZkIIruDMxuEnHKBQfuJYm9D4Ucnf5N1 cdyc8XlZoyoih8YWYcZx6U7yfbiulX616n5+bKFHBSy2MEnbFOO8pGfLkQ/4wFmgX13rkCllU7QV NCRIu+QiREc/+nniS26i9r/71xhkBSPuzURNio3wzvhT/+mnUoR6XykiuqZT5xL8liVAMLYq1Ots gcfVo7VQLhWJz8qWLNH7BNAeTgxRi2tS8+aEms4gv1/NjW8D26Ouor6zLG8Maa6anVRKLBkGHTEv 3sGRGPQUfD+2OsQItrsRs8FjJaQ5vvDEmFt9TqYXl4ARlYUeplGZBll1x0CXqAITeZTiSYK30XZO 1ryL6dW7HiuCmBohKoREA0faEPf3K/YPtq6e5np4NPRd9t8l21PNBDWwE8lvI4a0JZuRU6sqy7Go fkymkip6WyihlRsuFFjMq2pMH42G65HHKqmSe1aCktBuH/7P47iN32o0sRhhMOKULi7YWUYEv0y+ 3Z0pv0V24dTX+aPL7EKP4xWzyOaKIQVLDdnDtg4+HGjzebDzozzJRXAW5jwDna/g8z6QY+go4/sv tYfZ6g0qStcV9Kcml0GDBToWjM8OhA7DwNxPUndVHySKYoNEfDyfw04bL/3MaIcGH0pzYxz4xU+j 69F7whzDHJXX+6iUorlrG6PvHrtbZiQK0NOQJ9vruDSFZWLPfNYo72W0FmIyj6ji2yFBuAEb62bc b915N2OT6y From: =?utf-8?B?InpoaWxpemhhbyjotbXlv5fnq4spIg==?= Mime-Version: 1.0 (Mac OS X Mail 14.0 \(3654.60.0.2.21\)) Date: Sun, 27 Feb 2022 14:34:28 +0800 References: To: FFmpeg development discussions and patches In-Reply-To: X-OQ-MSGID: X-Mailer: Apple Mail (2.3654.60.0.2.21) Subject: Re: [FFmpeg-devel] [PATCH v3 1/4] avformat/movenc: fix assert failure in get_cluster_duration() 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Ping. > On Dec 31, 2021, at 7:36 PM, Zhao Zhili wrote: > > When editlist is disabled, the workaournd method of shift dts to > zero and increase the first sample duration doesn't work if the > timestamp is larger than mp4 spec restriction (e.g., sample_delta > in stts entry). Further more, it triggers get_cluster_duration() > assert failure. This patch will drop large offsets between > multiple tracks. > --- > libavformat/movenc.c | 13 ++++++++++++- > 1 file changed, 12 insertions(+), 1 deletion(-) > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > index 0f912dd012..f5bb785b01 100644 > --- a/libavformat/movenc.c > +++ b/libavformat/movenc.c > @@ -5917,7 +5917,18 @@ int ff_mov_write_packet(AVFormatContext *s, AVPacket *pkt) > * to signal the difference in starting time without an edit list. > * Thus move the timestamp for this first sample to 0, increasing > * its duration instead. */ > - trk->cluster[trk->entry].dts = trk->start_dts = 0; > + if (pkt->dts + pkt->duration <= INT32_MAX) { > + trk->cluster[trk->entry].dts = trk->start_dts = 0; > + } else { > + /* Impossible to write a sample duration >= UINT32_MAX. > + * Use INT32_MAX as a tight restriction. > + */ > + trk->start_dts = pkt->dts; > + av_log(s, AV_LOG_WARNING, > + "Track %d starts with a nonzero dts %" PRId64 > + " which will be shifted to zero\n", > + pkt->stream_index, pkt->dts); > + } > } > if (trk->start_dts == AV_NOPTS_VALUE) { > trk->start_dts = pkt->dts; > -- > 2.31.1 > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".