[FFmpeg-devel] [RFC/PATCH] WAV muxer: add RF64 support

Daniel Verkamp daniel at drv.nu
Thu Jan 31 04:03:38 CET 2013


On Tue, Jan 29, 2013 at 4:04 AM, Paul B Mahol <onemda at gmail.com> wrote:
> On 1/23/13, Daniel Verkamp <daniel at drv.nu> wrote:
>> ---
>>  libavformat/wavenc.c | 65
>> +++++++++++++++++++++++++++++++++++++++++++++++-----
>>  1 file changed, 59 insertions(+), 6 deletions(-)
>>
>
> [...]
>
> Missing copyright update.

Updates:
- changed to a single -rf64 option with named options "auto"
(default), "always", and "never"; other bikeshed colors welcome...
- updated test refs (since -rf64 auto is default in this version of
the patch, this hits every test that uses the wav muxer)
- added copyright notice

Still needs Changelog/version bump.

-- Daniel
-------------- next part --------------
From b80a0dda1af50c7f5200adc210f2599043033149 Mon Sep 17 00:00:00 2001
From: Daniel Verkamp <daniel at drv.nu>
Date: Wed, 23 Jan 2013 01:30:23 -0700
Subject: [PATCH 1/2] WAV muxer: add RF64 support

---
 libavformat/wavenc.c | 73 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 67 insertions(+), 6 deletions(-)

diff --git a/libavformat/wavenc.c b/libavformat/wavenc.c
index 2e80a75..6c6c201 100644
--- a/libavformat/wavenc.c
+++ b/libavformat/wavenc.c
@@ -5,6 +5,9 @@
  * Sony Wave64 muxer
  * Copyright (c) 2012 Paul B Mahol
  *
+ * WAV muxer RF64 support
+ * Copyright (c) 2013 Daniel Verkamp <daniel at drv.nu>
+ *
  * This file is part of FFmpeg.
  *
  * FFmpeg is free software; you can redistribute it and/or
@@ -36,14 +39,20 @@
 #include "internal.h"
 #include "riff.h"
 
+#define RF64_AUTO   (-1)
+#define RF64_NEVER  0
+#define RF64_ALWAYS 1
+
 typedef struct WAVMuxContext {
     const AVClass *class;
     int64_t data;
     int64_t fact_pos;
+    int64_t ds64;
     int64_t minpts;
     int64_t maxpts;
     int last_duration;
     int write_bext;
+    int rf64;
 } WAVMuxContext;
 
 #if CONFIG_WAV_MUXER
@@ -107,10 +116,24 @@ static int wav_write_header(AVFormatContext *s)
     AVIOContext *pb = s->pb;
     int64_t fmt;
 
+    if (wav->rf64 == RF64_ALWAYS) {
+        ffio_wfourcc(pb, "RF64");
+        avio_wl32(pb, -1); /* RF64 chunk size: use size in ds64 */
+    } else {
     ffio_wfourcc(pb, "RIFF");
     avio_wl32(pb, 0); /* file length */
+    }
+
     ffio_wfourcc(pb, "WAVE");
 
