From patchwork Wed Aug 9 01:48:05 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 4664 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.46.211 with SMTP id u202csp325405vsu; Tue, 8 Aug 2017 18:49:22 -0700 (PDT) X-Received: by 10.223.182.130 with SMTP id j2mr5109532wre.254.1502243362032; Tue, 08 Aug 2017 18:49:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1502243361; cv=none; d=google.com; s=arc-20160816; b=gs6i5nHsCims5hhOdV+HQhwPw+YX0hn97PUubjTkEr2o/gs2fAQFazjANO4rBwqMcb dUWTggSEu17X59Cvr8213a422LXxuS1mXWg9Yv7yHCUMLIL9kX0CDjInJjWdjvRD/eSV erf7EFrSN2UY2ukcftnTJpTHa9E2TFEEW0jr/1w8RHRWF5ztglsvB029X+0SzAUn7HcO vBfGLk7wfcblic1s/8ZHH1xmlOyIGxLy/j3EwHlXI0ksxAPJjNvP7IgQDSXj2+9kF5gT Ruj50CXWTAbay62PLizGCyn7KNSg0GoGvwDHTY98dubUIQyZo9F6dkPybusT16OUDWOD TpsA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:user-agent :in-reply-to:mime-version:references:message-id:to:from:date :delivered-to:arc-authentication-results; bh=NqbOurEiuE7dUPpcQkxQv5w+y0+bndVxbu5HAPkli5c=; b=Aj3E+4u20MRFK4g8Ke4Bnk1CikIF73KG/IO4R2o/ZGkfturpaNQQ+5tY0UwRSm2Ao1 1CtBo3gdEoN2frWoBXVbSzPzg1OO5fQ+Tu2hQUdoQFMyznhAJdTLLMqsA5O8LBtK2n4N Wd7wv6dAXSa+ftR7HFmRP2OVggJ7tw9QWzgPGkUNH2/ISV7b7ooLuLjK8ttPamIpex3M RuROxbaRiW8uNhptRRBmFy644Sz9lTcoKhdu2PVO+nBf6XVwaW4DVI6bLumbo2Sq/bdk MxW6QB7VggNb8+SoR1B23WGPTeEt/N9Qe5MS0bLZzlm2sKZ/dEL4A+48zF6DNrA+lozU pRZA== ARC-Authentication-Results: i=1; mx.google.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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g126si2122463wme.199.2017.08.08.18.49.21; Tue, 08 Aug 2017 18:49:21 -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; 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 ADB6668996C; Wed, 9 Aug 2017 04:49:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay4-d.mail.gandi.net (relay4-d.mail.gandi.net [217.70.183.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 08325689888 for ; Wed, 9 Aug 2017 04:49:10 +0300 (EEST) X-Originating-IP: 213.47.41.20 Received: from localhost (213-47-41-20.cable.dynamic.surfer.at [213.47.41.20]) (Authenticated sender: michael@niedermayer.cc) by relay4-d.mail.gandi.net (Postfix) with ESMTPSA id 61B0D17209F for ; Wed, 9 Aug 2017 03:49:11 +0200 (CEST) Date: Wed, 9 Aug 2017 03:48:05 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20170809014805.GL29506@nb4> References: <20170719222837.GE3740@nb4> <20170720120059.GF3740@nb4> <20170725200319.GL3740@nb4> <913B51B0-3E87-4A4D-A87C-B5CE223D3819@gmail.com> MIME-Version: 1.0 In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [FFmpeg-devel] [mov] Fix trampling of ctts during seeks when sidx support is enabled. 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" On Mon, Aug 07, 2017 at 12:31:01PM -0700, Dale Curtis wrote: > On Fri, Aug 4, 2017 at 4:40 PM, Rodger Combs wrote: > > > + sc->ctts_data = av_fast_realloc(sc->ctts_data, > > &sc->ctts_allocated_size, request_size); > > ^ this line is incorrect; setting realloc's first arg to its return value > > leaks the existing allocation in the OOM case. Since you're doing your own > > calculation for the desired new size here, you may want to use av_reallocp > > (which frees the original allocation on failure). > > > > Thanks, fixed; kept av_fast_realloc() for size setting simplicity, but > reused function-scope ctts_data as temporary. > > > > > > When reading a trun that requires this sort of realloc, is it common for > > there to be any existing entries in the range we're writing? Would it be > > safe to remove+replace them? Could we do a single realloc + single memmove, > > and then fill the newly-opened space, rather than repeating the memmove for > > each entry? > > > > Yes it's common for their to be existing entries. To be clear this occurs > with standard files that are of sufficient length that a seek can occur > before all trun boxes are read. We could speculatively move all entries > based on the first insert and total entries count, but their are several > conditionals in av_add_index_entry() which may cause a bail out and such > failure would be unrecoverable (maybe painfully?) if we moved everything > ahead of time. > > - dale > libavformat/isom.h | 1 > libavformat/mov.c | 79 +++++++++++++++++---------- > tests/fate/seek.mak | 3 + > tests/ref/seek/extra-mp4 | 134 +++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 189 insertions(+), 28 deletions(-) > a2c3a9c29cc60b76508cc7fd9168bdffd60c6ead ctts_fix_v7.patch > From 4938dac2d9f3b40c62822d9129046edbde44468d Mon Sep 17 00:00:00 2001 > From: Dale Curtis > Date: Mon, 17 Jul 2017 17:38:09 -0700 > Subject: [PATCH] Fix trampling of ctts during seeks when sidx support is > enabled. > > When sidx box support is enabled, the code will skip reading all > trun boxes (each containing ctts entries for samples inthat box). > > If seeks are attempted before all ctts values are known, the old > code would dump ctts entries into the wrong location. These are > then used to compute pts values which leads to out of order and > incorrectly timestamped packets. > > This patch fixes ctts processing by always using the index returned > by av_add_index_entry() as the ctts_data index. When the index gains > new entries old values are reshuffled as appropriate. > > This approach makes sense since the mov demuxer is already relying > on the mapping of AVIndex entries to samples for correct demuxing. > > As a result of this all ctts entries are now 1-count. A followup > change will be submitted to remove support for > 1 count entries > which will simplify seeking. > > Notes for future improvement: > Probably there are other boxes (stts, stsc, etc) that are impacted > by this issue... this patch only attempts to fix ctts since it > completely breaks packet timestamping. > > This patch continues using an array for the ctts data, which is not > the most ideal given the rearrangement that needs to happen (via > memmove as new entries are read in). Ideally AVIndex and the ctts > data would be set-type structures so addition is always worst case > O(lg(n)) instead of the O(n^2) that exists now; this slowdown is > noticeable during seeks. > > Signed-off-by: Dale Curtis > --- > libavformat/isom.h | 1 + > libavformat/mov.c | 79 ++++++++++++++++++---------- > tests/fate/seek.mak | 3 ++ > tests/ref/seek/extra-mp4 | 134 +++++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 189 insertions(+), 28 deletions(-) > create mode 100644 tests/ref/seek/extra-mp4 the fate test seems to fail: did i do something silly ? TEST seek-extra-mp4 Test seek-extra-mp4 failed. Look at tests/data/fate/seek-extra-mp4.err for details. make: *** [fate-seek-extra-mp4] Error 1 [...] --- ./tests/ref/seek/extra-mp4 2017-08-09 03:46:04.041659416 +0200 +++ tests/data/fate/seek-extra-mp4 2017-08-09 03:46:18.565659589 +0200 @@ -1,134 +1,134 @@ -ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 4174 size: 147 -ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 4321 size: 24 -ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 4345 size: 6779 -ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 11124 size: 11041 +ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 48 size: 147 +ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 195 size: 24 +ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 219 size: 6779 +ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 6998 size: 11041 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 4174 size: 147 -ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 4321 size: 24 -ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 4345 size: 6779 -ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 11124 size: 11041 +ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 48 size: 147 +ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 195 size: 24 +ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 219 size: 6779 +ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 6998 size: 11041 ret: 0 st:-1 flags:1 ts: 101.894167 -ret: 0 st: 0 flags:1 dts: 101.300000 pts: 101.333333 pos:10974394 size: 67201 -ret: 0 st: 0 flags:0 dts: 101.333333 pts: 101.433333 pos:11041595 size: 3524 -ret: 0 st: 0 flags:0 dts: 101.366667 pts: 101.366667 pos:11045119 size: 562 -ret: 0 st: 0 flags:0 dts: 101.400000 pts: 101.400000 pos:11045681 size: 599 +ret: 0 st: 0 flags:1 dts: 101.300000 pts: 101.333333 pos:10931868 size: 67201 +ret: 0 st: 0 flags:0 dts: 101.333333 pts: 101.433333 pos:10999069 size: 3524 +ret: 0 st: 0 flags:0 dts: 101.366667 pts: 101.366667 pos:11002593 size: 562 +ret: 0 st: 0 flags:0 dts: 101.400000 pts: 101.400000 pos:11003155 size: 599 ret: 0 st: 0 flags:0 ts: 24.788333 -ret: 0 st: 0 flags:1 dts: 25.300000 pts: 25.333333 pos:2607665 size: 40237 -ret: 0 st: 0 flags:0 dts: 25.333333 pts: 25.433333 pos:2647902 size: 2959 -ret: 0 st: 0 flags:0 dts: 25.366667 pts: 25.366667 pos:2650861 size: 197 -ret: 0 st: 0 flags:0 dts: 25.400000 pts: 25.400000 pos:2651058 size: 230 +ret: 0 st: 0 flags:1 dts: 25.300000 pts: 25.333333 pos:2593939 size: 40237 +ret: 0 st: 0 flags:0 dts: 25.333333 pts: 25.433333 pos:2634176 size: 2959 +ret: 0 st: 0 flags:0 dts: 25.366667 pts: 25.366667 pos:2637135 size: 197 +ret: 0 st: 0 flags:0 dts: 25.400000 pts: 25.400000 pos:2637332 size: 230 ret: 0 st: 0 flags:1 ts: 127.682500 -ret: 0 st: 0 flags:1 dts: 126.633333 pts: 126.666667 pos:13349318 size: 68705 -ret: 0 st: 0 flags:0 dts: 126.666667 pts: 126.766667 pos:13418023 size: 2914 -ret: 0 st: 0 flags:0 dts: 126.700000 pts: 126.700000 pos:13420937 size: 781 -ret: 0 st: 0 flags:0 dts: 126.733333 pts: 126.733333 pos:13421718 size: 817 +ret: 0 st: 0 flags:1 dts: 126.633333 pts: 126.666667 pos:13297192 size: 68705 +ret: 0 st: 0 flags:0 dts: 126.666667 pts: 126.766667 pos:13365897 size: 2914 +ret: 0 st: 0 flags:0 dts: 126.700000 pts: 126.700000 pos:13368811 size: 781 +ret: 0 st: 0 flags:0 dts: 126.733333 pts: 126.733333 pos:13369592 size: 817 ret: 0 st:-1 flags:0 ts: 50.576668 -ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5856029 size: 67867 -ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5923896 size: 1307 -ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5925203 size: 150 -ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5925353 size: 176 +ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5832703 size: 67867 +ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5900570 size: 1307 +ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5901877 size: 150 +ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5902027 size: 176 ret: 0 st:-1 flags:1 ts: 153.470835 -ret: 0 st: 0 flags:1 dts: 153.466667 pts: 153.500000 pos:15853683 size: 96133 -ret: 0 st: 0 flags:0 dts: 153.500000 pts: 153.533333 pos:15949816 size: 785 -ret: 0 st: 0 flags:0 dts: 153.533333 pts: 153.633333 pos:15950601 size: 3135 -ret: 0 st: 0 flags:0 dts: 153.566667 pts: 153.566667 pos:15953736 size: 859 +ret: 0 st: 0 flags:1 dts: 153.466667 pts: 153.500000 pos:15791957 size: 96133 +ret: 0 st: 0 flags:0 dts: 153.500000 pts: 153.533333 pos:15888090 size: 785 +ret: 0 st: 0 flags:0 dts: 153.533333 pts: 153.633333 pos:15888875 size: 3135 +ret: 0 st: 0 flags:0 dts: 153.566667 pts: 153.566667 pos:15892010 size: 859 ret: 0 st: 0 flags:0 ts: 76.365000 -ret: 0 st: 0 flags:1 dts: 77.833333 pts: 77.866667 pos:8653728 size: 41146 -ret: 0 st: 0 flags:0 dts: 77.866667 pts: 77.966667 pos:8694874 size: 4197 -ret: 0 st: 0 flags:0 dts: 77.900000 pts: 77.900000 pos:8699071 size: 653 -ret: 0 st: 0 flags:0 dts: 77.933333 pts: 77.933333 pos:8699724 size: 751 +ret: 0 st: 0 flags:1 dts: 77.833333 pts: 77.866667 pos:8620802 size: 41146 +ret: 0 st: 0 flags:0 dts: 77.866667 pts: 77.966667 pos:8661948 size: 4197 +ret: 0 st: 0 flags:0 dts: 77.900000 pts: 77.900000 pos:8666145 size: 653 +ret: 0 st: 0 flags:0 dts: 77.933333 pts: 77.933333 pos:8666798 size: 751 ret: 0 st: 0 flags:1 ts:-0.740833 -ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 4174 size: 147 -ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 4321 size: 24 -ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 4345 size: 6779 -ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 11124 size: 11041 +ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 48 size: 147 +ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 195 size: 24 +ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 219 size: 6779 +ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 6998 size: 11041 ret: 0 st:-1 flags:0 ts: 102.153336 -ret: 0 st: 0 flags:0 dts: 83.833333 pts: 83.900000 pos:9584397 size: 8129 -ret: 0 st: 0 flags:0 dts: 83.866667 pts: 83.866667 pos:9592526 size: 2247 -ret: 0 st: 0 flags:0 dts: 83.900000 pts: 83.966667 pos:9594773 size: 8990 -ret: 0 st: 0 flags:0 dts: 83.933333 pts: 83.933333 pos:9603763 size: 2386 +ret: 0 st: 0 flags:1 dts: 104.100000 pts: 104.133333 pos:11064650 size:112893 +ret: 0 st: 0 flags:0 dts: 104.133333 pts: 104.166667 pos:11177543 size: 585 +ret: 0 st: 0 flags:0 dts: 104.166667 pts: 104.200000 pos:11178128 size: 797 +ret: 0 st: 0 flags:0 dts: 104.200000 pts: 104.233333 pos:11178925 size: 810 ret: 0 st:-1 flags:1 ts: 25.047503 -ret: 0 st: 0 flags:1 dts: 20.233333 pts: 20.266667 pos:2224826 size: 51787 -ret: 0 st: 0 flags:0 dts: 20.266667 pts: 20.300000 pos:2276613 size: 488 -ret: 0 st: 0 flags:0 dts: 20.300000 pts: 20.400000 pos:2277101 size: 670 -ret: 0 st: 0 flags:0 dts: 20.333333 pts: 20.333333 pos:2277771 size: 84 +ret: 0 st: 0 flags:1 dts: 20.233333 pts: 20.266667 pos:2213020 size: 51787 +ret: 0 st: 0 flags:0 dts: 20.266667 pts: 20.300000 pos:2264807 size: 488 +ret: 0 st: 0 flags:0 dts: 20.300000 pts: 20.400000 pos:2265295 size: 670 +ret: 0 st: 0 flags:0 dts: 20.333333 pts: 20.333333 pos:2265965 size: 84 ret: 0 st: 0 flags:0 ts: 127.941667 -ret: 0 st: 0 flags:1 dts: 95.766667 pts: 95.800000 pos:10533174 size: 54642 -ret: 0 st: 0 flags:0 dts: 95.800000 pts: 95.833333 pos:10587816 size: 278 -ret: 0 st: 0 flags:0 dts: 95.833333 pts: 95.866667 pos:10588094 size: 101 -ret: 0 st: 0 flags:0 dts: 95.866667 pts: 95.900000 pos:10588195 size: 87 +ret: 0 st: 0 flags:1 dts: 131.233333 pts: 131.266667 pos:13662918 size: 62193 +ret: 0 st: 0 flags:0 dts: 131.266667 pts: 131.366667 pos:13725111 size: 2349 +ret: 0 st: 0 flags:0 dts: 131.300000 pts: 131.300000 pos:13727460 size: 571 +ret: 0 st: 0 flags:0 dts: 131.333333 pts: 131.333333 pos:13728031 size: 1190 ret: 0 st: 0 flags:1 ts: 50.835833 -ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5856029 size: 67867 -ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5923896 size: 1307 -ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5925203 size: 150 -ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5925353 size: 176 +ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5832703 size: 67867 +ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5900570 size: 1307 +ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5901877 size: 150 +ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5902027 size: 176 ret: 0 st:-1 flags:0 ts: 153.730004 -ret: 0 st: 0 flags:1 dts: 157.033333 pts: 157.066667 pos:16211536 size: 82702 -ret: 0 st: 0 flags:0 dts: 157.066667 pts: 157.166667 pos:16294238 size: 2273 -ret: 0 st: 0 flags:0 dts: 157.100000 pts: 157.100000 pos:16296511 size: 350 -ret: 0 st: 0 flags:0 dts: 157.133333 pts: 157.133333 pos:16296861 size: 337 +ret: 0 st: 0 flags:1 dts: 157.033333 pts: 157.066667 pos:16147890 size: 82702 +ret: 0 st: 0 flags:0 dts: 157.066667 pts: 157.166667 pos:16230592 size: 2273 +ret: 0 st: 0 flags:0 dts: 157.100000 pts: 157.100000 pos:16232865 size: 350 +ret: 0 st: 0 flags:0 dts: 157.133333 pts: 157.133333 pos:16233215 size: 337 ret: 0 st:-1 flags:1 ts: 76.624171 -ret: 0 st: 0 flags:1 dts: 75.966667 pts: 76.000000 pos:8514981 size: 94359 -ret: 0 st: 0 flags:0 dts: 76.000000 pts: 76.100000 pos:8609340 size: 483 -ret: 0 st: 0 flags:0 dts: 76.033333 pts: 76.033333 pos:8609823 size: 37 -ret: 0 st: 0 flags:0 dts: 76.066667 pts: 76.066667 pos:8609860 size: 56 +ret: 0 st: 0 flags:1 dts: 75.966667 pts: 76.000000 pos:8482055 size: 94359 +ret: 0 st: 0 flags:0 dts: 76.000000 pts: 76.100000 pos:8576414 size: 483 +ret: 0 st: 0 flags:0 dts: 76.033333 pts: 76.033333 pos:8576897 size: 37 +ret: 0 st: 0 flags:0 dts: 76.066667 pts: 76.066667 pos:8576934 size: 56 ret: 0 st: 0 flags:0 ts:-0.481667 -ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 4174 size: 147 -ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 4321 size: 24 -ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 4345 size: 6779 -ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 11124 size: 11041 +ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 48 size: 147 +ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 195 size: 24 +ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 219 size: 6779 +ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 6998 size: 11041 ret: 0 st: 0 flags:1 ts: 102.412500 -ret: 0 st: 0 flags:1 dts: 101.300000 pts: 101.333333 pos:10974394 size: 67201 -ret: 0 st: 0 flags:0 dts: 101.333333 pts: 101.433333 pos:11041595 size: 3524 -ret: 0 st: 0 flags:0 dts: 101.366667 pts: 101.366667 pos:11045119 size: 562 -ret: 0 st: 0 flags:0 dts: 101.400000 pts: 101.400000 pos:11045681 size: 599 +ret: 0 st: 0 flags:1 dts: 101.300000 pts: 101.333333 pos:10931868 size: 67201 +ret: 0 st: 0 flags:0 dts: 101.333333 pts: 101.433333 pos:10999069 size: 3524 +ret: 0 st: 0 flags:0 dts: 101.366667 pts: 101.366667 pos:11002593 size: 562 +ret: 0 st: 0 flags:0 dts: 101.400000 pts: 101.400000 pos:11003155 size: 599 ret: 0 st:-1 flags:0 ts: 25.306672 -ret: 0 st: 0 flags:1 dts: 27.400000 pts: 27.433333 pos:2674080 size:127347 -ret: 0 st: 0 flags:0 dts: 27.433333 pts: 27.466667 pos:2801427 size: 68 -ret: 0 st: 0 flags:0 dts: 27.466667 pts: 27.500000 pos:2801495 size: 1754 -ret: 0 st: 0 flags:0 dts: 27.500000 pts: 27.533333 pos:2803249 size: 4071 +ret: 0 st: 0 flags:1 dts: 27.400000 pts: 27.433333 pos:2660354 size:127347 +ret: 0 st: 0 flags:0 dts: 27.433333 pts: 27.466667 pos:2787701 size: 68 +ret: 0 st: 0 flags:0 dts: 27.466667 pts: 27.500000 pos:2787769 size: 1754 +ret: 0 st: 0 flags:0 dts: 27.500000 pts: 27.533333 pos:2789523 size: 4071 ret: 0 st:-1 flags:1 ts: 128.200839 -ret: 0 st: 0 flags:1 dts: 127.833333 pts: 127.866667 pos:13502895 size: 67346 -ret: 0 st: 0 flags:0 dts: 127.866667 pts: 127.966667 pos:13570241 size: 2936 -ret: 0 st: 0 flags:0 dts: 127.900000 pts: 127.900000 pos:13573177 size: 451 -ret: 0 st: 0 flags:0 dts: 127.933333 pts: 127.933333 pos:13573628 size: 537 +ret: 0 st: 0 flags:1 dts: 127.833333 pts: 127.866667 pos:13450769 size: 67346 +ret: 0 st: 0 flags:0 dts: 127.866667 pts: 127.966667 pos:13518115 size: 2936 +ret: 0 st: 0 flags:0 dts: 127.900000 pts: 127.900000 pos:13521051 size: 451 +ret: 0 st: 0 flags:0 dts: 127.933333 pts: 127.933333 pos:13521502 size: 537 ret: 0 st: 0 flags:0 ts: 51.095011 -ret: 0 st: 0 flags:1 dts: 52.066667 pts: 52.100000 pos:6025093 size:115773 -ret: 0 st: 0 flags:0 dts: 52.100000 pts: 52.200000 pos:6140866 size: 1620 -ret: 0 st: 0 flags:0 dts: 52.133333 pts: 52.133333 pos:6142486 size: 92 -ret: 0 st: 0 flags:0 dts: 52.166667 pts: 52.166667 pos:6142578 size: 533 +ret: 0 st: 0 flags:1 dts: 52.066667 pts: 52.100000 pos:6001767 size:115773 +ret: 0 st: 0 flags:0 dts: 52.100000 pts: 52.200000 pos:6117540 size: 1620 +ret: 0 st: 0 flags:0 dts: 52.133333 pts: 52.133333 pos:6119160 size: 92 +ret: 0 st: 0 flags:0 dts: 52.166667 pts: 52.166667 pos:6119252 size: 533 ret: 0 st: 0 flags:1 ts: 153.989178 -ret: 0 st: 0 flags:1 dts: 153.466667 pts: 153.500000 pos:15853683 size: 96133 -ret: 0 st: 0 flags:0 dts: 153.500000 pts: 153.533333 pos:15949816 size: 785 -ret: 0 st: 0 flags:0 dts: 153.533333 pts: 153.633333 pos:15950601 size: 3135 -ret: 0 st: 0 flags:0 dts: 153.566667 pts: 153.566667 pos:15953736 size: 859 +ret: 0 st: 0 flags:1 dts: 153.466667 pts: 153.500000 pos:15791957 size: 96133 +ret: 0 st: 0 flags:0 dts: 153.500000 pts: 153.533333 pos:15888090 size: 785 +ret: 0 st: 0 flags:0 dts: 153.533333 pts: 153.633333 pos:15888875 size: 3135 +ret: 0 st: 0 flags:0 dts: 153.566667 pts: 153.566667 pos:15892010 size: 859 ret: 0 st:-1 flags:0 ts: 76.883340 -ret: 0 st: 0 flags:1 dts: 77.833333 pts: 77.866667 pos:8653728 size: 41146 -ret: 0 st: 0 flags:0 dts: 77.866667 pts: 77.966667 pos:8694874 size: 4197 -ret: 0 st: 0 flags:0 dts: 77.900000 pts: 77.900000 pos:8699071 size: 653 -ret: 0 st: 0 flags:0 dts: 77.933333 pts: 77.933333 pos:8699724 size: 751 +ret: 0 st: 0 flags:1 dts: 77.833333 pts: 77.866667 pos:8620802 size: 41146 +ret: 0 st: 0 flags:0 dts: 77.866667 pts: 77.966667 pos:8661948 size: 4197 +ret: 0 st: 0 flags:0 dts: 77.900000 pts: 77.900000 pos:8666145 size: 653 +ret: 0 st: 0 flags:0 dts: 77.933333 pts: 77.933333 pos:8666798 size: 751 ret: 0 st:-1 flags:1 ts:-0.222493 -ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 4174 size: 147 -ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 4321 size: 24 -ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 4345 size: 6779 -ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 11124 size: 11041 +ret: 0 st: 0 flags:1 dts:-0.033333 pts: 0.000000 pos: 48 size: 147 +ret: 0 st: 0 flags:0 dts: 0.000000 pts: 0.033333 pos: 195 size: 24 +ret: 0 st: 0 flags:0 dts: 0.033333 pts: 0.066667 pos: 219 size: 6779 +ret: 0 st: 0 flags:0 dts: 0.066667 pts: 0.100000 pos: 6998 size: 11041 ret: 0 st: 0 flags:0 ts: 102.671678 -ret: 0 st: 0 flags:1 dts: 104.100000 pts: 104.133333 pos:11107176 size:112893 -ret: 0 st: 0 flags:0 dts: 104.133333 pts: 104.166667 pos:11220069 size: 585 -ret: 0 st: 0 flags:0 dts: 104.166667 pts: 104.200000 pos:11220654 size: 797 -ret: 0 st: 0 flags:0 dts: 104.200000 pts: 104.233333 pos:11221451 size: 810 +ret: 0 st: 0 flags:1 dts: 104.100000 pts: 104.133333 pos:11064650 size:112893 +ret: 0 st: 0 flags:0 dts: 104.133333 pts: 104.166667 pos:11177543 size: 585 +ret: 0 st: 0 flags:0 dts: 104.166667 pts: 104.200000 pos:11178128 size: 797 +ret: 0 st: 0 flags:0 dts: 104.200000 pts: 104.233333 pos:11178925 size: 810 ret: 0 st: 0 flags:1 ts: 25.565844 -ret: 0 st: 0 flags:1 dts: 25.300000 pts: 25.333333 pos:2607665 size: 40237 -ret: 0 st: 0 flags:0 dts: 25.333333 pts: 25.433333 pos:2647902 size: 2959 -ret: 0 st: 0 flags:0 dts: 25.366667 pts: 25.366667 pos:2650861 size: 197 -ret: 0 st: 0 flags:0 dts: 25.400000 pts: 25.400000 pos:2651058 size: 230 +ret: 0 st: 0 flags:1 dts: 25.300000 pts: 25.333333 pos:2593939 size: 40237 +ret: 0 st: 0 flags:0 dts: 25.333333 pts: 25.433333 pos:2634176 size: 2959 +ret: 0 st: 0 flags:0 dts: 25.366667 pts: 25.366667 pos:2637135 size: 197 +ret: 0 st: 0 flags:0 dts: 25.400000 pts: 25.400000 pos:2637332 size: 230 ret: 0 st:-1 flags:0 ts: 128.460008 -ret: 0 st: 0 flags:1 dts: 131.233333 pts: 131.266667 pos:13715044 size: 62193 -ret: 0 st: 0 flags:0 dts: 131.266667 pts: 131.366667 pos:13777237 size: 2349 -ret: 0 st: 0 flags:0 dts: 131.300000 pts: 131.300000 pos:13779586 size: 571 -ret: 0 st: 0 flags:0 dts: 131.333333 pts: 131.333333 pos:13780157 size: 1190 +ret: 0 st: 0 flags:1 dts: 131.233333 pts: 131.266667 pos:13662918 size: 62193 +ret: 0 st: 0 flags:0 dts: 131.266667 pts: 131.366667 pos:13725111 size: 2349 +ret: 0 st: 0 flags:0 dts: 131.300000 pts: 131.300000 pos:13727460 size: 571 +ret: 0 st: 0 flags:0 dts: 131.333333 pts: 131.333333 pos:13728031 size: 1190 ret: 0 st:-1 flags:1 ts: 51.354175 -ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5856029 size: 67867 -ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5923896 size: 1307 -ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5925203 size: 150 -ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5925353 size: 176 +ret: 0 st: 0 flags:1 dts: 50.633333 pts: 50.666667 pos:5832703 size: 67867 +ret: 0 st: 0 flags:0 dts: 50.666667 pts: 50.766667 pos:5900570 size: 1307 +ret: 0 st: 0 flags:0 dts: 50.700000 pts: 50.700000 pos:5901877 size: 150 +ret: 0 st: 0 flags:0 dts: 50.733333 pts: 50.733333 pos:5902027 size: 176