+    if (wav->rf64 != RF64_NEVER) {
+        /* write empty ds64 chunk or JUNK chunk to reserve space for ds64 */
+        ffio_wfourcc(pb, wav->rf64 == RF64_ALWAYS ? "ds64" : "JUNK");
+        avio_wl32(pb, 28); /* chunk size */
+        wav->ds64 = avio_tell(pb);
+        ffio_fill(pb, 0, 28);
+    }
+
     /* format header */
     fmt = ff_start_tag(pb, "fmt ");
     if (ff_put_wav_header(pb, s->streams[0]->codec) < 0) {
@@ -163,31 +186,65 @@ static int wav_write_trailer(AVFormatContext *s)
 {
     AVIOContext *pb  = s->pb;
     WAVMuxContext    *wav = s->priv_data;
-    int64_t file_size;
+    int64_t file_size, data_size;
+    int64_t number_of_samples = 0;
+    int rf64 = 0;
 
     avio_flush(pb);
 
     if (s->pb->seekable) {
-        ff_end_tag(pb, wav->data);
-
         /* update file size */
         file_size = avio_tell(pb);
+        data_size = file_size - wav->data;
+        if (wav->rf64 == RF64_ALWAYS || (wav->rf64 == RF64_AUTO && file_size - 8 > UINT32_MAX)) {
+            rf64 = 1;
+        } else {
         avio_seek(pb, 4, SEEK_SET);
         avio_wl32(pb, (uint32_t)(file_size - 8));
         avio_seek(pb, file_size, SEEK_SET);
 
+                ff_end_tag(pb, wav->data);
         avio_flush(pb);
+        }
 
-        if(s->streams[0]->codec->codec_tag != 0x01) {
-            /* Update num_samps in fact chunk */
-            int number_of_samples;
             number_of_samples = av_rescale(wav->maxpts - wav->minpts + wav->last_duration,
                                            s->streams[0]->codec->sample_rate * (int64_t)s->streams[0]->time_base.num,
                                            s->streams[0]->time_base.den);
+
+        if(s->streams[0]->codec->codec_tag != 0x01) {
+            /* Update num_samps in fact chunk */
             avio_seek(pb, wav->fact_pos, SEEK_SET);
+            if (rf64 || (wav->rf64 == RF64_AUTO && number_of_samples > UINT32_MAX)) {
+                rf64 = 1;
+                avio_wl32(pb, -1);
+            } else {
             avio_wl32(pb, number_of_samples);
             avio_seek(pb, file_size, SEEK_SET);
             avio_flush(pb);
+            }
+        }
+
+        if (rf64) {
+            /* overwrite RIFF with RF64 */
+            avio_seek(pb, 0, SEEK_SET);
+            ffio_wfourcc(pb, "RF64");
+            avio_wl32(pb, -1);
+
+            /* write ds64 chunk (overwrite JUNK if rf64 == RF64_AUTO) */
+            avio_seek(pb, wav->ds64 - 8, SEEK_SET);
+            ffio_wfourcc(pb, "ds64");
+            avio_wl32(pb, 28);                  /* ds64 chunk size */
+            avio_wl64(pb, file_size - 8);       /* RF64 chunk size */
+            avio_wl64(pb, data_size);           /* data chunk size */
+            avio_wl64(pb, number_of_samples);   /* fact chunk number of samples */
+            avio_wl32(pb, 0);                   /* number of table entries for non-'data' chunks */
+
+            /* write -1 in data chunk size */
+            avio_seek(pb, wav->data - 4, SEEK_SET);
+            avio_wl32(pb, -1);
+
+            avio_seek(pb, file_size, SEEK_SET);
+            avio_flush(pb);
         }
     }
     return 0;
@@ -197,6 +254,10 @@ static int wav_write_trailer(AVFormatContext *s)
 #define ENC AV_OPT_FLAG_ENCODING_PARAM
 static const AVOption options[] = {
     { "write_bext", "Write BEXT chunk.", OFFSET(write_bext), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, ENC },
+    { "rf64",       "Use RF64 header rather than RIFF for large files.",    OFFSET(rf64), AV_OPT_TYPE_INT,   { .i64 = RF64_AUTO   }, -1,      1,       ENC, "rf64" },
+    { "auto",       "Write RF64 header if file grows large enough.",        0,            AV_OPT_TYPE_CONST, { .i64 = RF64_AUTO   }, INT_MIN, INT_MAX, ENC, "rf64" },
+    { "always",     "Always write RF64 header regardless of file size.",    0,            AV_OPT_TYPE_CONST, { .i64 = RF64_ALWAYS }, INT_MIN, INT_MAX, ENC, "rf64" },
+    { "never",      "Never write RF64 header regardless of file size.",     0,            AV_OPT_TYPE_CONST, { .i64 = RF64_NEVER  }, INT_MIN, INT_MAX, ENC, "rf64" },
     { NULL },
 };
 
-- 
1.8.1.1
-------------- next part --------------
From 516a2049c1e309ff352c9b5999a3af7f92132782 Mon Sep 17 00:00:00 2001
From: Daniel Verkamp <daniel at drv.nu>
Date: Wed, 30 Jan 2013 19:49:19 -0700
Subject: [PATCH 2/2] Update test references for WAV RF64 support

---
 tests/ref/acodec/adpcm-adx                        |  2 +-
 tests/ref/acodec/adpcm-ima_qt                     |  2 +-
 tests/ref/acodec/adpcm-ima_wav                    |  6 +--
 tests/ref/acodec/adpcm-ms                         |  6 +--
 tests/ref/acodec/adpcm-swf                        |  2 +-
 tests/ref/acodec/adpcm-yamaha                     |  6 +--
 tests/ref/acodec/alac                             |  2 +-
 tests/ref/acodec/flac                             |  2 +-
 tests/ref/acodec/g723_1                           |  2 +-
 tests/ref/acodec/mp2                              |  2 +-
 tests/ref/acodec/pcm-alaw                         |  6 +--
 tests/ref/acodec/pcm-f32be                        |  2 +-
 tests/ref/acodec/pcm-f32le                        |  6 +--
 tests/ref/acodec/pcm-f64be                        |  2 +-
 tests/ref/acodec/pcm-f64le                        |  6 +--
 tests/ref/acodec/pcm-mulaw                        |  6 +--
 tests/ref/acodec/pcm-s16be                        |  2 +-
 tests/ref/acodec/pcm-s16be_planar                 |  2 +-
 tests/ref/acodec/pcm-s16le                        |  6 +--
 tests/ref/acodec/pcm-s16le_planar                 |  2 +-
 tests/ref/acodec/pcm-s24be                        |  2 +-
 tests/ref/acodec/pcm-s24le                        |  6 +--
 tests/ref/acodec/pcm-s24le_planar                 |  2 +-
 tests/ref/acodec/pcm-s32be                        |  2 +-
 tests/ref/acodec/pcm-s32le                        |  6 +--
 tests/ref/acodec/pcm-s32le_planar                 |  2 +-
 tests/ref/acodec/pcm-s8                           |  2 +-
 tests/ref/acodec/pcm-s8_planar                    |  2 +-
 tests/ref/acodec/pcm-u16be                        |  2 +-
 tests/ref/acodec/pcm-u16le                        |  2 +-
 tests/ref/acodec/pcm-u24be                        |  2 +-
 tests/ref/acodec/pcm-u24le                        |  2 +-
 tests/ref/acodec/pcm-u32be                        |  2 +-
 tests/ref/acodec/pcm-u32le                        |  2 +-
 tests/ref/acodec/pcm-u8                           |  6 +--
 tests/ref/acodec/roqaudio                         |  2 +-
 tests/ref/fate/mapchan-6ch-extract-2              |  4 +-
 tests/ref/fate/mapchan-6ch-extract-2-downmix-mono |  2 +-
 tests/ref/fate/mapchan-silent-mono                |  2 +-
 tests/ref/lavf/wav                                |  4 +-
 tests/ref/seek/acodec-adpcm-ima_wav               | 54 +++++++++++------------
 tests/ref/seek/acodec-adpcm-ms                    | 54 +++++++++++------------
 tests/ref/seek/acodec-adpcm-yamaha                | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-alaw                    | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-f32le                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-f64le                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-mulaw                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-s16le                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-s24le                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-s32le                   | 54 +++++++++++------------
 tests/ref/seek/acodec-pcm-u8                      | 54 +++++++++++------------
 tests/ref/seek/lavf-wav                           | 30 ++++++-------
 52 files changed, 376 insertions(+), 376 deletions(-)

diff --git a/tests/ref/acodec/adpcm-adx b/tests/ref/acodec/adpcm-adx
index 2bc49ab..295dc7d 100644
--- a/tests/ref/acodec/adpcm-adx
+++ b/tests/ref/acodec/adpcm-adx
@@ -1,4 +1,4 @@
 0a30509d9296b857e134b762b76dbc31 *tests/data/fate/acodec-adpcm-adx.adx
 297720 tests/data/fate/acodec-adpcm-adx.adx
-2dbc601ed5259f4d74dc48ccd8da7eaf *tests/data/fate/acodec-adpcm-adx.out.wav
+0c82d8f61e1d6bbb90676e553473f83c *tests/data/fate/acodec-adpcm-adx.out.wav
 stddev: 6989.46 PSNR: 19.44 MAXDIFF:65398 bytes:  1058400/  1058432
diff --git a/tests/ref/acodec/adpcm-ima_qt b/tests/ref/acodec/adpcm-ima_qt
index ace5325..634cb74 100644
--- a/tests/ref/acodec/adpcm-ima_qt
+++ b/tests/ref/acodec/adpcm-ima_qt
@@ -1,4 +1,4 @@
 44691f14cf5bbef5005df27c692b93ab *tests/data/fate/acodec-adpcm-ima_qt.aiff
 281252 tests/data/fate/acodec-adpcm-ima_qt.aiff
-b0fafd002c38fb70acaddfda1a31ed61 *tests/data/fate/acodec-adpcm-ima_qt.out.wav
+7e41b9fa92389382ec394e56873ef2b5 *tests/data/fate/acodec-adpcm-ima_qt.out.wav
 stddev:  904.76 PSNR: 37.20 MAXDIFF:34029 bytes:  1058400/  1058560
diff --git a/tests/ref/acodec/adpcm-ima_wav b/tests/ref/acodec/adpcm-ima_wav
index 6d83fd5..9298a4d 100644
--- a/tests/ref/acodec/adpcm-ima_wav
+++ b/tests/ref/acodec/adpcm-ima_wav
@@ -1,4 +1,4 @@
-56b75c3a6dacedcf2ce7b0586aa33594 *tests/data/fate/acodec-adpcm-ima_wav.wav
-267324 tests/data/fate/acodec-adpcm-ima_wav.wav
-ddddfa47302da540abf19224202bef57 *tests/data/fate/acodec-adpcm-ima_wav.out.wav
+9f139125580daac78ce5595d803ec238 *tests/data/fate/acodec-adpcm-ima_wav.wav
+267360 tests/data/fate/acodec-adpcm-ima_wav.wav
+c61d2cc478be372141d712d32e1ef191 *tests/data/fate/acodec-adpcm-ima_wav.out.wav
 stddev:  903.51 PSNR: 37.21 MAXDIFF:34026 bytes:  1058400/  1061748
diff --git a/tests/ref/acodec/adpcm-ms b/tests/ref/acodec/adpcm-ms
index eb8515d..f336a09 100644
--- a/tests/ref/acodec/adpcm-ms
+++ b/tests/ref/acodec/adpcm-ms
@@ -1,4 +1,4 @@
-a407b87daeef5b25dfb6c5b3f519e9c1 *tests/data/fate/acodec-adpcm-ms.wav
-268378 tests/data/fate/acodec-adpcm-ms.wav
-22863fb278c4e0ebe9c34cb15db5dd6b *tests/data/fate/acodec-adpcm-ms.out.wav
+d0771cc9d94cf340bad9c4ff01bd5ef2 *tests/data/fate/acodec-adpcm-ms.wav
+268414 tests/data/fate/acodec-adpcm-ms.wav
+3b02f36fd8943cfd7b147899a704d2cb *tests/data/fate/acodec-adpcm-ms.out.wav
 stddev: 1050.01 PSNR: 35.91 MAXDIFF:29806 bytes:  1058400/  1060576
diff --git a/tests/ref/acodec/adpcm-swf b/tests/ref/acodec/adpcm-swf
index fddb771..23ec32a 100644
--- a/tests/ref/acodec/adpcm-swf
+++ b/tests/ref/acodec/adpcm-swf
@@ -1,4 +1,4 @@
 42d4639866ed4d692eaf126228a4fa2a *tests/data/fate/acodec-adpcm-swf.flv
 269166 tests/data/fate/acodec-adpcm-swf.flv
-f7df69d3fe708303820f2a9d00140a5b *tests/data/fate/acodec-adpcm-swf.out.wav
+cc685cddb35902a56b7ce8e8f3f6c073 *tests/data/fate/acodec-adpcm-swf.out.wav
 stddev:  933.58 PSNR: 36.93 MAXDIFF:51119 bytes:  1058400/  1064960
diff --git a/tests/ref/acodec/adpcm-yamaha b/tests/ref/acodec/adpcm-yamaha
index da60f44..c47a7b6 100644
--- a/tests/ref/acodec/adpcm-yamaha
+++ b/tests/ref/acodec/adpcm-yamaha
@@ -1,4 +1,4 @@
-e9c14f701d25947317db9367b9dc772d *tests/data/fate/acodec-adpcm-yamaha.wav
-265274 tests/data/fate/acodec-adpcm-yamaha.wav
-1488b5974fa040a65f0d407fc0224c6a *tests/data/fate/acodec-adpcm-yamaha.out.wav
+452db8fa0cec1320f37cd46fd8ddb366 *tests/data/fate/acodec-adpcm-yamaha.wav
+265310 tests/data/fate/acodec-adpcm-yamaha.wav
+0b97b1fac01510b9f0b24b8dc3432206 *tests/data/fate/acodec-adpcm-yamaha.out.wav
 stddev: 1247.60 PSNR: 34.41 MAXDIFF:39895 bytes:  1058400/  1060864
diff --git a/tests/ref/acodec/alac b/tests/ref/acodec/alac
index d923719..fccd9b7 100644
--- a/tests/ref/acodec/alac
+++ b/tests/ref/acodec/alac
@@ -1,4 +1,4 @@
 f01f453dd13c4e88266409cddf2a7177 *tests/data/fate/acodec-alac.mov
 389018 tests/data/fate/acodec-alac.mov
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-alac.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-alac.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/flac b/tests/ref/acodec/flac
index 1cc3770..f3a46d9 100644
--- a/tests/ref/acodec/flac
+++ b/tests/ref/acodec/flac
@@ -1,4 +1,4 @@
 151eef9097f944726968bec48649f00a *tests/data/fate/acodec-flac.flac
 361582 tests/data/fate/acodec-flac.flac
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-flac.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-flac.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/g723_1 b/tests/ref/acodec/g723_1
index 9f88a76..1c6c58b 100644
--- a/tests/ref/acodec/g723_1
+++ b/tests/ref/acodec/g723_1
@@ -1,4 +1,4 @@
 dec0deb2425e908d232d2471acff04a3 *tests/data/fate/acodec-g723_1.g723_1
 4800 tests/data/fate/acodec-g723_1.g723_1
-d70776846d77c652bceed281fcca9cc8 *tests/data/fate/acodec-g723_1.out.wav
+95128303bf9fd6518e7305e27ee7c7c1 *tests/data/fate/acodec-g723_1.out.wav
 stddev: 8423.47 PSNR: 17.82 MAXDIFF:53292 bytes:    95992/    96000
diff --git a/tests/ref/acodec/mp2 b/tests/ref/acodec/mp2
index 42381b4..98aa766 100644
--- a/tests/ref/acodec/mp2
+++ b/tests/ref/acodec/mp2
@@ -1,4 +1,4 @@
 f6eb0a205350bbd7fb1028a01c7ae8aa *tests/data/fate/acodec-mp2.mp2
 96130 tests/data/fate/acodec-mp2.mp2
-5a669ca7321adc6ab66a3eade4035909 *tests/data/fate/acodec-mp2.out.wav
+f5137509157675cc3d73abcb4a8974ed *tests/data/fate/acodec-mp2.out.wav
 stddev: 4384.33 PSNR: 23.49 MAXDIFF:52631 bytes:  1058400/  1057916
diff --git a/tests/ref/acodec/pcm-alaw b/tests/ref/acodec/pcm-alaw
index 28ce960..53dbd85 100644
--- a/tests/ref/acodec/pcm-alaw
+++ b/tests/ref/acodec/pcm-alaw
@@ -1,4 +1,4 @@
-a2dd6a934ec6d5ec901a211652e85227 *tests/data/fate/acodec-pcm-alaw.wav
-529258 tests/data/fate/acodec-pcm-alaw.wav
-f323f7551ffad91de8613f44dcb198b6 *tests/data/fate/acodec-pcm-alaw.out.wav
+2c572139484868ca9f0f33cd02a347fa *tests/data/fate/acodec-pcm-alaw.wav
+529294 tests/data/fate/acodec-pcm-alaw.wav
+ae40471fefefeaa166759b0efae2f5d7 *tests/data/fate/acodec-pcm-alaw.out.wav
 stddev:  101.67 PSNR: 56.19 MAXDIFF:  515 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-f32be b/tests/ref/acodec/pcm-f32be
index 5bd700c..76074b4 100644
--- a/tests/ref/acodec/pcm-f32be
+++ b/tests/ref/acodec/pcm-f32be
@@ -1,4 +1,4 @@
 e74eb6b65cb397ce541bac120b00680a *tests/data/fate/acodec-pcm-f32be.au
 2116832 tests/data/fate/acodec-pcm-f32be.au
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-f32be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-f32be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-f32le b/tests/ref/acodec/pcm-f32le
index 681f083..64c5275 100644
--- a/tests/ref/acodec/pcm-f32le
+++ b/tests/ref/acodec/pcm-f32le
@@ -1,4 +1,4 @@
-653d82a64b7bd96ac193e105e9f92d4c *tests/data/fate/acodec-pcm-f32le.wav
-2116880 tests/data/fate/acodec-pcm-f32le.wav
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-f32le.out.wav
+d9e406e4ef50bfab83348347d873907c *tests/data/fate/acodec-pcm-f32le.wav
+2116916 tests/data/fate/acodec-pcm-f32le.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-f32le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-f64be b/tests/ref/acodec/pcm-f64be
index fd0cff6..09ab6ea 100644
--- a/tests/ref/acodec/pcm-f64be
+++ b/tests/ref/acodec/pcm-f64be
@@ -1,4 +1,4 @@
 8c8ba9d2c68384c5f077306e220f1188 *tests/data/fate/acodec-pcm-f64be.au
 4233632 tests/data/fate/acodec-pcm-f64be.au
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-f64be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-f64be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-f64le b/tests/ref/acodec/pcm-f64le
index c6cb027..8f5f7c5 100644
--- a/tests/ref/acodec/pcm-f64le
+++ b/tests/ref/acodec/pcm-f64le
@@ -1,4 +1,4 @@
-48b4cd378f47a50dc902aa03cc8280ed *tests/data/fate/acodec-pcm-f64le.wav
-4233680 tests/data/fate/acodec-pcm-f64le.wav
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-f64le.out.wav
+f74379ed38bc103457310b93ab683651 *tests/data/fate/acodec-pcm-f64le.wav
+4233716 tests/data/fate/acodec-pcm-f64le.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-f64le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-mulaw b/tests/ref/acodec/pcm-mulaw
index bd2a1e8..8d42c81 100644
--- a/tests/ref/acodec/pcm-mulaw
+++ b/tests/ref/acodec/pcm-mulaw
@@ -1,4 +1,4 @@
-fd10ee54bd298fc29fd6fc70baa71414 *tests/data/fate/acodec-pcm-mulaw.wav
-529258 tests/data/fate/acodec-pcm-mulaw.wav
-7ae8c3fc804bd574006fd547fe28980c *tests/data/fate/acodec-pcm-mulaw.out.wav
+29b9a81ed6b36bf357379e368ee59f98 *tests/data/fate/acodec-pcm-mulaw.wav
+529294 tests/data/fate/acodec-pcm-mulaw.wav
+47d471e51361d009b7f0099d2bf603b0 *tests/data/fate/acodec-pcm-mulaw.out.wav
 stddev:  103.38 PSNR: 56.04 MAXDIFF:  644 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s16be b/tests/ref/acodec/pcm-s16be
index 6f7222a..08f6ea7 100644
--- a/tests/ref/acodec/pcm-s16be
+++ b/tests/ref/acodec/pcm-s16be
@@ -1,4 +1,4 @@
 d00ca427a66be2e33ca8d63bcde41316 *tests/data/fate/acodec-pcm-s16be.mov
 1059069 tests/data/fate/acodec-pcm-s16be.mov
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s16be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s16be_planar b/tests/ref/acodec/pcm-s16be_planar
index 8116480..d1a85f8 100644
--- a/tests/ref/acodec/pcm-s16be_planar
+++ b/tests/ref/acodec/pcm-s16be_planar
@@ -1,4 +1,4 @@
 cd87e6fc3bddb85c945c050d8c3fba11 *tests/data/fate/acodec-pcm-s16be_planar.nut
 1060673 tests/data/fate/acodec-pcm-s16be_planar.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16be_planar.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s16be_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s16le b/tests/ref/acodec/pcm-s16le
index 51366ad..60622ad 100644
--- a/tests/ref/acodec/pcm-s16le
+++ b/tests/ref/acodec/pcm-s16le
@@ -1,4 +1,4 @@
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16le.wav
-1058446 tests/data/fate/acodec-pcm-s16le.wav
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16le.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s16le.wav
+1058482 tests/data/fate/acodec-pcm-s16le.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s16le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s16le_planar b/tests/ref/acodec/pcm-s16le_planar
index c933001..c5ee41a 100644
--- a/tests/ref/acodec/pcm-s16le_planar
+++ b/tests/ref/acodec/pcm-s16le_planar
@@ -1,4 +1,4 @@
 74af9a0ae4f68451102a2f7524b2d55f *tests/data/fate/acodec-pcm-s16le_planar.nut
 1060673 tests/data/fate/acodec-pcm-s16le_planar.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s16le_planar.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s16le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s24be b/tests/ref/acodec/pcm-s24be
index 3ebe02a..3af5048 100644
--- a/tests/ref/acodec/pcm-s24be
+++ b/tests/ref/acodec/pcm-s24be
@@ -1,4 +1,4 @@
 f65a7ae3b70ca53ffa354b1e7ff3a33d *tests/data/fate/acodec-pcm-s24be.mov
 1588323 tests/data/fate/acodec-pcm-s24be.mov
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s24be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s24le b/tests/ref/acodec/pcm-s24le
index a7e77e2..171cd8c 100644
--- a/tests/ref/acodec/pcm-s24le
+++ b/tests/ref/acodec/pcm-s24le
@@ -1,4 +1,4 @@
-18ea73985dbdf59e23f5aba66145e6fe *tests/data/fate/acodec-pcm-s24le.wav
-1587668 tests/data/fate/acodec-pcm-s24le.wav
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24le.out.wav
+eaba228b69cc1e78a3215be66e4d1705 *tests/data/fate/acodec-pcm-s24le.wav
+1587704 tests/data/fate/acodec-pcm-s24le.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s24le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s24le_planar b/tests/ref/acodec/pcm-s24le_planar
index 14d4cec..57730cb 100644
--- a/tests/ref/acodec/pcm-s24le_planar
+++ b/tests/ref/acodec/pcm-s24le_planar
@@ -1,4 +1,4 @@
 83e315ce8083a6d035f801bb862942bf *tests/data/fate/acodec-pcm-s24le_planar.nut
 1590202 tests/data/fate/acodec-pcm-s24le_planar.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s24le_planar.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s24le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s32be b/tests/ref/acodec/pcm-s32be
index 9075083..28a501c 100644
--- a/tests/ref/acodec/pcm-s32be
+++ b/tests/ref/acodec/pcm-s32be
@@ -1,4 +1,4 @@
 f9e16fafeefb2285e943f53133e9cfd5 *tests/data/fate/acodec-pcm-s32be.mov
 2117527 tests/data/fate/acodec-pcm-s32be.mov
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s32be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s32le b/tests/ref/acodec/pcm-s32le
index 1c3e412..f349fb3 100644
--- a/tests/ref/acodec/pcm-s32le
+++ b/tests/ref/acodec/pcm-s32le
@@ -1,4 +1,4 @@
-8d8849fa5c5d91b9cb74f5c74e937faf *tests/data/fate/acodec-pcm-s32le.wav
-2116868 tests/data/fate/acodec-pcm-s32le.wav
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32le.out.wav
+0aee36449f86f3690243fb25f01c1715 *tests/data/fate/acodec-pcm-s32le.wav
+2116904 tests/data/fate/acodec-pcm-s32le.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s32le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s32le_planar b/tests/ref/acodec/pcm-s32le_planar
index 7648766..5a9fb8b 100644
--- a/tests/ref/acodec/pcm-s32le_planar
+++ b/tests/ref/acodec/pcm-s32le_planar
@@ -1,4 +1,4 @@
 f6199b2c698bd5dd1438b53431357bec *tests/data/fate/acodec-pcm-s32le_planar.nut
 2120148 tests/data/fate/acodec-pcm-s32le_planar.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-s32le_planar.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-s32le_planar.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s8 b/tests/ref/acodec/pcm-s8
index 247c46c..aa2606e 100644
--- a/tests/ref/acodec/pcm-s8
+++ b/tests/ref/acodec/pcm-s8
@@ -1,4 +1,4 @@
 d931dc4fffa2d3398e0f31f97e7d6c3a *tests/data/fate/acodec-pcm-s8.mov
 529853 tests/data/fate/acodec-pcm-s8.mov
-651d4eb8d98dfcdda96ae6c43d8f156b *tests/data/fate/acodec-pcm-s8.out.wav
+bcd0abfeba55d91cef6306820b9007d9 *tests/data/fate/acodec-pcm-s8.out.wav
 stddev:  147.89 PSNR: 52.93 MAXDIFF:  255 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-s8_planar b/tests/ref/acodec/pcm-s8_planar
index 6ab6ee0..deaafc1 100644
--- a/tests/ref/acodec/pcm-s8_planar
+++ b/tests/ref/acodec/pcm-s8_planar
@@ -1,4 +1,4 @@
 ce99d95295ade9945849ef7c1de8c4ca *tests/data/fate/acodec-pcm-s8_planar.nut
 531054 tests/data/fate/acodec-pcm-s8_planar.nut
-651d4eb8d98dfcdda96ae6c43d8f156b *tests/data/fate/acodec-pcm-s8_planar.out.wav
+bcd0abfeba55d91cef6306820b9007d9 *tests/data/fate/acodec-pcm-s8_planar.out.wav
 stddev:  147.89 PSNR: 52.93 MAXDIFF:  255 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u16be b/tests/ref/acodec/pcm-u16be
index 0214975..20976b3 100644
--- a/tests/ref/acodec/pcm-u16be
+++ b/tests/ref/acodec/pcm-u16be
@@ -1,4 +1,4 @@
 eab6206a2cec3c5a3be47fdaa826faff *tests/data/fate/acodec-pcm-u16be.nut
 1060673 tests/data/fate/acodec-pcm-u16be.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u16be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u16be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u16le b/tests/ref/acodec/pcm-u16le
index e45fe08..1f66c83 100644
--- a/tests/ref/acodec/pcm-u16le
+++ b/tests/ref/acodec/pcm-u16le
@@ -1,4 +1,4 @@
 8fceb284cc6a5a114b6ce7a10fd08020 *tests/data/fate/acodec-pcm-u16le.nut
 1060673 tests/data/fate/acodec-pcm-u16le.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u16le.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u16le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u24be b/tests/ref/acodec/pcm-u24be
index ddab6e8..9835d02 100644
--- a/tests/ref/acodec/pcm-u24be
+++ b/tests/ref/acodec/pcm-u24be
@@ -1,4 +1,4 @@
 d1a55f46c88ed1efa77d05b60259675d *tests/data/fate/acodec-pcm-u24be.nut
 1590202 tests/data/fate/acodec-pcm-u24be.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u24be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u24be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u24le b/tests/ref/acodec/pcm-u24le
index df06ca4..3f73b70 100644
--- a/tests/ref/acodec/pcm-u24le
+++ b/tests/ref/acodec/pcm-u24le
@@ -1,4 +1,4 @@
 6d7df9b7e074548cf18dd16365862f1b *tests/data/fate/acodec-pcm-u24le.nut
 1590202 tests/data/fate/acodec-pcm-u24le.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u24le.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u24le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u32be b/tests/ref/acodec/pcm-u32be
index 6a53919..ef4eaf8 100644
--- a/tests/ref/acodec/pcm-u32be
+++ b/tests/ref/acodec/pcm-u32be
@@ -1,4 +1,4 @@
 7078e6d7e80247b8531d5cc16d09f385 *tests/data/fate/acodec-pcm-u32be.nut
 2120148 tests/data/fate/acodec-pcm-u32be.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u32be.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u32be.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u32le b/tests/ref/acodec/pcm-u32le
index 18a5d15..679a134 100644
--- a/tests/ref/acodec/pcm-u32le
+++ b/tests/ref/acodec/pcm-u32le
@@ -1,4 +1,4 @@
 34df9a7e1fe60da0bc6ec0485b68726e *tests/data/fate/acodec-pcm-u32le.nut
 2120148 tests/data/fate/acodec-pcm-u32le.nut
-64151e4bcc2b717aa5a8454d424d6a1f *tests/data/fate/acodec-pcm-u32le.out.wav
+86ac9a4819b03aea6d054bfb6dadd590 *tests/data/fate/acodec-pcm-u32le.out.wav
 stddev:    0.00 PSNR:999.99 MAXDIFF:    0 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/pcm-u8 b/tests/ref/acodec/pcm-u8
index 80e70ea..3ac48be 100644
--- a/tests/ref/acodec/pcm-u8
+++ b/tests/ref/acodec/pcm-u8
@@ -1,4 +1,4 @@
-70fecbae732f81143a560c7315eda49a *tests/data/fate/acodec-pcm-u8.wav
-529246 tests/data/fate/acodec-pcm-u8.wav
-651d4eb8d98dfcdda96ae6c43d8f156b *tests/data/fate/acodec-pcm-u8.out.wav
+6ca6a1ae0ff580add58e996927e056f4 *tests/data/fate/acodec-pcm-u8.wav
+529282 tests/data/fate/acodec-pcm-u8.wav
+bcd0abfeba55d91cef6306820b9007d9 *tests/data/fate/acodec-pcm-u8.out.wav
 stddev:  147.89 PSNR: 52.93 MAXDIFF:  255 bytes:  1058400/  1058400
diff --git a/tests/ref/acodec/roqaudio b/tests/ref/acodec/roqaudio
index 8632504..2a210a6 100644
--- a/tests/ref/acodec/roqaudio
+++ b/tests/ref/acodec/roqaudio
@@ -1,4 +1,4 @@
 75859976d7098588aeaebbc5551484a9 *tests/data/fate/acodec-roqaudio.roq
 265992 tests/data/fate/acodec-roqaudio.roq
-be6d954adaf984f2dc65a3ff50b55f26 *tests/data/fate/acodec-roqaudio.out.wav
+2078b0bbfe5abb55489861d2ff9983bf *tests/data/fate/acodec-roqaudio.out.wav
 stddev: 4481.70 PSNR: 23.30 MAXDIFF:46250 bytes:  1058400/  1058400
diff --git a/tests/ref/fate/mapchan-6ch-extract-2 b/tests/ref/fate/mapchan-6ch-extract-2
index 98c8540..1708fc0 100644
--- a/tests/ref/fate/mapchan-6ch-extract-2
+++ b/tests/ref/fate/mapchan-6ch-extract-2
@@ -1,2 +1,2 @@
-6f091fe8c0be88c75921731dc9f74314
-5c2d162b9024329eb367295d37b8ca0a
+e7bc6706499011ae11869e3b71a664a1
+849f8973386a0becbd46bcaf53a7989d
diff --git a/tests/ref/fate/mapchan-6ch-extract-2-downmix-mono b/tests/ref/fate/mapchan-6ch-extract-2-downmix-mono
index f42de0c..9aa6e6b 100644
--- a/tests/ref/fate/mapchan-6ch-extract-2-downmix-mono
+++ b/tests/ref/fate/mapchan-6ch-extract-2-downmix-mono
@@ -1 +1 @@
-959645ed73e6d08d8f1e947eac5d0b92
+422d06a2d5ba53582ccb272df6d0c966
diff --git a/tests/ref/fate/mapchan-silent-mono b/tests/ref/fate/mapchan-silent-mono
index a867e3b..9682d97 100644
--- a/tests/ref/fate/mapchan-silent-mono
+++ b/tests/ref/fate/mapchan-silent-mono
@@ -1 +1 @@
-4f5148f08587a4b9794aa52aec7852ac
+99597ab9ed672c929edfac1cf2b2cbd6
diff --git a/tests/ref/lavf/wav b/tests/ref/lavf/wav
index cc8ec1d..33fe160 100644
--- a/tests/ref/lavf/wav
+++ b/tests/ref/lavf/wav
@@ -1,3 +1,3 @@
-c4afa6eafac5243aa1c202397789ccb8 *./tests/data/lavf/lavf.wav
-90188 ./tests/data/lavf/lavf.wav
+2ab7f0dfa271299452439b7e5c827633 *./tests/data/lavf/lavf.wav
+90224 ./tests/data/lavf/lavf.wav
 ./tests/data/lavf/lavf.wav CRC=0xf1ae5536
diff --git a/tests/ref/seek/acodec-adpcm-ima_wav b/tests/ref/seek/acodec-adpcm-ima_wav
index b6517c5..7397c9e 100644
--- a/tests/ref/seek/acodec-adpcm-ima_wav
+++ b/tests/ref/seek/acodec-adpcm-ima_wav
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29756 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29792 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13372 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13408 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42044 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42080 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22588 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22624 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6204 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6240 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34876 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34912 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16444 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16480 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45116 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45152 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28732 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28768 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9276 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9312 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  37948 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  37984 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21564 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21600 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3132 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3168 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31804 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31840 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14396 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14432 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43068 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43104 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24636 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24672 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8252 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8288 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     60 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     96 size:  4096
diff --git a/tests/ref/seek/acodec-adpcm-ms b/tests/ref/seek/acodec-adpcm-ms
index 579be7f..936a91f 100644
--- a/tests/ref/seek/acodec-adpcm-ms
+++ b/tests/ref/seek/acodec-adpcm-ms
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29786 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29822 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13402 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13438 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42074 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42110 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22618 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22654 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6234 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6270 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34906 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34942 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16474 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16510 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45146 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45182 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28762 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28798 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9306 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9342 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  37978 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  38014 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21594 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21630 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3162 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3198 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31834 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31870 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14426 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14462 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43098 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43134 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24666 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24702 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8282 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8318 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     90 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    126 size:  4096
diff --git a/tests/ref/seek/acodec-adpcm-yamaha b/tests/ref/seek/acodec-adpcm-yamaha
index 5cbfaed..c149e2c 100644
--- a/tests/ref/seek/acodec-adpcm-yamaha
+++ b/tests/ref/seek/acodec-adpcm-yamaha
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29754 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.856009 pts: 1.856009 pos:  29790 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13370 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.831995 pts: 0.831995 pos:  13406 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42042 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.623991 pts: 2.623991 pos:  42078 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22586 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.408005 pts: 1.408005 pos:  22622 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6202 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.383991 pts: 0.383991 pos:   6238 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34874 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.176009 pts: 2.176009 pos:  34910 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16442 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.023991 pts: 1.023991 pos:  16478 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45114 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.816009 pts: 2.816009 pos:  45150 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28730 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.791995 pts: 1.791995 pos:  28766 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9274 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.576009 pts: 0.576009 pos:   9310 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  37946 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.368005 pts: 2.368005 pos:  37982 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21562 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.343991 pts: 1.343991 pos:  21598 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3130 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.191995 pts: 0.191995 pos:   3166 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31802 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.983991 pts: 1.983991 pos:  31838 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14394 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.896009 pts: 0.896009 pos:  14430 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43066 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.688005 pts: 2.688005 pos:  43102 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24634 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.536009 pts: 1.536009 pos:  24670 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8250 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.511995 pts: 0.511995 pos:   8286 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-alaw b/tests/ref/seek/acodec-pcm-alaw
index e5466bd..f504955 100644
--- a/tests/ref/seek/acodec-pcm-alaw
+++ b/tests/ref/seek/acodec-pcm-alaw
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167124 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167160 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69590 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69626 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227320 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227356 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129786 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129822 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32252 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32288 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 189982 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 190018 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92448 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92484 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250178 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250214 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152644 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152680 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55110 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55146 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212840 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212876 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115306 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115342 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17772 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17808 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175504 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175540 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  77968 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  78004 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235700 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235736 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138166 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138202 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40630 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40666 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-f32le b/tests/ref/seek/acodec-pcm-f32le
index 335a8a0..9f63b9f 100644
--- a/tests/ref/seek/acodec-pcm-f32le
+++ b/tests/ref/seek/acodec-pcm-f32le
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 668344 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 668380 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 278208 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 278244 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 909128 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 909164 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 518992 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 519028 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 128856 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 128892 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 759776 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 759812 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 369640 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 369676 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:1000560 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:1000596 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 610424 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 610460 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 220288 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 220324 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 851208 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 851244 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 461072 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 461108 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  70936 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  70972 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 701864 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 701900 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 311720 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 311756 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 942648 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 942684 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 552512 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 552548 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 162368 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 162404 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-f64le b/tests/ref/seek/acodec-pcm-f64le
index 41eeda0..745d887 100644
--- a/tests/ref/seek/acodec-pcm-f64le
+++ b/tests/ref/seek/acodec-pcm-f64le
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos:1336608 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos:1336644 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 556336 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 556372 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos:1818176 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos:1818212 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos:1037904 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos:1037940 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 257632 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 257668 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos:1519472 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos:1519508 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 739200 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 739236 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:2001040 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:2001076 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos:1220768 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos:1220804 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 440496 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 440532 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos:1702336 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos:1702372 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 922064 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 922100 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos: 141792 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos: 141828 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos:1403648 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos:1403684 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 623360 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 623396 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos:1885216 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos:1885252 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos:1104944 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos:1104980 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 324656 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 324692 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     80 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    116 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-mulaw b/tests/ref/seek/acodec-pcm-mulaw
index e5466bd..f504955 100644
--- a/tests/ref/seek/acodec-pcm-mulaw
+++ b/tests/ref/seek/acodec-pcm-mulaw
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167124 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167160 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69590 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69626 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227320 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227356 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129786 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129822 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32252 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32288 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 189982 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 190018 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92448 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92484 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250178 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250214 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152644 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152680 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55110 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55146 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212840 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212876 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115306 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115342 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17772 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17808 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175504 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175540 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  77968 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  78004 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235700 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235736 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138166 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138202 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40630 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40666 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     58 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     94 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-s16le b/tests/ref/seek/acodec-pcm-s16le
index 4f1ffc5..b12432c 100644
--- a/tests/ref/seek/acodec-pcm-s16le
+++ b/tests/ref/seek/acodec-pcm-s16le
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 334178 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 334214 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 139110 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 139146 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 454570 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 454606 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 259502 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 259538 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  64434 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  64470 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 379894 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 379930 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 184826 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 184862 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 500286 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 500322 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 305218 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 305254 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 110150 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 110186 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 425610 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 425646 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 230542 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 230578 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  35474 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  35510 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 350938 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 350974 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 155866 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 155902 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 471330 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 471366 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 276262 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 276298 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  81190 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  81226 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-s24le b/tests/ref/seek/acodec-pcm-s24le
index c6a37f8..9b3370c 100644
--- a/tests/ref/seek/acodec-pcm-s24le
+++ b/tests/ref/seek/acodec-pcm-s24le
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 501266 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 501302 size:  4092
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 208664 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 208700 size:  4092
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 681854 size:  4092
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 681890 size:  4092
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 389252 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 389288 size:  4092
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  96650 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  96686 size:  4092
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 569840 size:  4092
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 569876 size:  4092
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 277238 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 277274 size:  4092
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 750428 size:  4092
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 750464 size:  4092
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 457826 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 457862 size:  4092
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 165224 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 165260 size:  4092
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 638414 size:  4092
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 638450 size:  4092
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 345812 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 345848 size:  4092
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  53210 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  53246 size:  4092
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 526406 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 526442 size:  4092
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 233798 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 233834 size:  4092
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 706994 size:  4092
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 707030 size:  4092
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 414392 size:  4092
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 414428 size:  4092
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 121784 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 121820 size:  4092
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4092
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4092
diff --git a/tests/ref/seek/acodec-pcm-s32le b/tests/ref/seek/acodec-pcm-s32le
index df85b2d..c270b5b 100644
--- a/tests/ref/seek/acodec-pcm-s32le
+++ b/tests/ref/seek/acodec-pcm-s32le
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 668332 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 668368 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 278196 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos: 278232 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 909116 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 909152 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 518980 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 519016 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 128844 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos: 128880 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 759764 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 759800 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 369628 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos: 369664 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:1000548 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos:1000584 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 610412 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 610448 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 220276 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos: 220312 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 851196 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 851232 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 461060 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 461096 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  70924 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  70960 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 701852 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 701888 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 311708 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos: 311744 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 942636 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 942672 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 552500 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 552536 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 162356 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos: 162392 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     68 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    104 size:  4096
diff --git a/tests/ref/seek/acodec-pcm-u8 b/tests/ref/seek/acodec-pcm-u8
index 8348916..bbd71db 100644
--- a/tests/ref/seek/acodec-pcm-u8
+++ b/tests/ref/seek/acodec-pcm-u8
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167112 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.894172 pts: 1.894172 pos: 167148 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69578 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69614 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
-ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227308 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.576667 pts: 2.576667 pos: 227344 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129774 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.470839 pts: 1.470839 pos: 129810 size:  4096
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32240 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32276 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
-ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 189970 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.153333 pts: 2.153333 pos: 190006 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92436 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.047506 pts: 1.047506 pos:  92472 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
-ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250166 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.835828 pts: 2.835828 pos: 250202 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.730004
-ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152632 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.730000 pts: 1.730000 pos: 152668 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55098 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55134 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
-ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212828 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.412494 pts: 2.412494 pos: 212864 size:  4096
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115294 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.306667 pts: 1.306667 pos: 115330 size:  4096
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17760 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17796 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
-ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175492 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.989184 pts: 1.989184 pos: 175528 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  77956 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  77992 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
-ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235688 size:  4096
+ret: 0         st: 0 flags:1 dts: 2.671678 pts: 2.671678 pos: 235724 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138154 size:  4096
+ret: 0         st: 0 flags:1 dts: 1.565850 pts: 1.565850 pos: 138190 size:  4096
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40618 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40654 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     46 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     82 size:  4096
diff --git a/tests/ref/seek/lavf-wav b/tests/ref/seek/lavf-wav
index 16a33be..605f3c3 100644
--- a/tests/ref/seek/lavf-wav
+++ b/tests/ref/seek/lavf-wav
@@ -1,53 +1,53 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st:-1 flags:1  ts: 1.894167
 ret:-EOF
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69608 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.788345 pts: 0.788345 pos:  69644 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.317506
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.576668
 ret:-EOF
 ret: 0         st:-1 flags:1  ts: 1.470835
 ret:-EOF
 ret: 0         st: 0 flags:0  ts: 0.365011
-ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32270 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.365011 pts: 0.365011 pos:  32306 size:  4096
 ret: 0         st: 0 flags:1  ts:-0.740839
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st:-1 flags:0  ts: 2.153336
 ret:-EOF
 ret: 0         st:-1 flags:1  ts: 1.047503
 ret:-EOF
 ret: 0         st: 0 flags:0  ts:-0.058322
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.835828
 ret:-EOF
 ret: 0         st:-1 flags:0  ts: 1.730004
 ret:-EOF
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55128 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.624172 pts: 0.624172 pos:  55164 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.481655
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st: 0 flags:1  ts: 2.412494
 ret:-EOF
 ret: 0         st:-1 flags:0  ts: 1.306672
 ret:-EOF
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17790 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.200839 pts: 0.200839 pos:  17826 size:  4096
 ret: 0         st: 0 flags:0  ts:-0.904989
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st: 0 flags:1  ts: 1.989184
 ret:-EOF
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  77986 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.883333 pts: 0.883333 pos:  78022 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
 ret: 0         st: 0 flags:0  ts: 2.671678
 ret:-EOF
 ret: 0         st: 0 flags:1  ts: 1.565850
 ret:-EOF
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40648 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.460000 pts: 0.460000 pos:  40684 size:  4096
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     76 size:  4096
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    112 size:  4096
-- 
1.8.1.1


More information about the ffmpeg-devel mailing list