Commit d19f86ff4c for ffmpeg

commit d19f86ff4c41e7cfa5d97b8ac1feb64e49cef053
Author: Romain Beauxis <romain.beauxis@gmail.com>
Date:   Sat Oct 17 16:20:18 2026 +0200

    avformat: discard the priming or the seek pre-roll after a seek

    After avformat_seek_file(), the decoder is not told what to discard
    from what it decodes: the frames over the pre-roll are not reliable,
    and a seek that lands inside the priming at the start of the stream
    outputs the rest of it. Only some demuxers, such as mov, set the skip
    for the priming themselves.

    Mark the streams after a successful seek, and on the first packet of
    each audio stream, add to the samples to skip, which the decoder applies
    through AV_PKT_DATA_SKIP_SAMPLES:
    - on the first packet of the stream, the priming, as when decoding from
      the start: its exact count when it is known;
    - on any other packet, the larger of the rest of the priming, which ends
      at the start time of the stream, and the seek pre-roll of the codec,
      as the decoder misses what came before. After the priming of a stream
      whose start the seek targets, no pre-roll is added, as which packet
      comes first then depends on the demuxer. Each stream compares the
      target with its own start.

    The first packet is only recognised when the demuxer knows the first
    timestamp of the stream, such as after avformat_find_stream_info();
    otherwise, the packet gets the pre-roll as after any seek. The priming
    needs the timestamp of the packet and the start time of the stream, the
    pre-roll does not. The skip may span several packets, as the decoder
    carries it over the frames it outputs. Side data the demuxer set on the
    packet is kept: the larger skip is used, and its padding at the end of
    the stream is not overwritten.

    The skip supplies the pre-roll the stream declares, whatever the demuxer
    landed on; recovery beyond it depends on the codec and the bitstream.
    The caller keeps or trims what is decoded after it as it wishes.

    The decoding of the tests without accurate seek now starts one frame
    later for AAC in MP4, CAF and ADTS, and two 2048 samples frames later
    for HE-AAC in ADTS and with implicit SBR. A seek that lands on the last
    packet of the priming of AAC in CAF, with 64 samples of it left, now
    skips the 1024 samples of pre-roll instead of outputting that priming.
    For Opus in Matroska, 3840 samples are skipped instead of the 312 the
    decoder drops from its first frame, and the decoding with accurate seek
    is cut on frames 24 samples, half a millisecond, earlier, within the
    precision of the Matroska timestamps. A seek past the end of AAC in CAF
    and Opus in Matroska skips the pre-roll on the last packet and keeps its
    padding. A seek on the later of two streams, close to its start, adds
    the pre-roll to the other stream, which is already past its own start.
    A seek back to the start of Matroska now skips the exact priming on the
    first packet: 312 samples for Opus and 481 for MP2.

diff --git a/doc/APIchanges b/doc/APIchanges
index eab968f5dd..99fc2f9cdc 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,11 @@ The last version increases of all libraries were on 2026-06-23.

 API changes, most recent first:

+2026-10-xx - xxxxxxxxxx - lavf 63.14.102 - avformat.h
+  After avformat_seek_file(), the first packet of an audio stream carries
+  AV_PKT_DATA_SKIP_SAMPLES for the larger of the rest of the priming and the
+  seek pre-roll, or only the priming on the first packet of the stream.
+
 2026-10-xx - xxxxxxxxxx - lavf 63.14.101 - avformat.h
   avformat_seek_file() moves the target back by the largest
   AVCodecParameters.seek_preroll of the audio streams, within the requested
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 39abd3f70c..679d15676c 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -2572,6 +2572,14 @@ int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
  * INT64_MAX. If that seek fails, the seek is done to ts. This also applies to
  * av_seek_frame() with a demuxer that only implements this function.
  *
+ * The first packet read after a seek from an audio stream carries
+ * AV_PKT_DATA_SKIP_SAMPLES side data to discard the larger of the rest of the
+ * priming (AVCodecParameters.initial_padding) and the seek pre-roll. The
+ * discard supplies the stream's declared pre-roll; recovery beyond that
+ * allowance depends on the codec and bitstream. Only the priming is discarded
+ * on the first packet of the stream, and no pre-roll after the priming of a
+ * stream whose start the seek targets.
+ *
  * @param s            media file handle
  * @param stream_index index of the stream which is used as time base reference
  * @param min_ts       smallest acceptable timestamp
diff --git a/libavformat/demux.c b/libavformat/demux.c
index 06c4331807..1eb6eb328a 100644
--- a/libavformat/demux.c
+++ b/libavformat/demux.c
@@ -1566,11 +1566,44 @@ static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
                 sample < sti->last_discard_sample)
                 discard_padding = FFMIN(end_sample - sti->first_discard_sample, duration);
         }
+        if (sti->seek_discard) {
+            const AVCodecParameters *par = st->codecpar;
+
+            if (par->codec_type == AVMEDIA_TYPE_AUDIO && par->sample_rate > 0) {
+                int first = pkt->dts != AV_NOPTS_VALUE && sti->first_dts != AV_NOPTS_VALUE &&
+                            pkt->dts <= sti->first_dts;
+                int in_priming = pkt->pts != AV_NOPTS_VALUE &&
+                                 st->start_time != AV_NOPTS_VALUE &&
+                                 pkt->pts < st->start_time;
+                int64_t skip = 0;
+
+                // The priming ends at the start time.
+                if (in_priming)
+                    skip = ts_to_samples(st, st->start_time - pkt->pts);
+                if (first) {
+                    if (par->initial_padding > 0)
+                        skip = par->initial_padding;
+                } else if (!(sti->seek_to_start && pkt->pts != AV_NOPTS_VALUE && !in_priming)) {
+                    // Past the first packet, the decoder also misses what
+                    // came before.
+                    skip = FFMAX(skip, par->seek_preroll);
+                }
+                sti->skip_samples = FFMAX(sti->skip_samples, FFMIN(skip, INT_MAX));
+            }
+            sti->seek_discard = 0;
+        }
         if (sti->start_skip_samples && (pkt->pts == 0 || pkt->pts == RELATIVE_TS_BASE))
             sti->skip_samples = sti->start_skip_samples;
         sti->skip_samples = FFMAX(0, sti->skip_samples);
         if (sti->skip_samples || discard_padding) {
-            uint8_t *p = av_packet_new_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, 10);
+            size_t size;
+            uint8_t *p = av_packet_get_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, &size);
+            // Keep what the demuxer set, such as the padding at the end.
+            if (p && size >= 10) {
+                sti->skip_samples = FFMAX(sti->skip_samples, (int)AV_RL32(p));
+                discard_padding   = FFMAX(discard_padding, AV_RL32(p + 4));
+            } else
+                p = av_packet_new_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES, 10);
             if (p) {
                 AV_WL32(p, sti->skip_samples);
                 AV_WL32(p + 4, discard_padding);
diff --git a/libavformat/internal.h b/libavformat/internal.h
index 53dc7b939b..4db9db85ce 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -243,6 +243,20 @@ typedef struct FFStream {
      */
     int64_t last_discard_sample;

+    /**
+     * Set by a seek, cleared on the next packet of the stream, which gets in
+     * skip_samples the rest of the priming if it is inside it, and unless it
+     * is the first packet of the stream, at least the seek pre-roll of the
+     * codec. After the priming, a seek to the start of the stream gets none.
+     */
+    int seek_discard;
+
+    /**
+     * Set with seek_discard when the target of the seek is at or before the
+     * start of this stream.
+     */
+    int seek_to_start;
+
     /**
      * Number of internally decoded frames, used internally in libavformat, do not access
      * its lifetime differs from info which is why it is not in that structure.
diff --git a/libavformat/seek.c b/libavformat/seek.c
index fea1be916a..4a09d01335 100644
--- a/libavformat/seek.c
+++ b/libavformat/seek.c
@@ -696,6 +696,29 @@ static int64_t seek_preroll(const AVFormatContext *s, int stream_index)
     return preroll;
 }

+/**
+ * Ask the demuxer to discard the priming or the pre-roll from the first
+ * packet of each stream. A stream whose start the target does not pass
+ * is decoded from its start, which has no pre-roll to discard.
+ */
+static void request_seek_discard(AVFormatContext *s, int stream_index,
+                                 int64_t ts, int flags)
+{
+    AVRational time_base = stream_index >= 0 ? s->streams[stream_index]->time_base
+                                             : AV_TIME_BASE_Q;
+
+    for (unsigned i = 0; i < s->nb_streams; i++) {
+        AVStream *const st  = s->streams[i];
+        FFStream *const sti = ffstream(st);
+
+        sti->seek_discard  = 1;
+        sti->seek_to_start = !(flags & (AVSEEK_FLAG_BYTE | AVSEEK_FLAG_FRAME)) &&
+                             st->start_time != AV_NOPTS_VALUE &&
+                             av_compare_ts(ts, time_base, st->start_time,
+                                           st->time_base) <= 0;
+    }
+}
+
 static int seek_file(AVFormatContext *s, int stream_index, int64_t min_ts,
                      int64_t ts, int64_t max_ts, int flags)
 {
@@ -765,8 +788,12 @@ int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts,
     ret = seek_file(s, stream_index, min_ts, target, target_max, flags);
     // Without a known start, the earlier target may come before the first
     // packet.
-    if (ret < 0 && target != ts)
+    if (ret < 0 && target != ts) {
+        target = ts;
         ret = seek_file(s, stream_index, min_ts, ts, max_ts, flags);
+    }
+    if (ret >= 0)
+        request_seek_discard(s, stream_index, target, flags);
     return ret;
 }

@@ -798,6 +825,7 @@ void ff_read_frame_flush(AVFormatContext *s)
             sti->pts_buffer[j] = AV_NOPTS_VALUE;

         sti->skip_samples = 0;
+        sti->seek_discard = 0;
     }
 }

diff --git a/libavformat/version.h b/libavformat/version.h
index 4a475b6630..f45b935203 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -32,7 +32,7 @@
 #include "version_major.h"

 #define LIBAVFORMAT_VERSION_MINOR  14
-#define LIBAVFORMAT_VERSION_MICRO 101
+#define LIBAVFORMAT_VERSION_MICRO 102

 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
                                                LIBAVFORMAT_VERSION_MINOR, \
diff --git a/tests/fate/preroll.mak b/tests/fate/preroll.mak
index cd736b3bf7..35522cdb6a 100644
--- a/tests/fate/preroll.mak
+++ b/tests/fate/preroll.mak
@@ -35,7 +35,7 @@ $(eval $(call FATE_PREROLL_TEST,mp3,MP3,MP3FLOAT,gapless/gapless.mp3))
 $(eval $(call FATE_PREROLL_TEST,mp3-itunes,MP3,MP3FLOAT,gapless/gapless-itunes.mp3))

 # A seek that lands inside the priming, which here spans the first three
-# packets: only the rest of the priming is to be skipped.
+# packets: the rest of the priming, or the pre-roll if longer, is skipped.
 FATE_PREROLL_FFMPEG-$(call FRAMECRC, CAF, AAC, PCM_S16LE_ENCODER ARESAMPLE_FILTER VOLUME_FILTER) += fate-preroll-aac-caf-decode-in-priming
 fate-preroll-aac-caf-decode-in-priming: CMD = framecrc -noaccurate_seek -ss 0.01 -t 0.1 -i $(TARGET_SAMPLES)/caf/aac.caf -af volume=0,aresample -c:a pcm_s16le

diff --git a/tests/ref/fate/preroll-aac-adts-decode-noaccurate b/tests/ref/fate/preroll-aac-adts-decode-noaccurate
index 2bbb545ac2..975ab4b272 100644
--- a/tests/ref/fate/preroll-aac-adts-decode-noaccurate
+++ b/tests/ref/fate/preroll-aac-adts-decode-noaccurate
@@ -3,11 +3,11 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 48000
 #channel_layout_name 0: mono
-0,      -1888,      -1888,     1024,     2048, 0x00000000
 0,       -864,       -864,     1024,     2048, 0x00000000
 0,        160,        160,     1024,     2048, 0x00000000
 0,       1184,       1184,     1024,     2048, 0x00000000
 0,       2208,       2208,     1024,     2048, 0x00000000
 0,       3232,       3232,     1024,     2048, 0x00000000
 0,       4256,       4256,     1024,     2048, 0x00000000
-0,       5280,       5280,       32,       64, 0x00000000
+0,       5280,       5280,     1024,     2048, 0x00000000
+0,       6304,       6304,       32,       64, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-adts-seek-start b/tests/ref/fate/preroll-aac-adts-seek-start
index 7b4654d80d..e943e835ab 100644
--- a/tests/ref/fate/preroll-aac-adts-seek-start
+++ b/tests/ref/fate/preroll-aac-adts-seek-start
@@ -1,70 +1,70 @@
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.021333 pts: 0.021333 pos:    199 size:   135
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.021333 pts: 0.021333 pos:    199 size:   135
 ret:-1         st:-1 flags:1  ts:-0.105833
 ret: 0         st: 0 flags:0  ts: 0.788334
-ret: 0         st: 0 flags:1 dts: 0.789333 pts: 0.789333 pos:   4807 size:   140
+ret: 0         st: 0 flags:1 dts: 0.789333 pts: 0.789333 pos:   4807 size:   140 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.810667 pts: 0.810667 pos:   4947 size:   123
 ret: 0         st: 0 flags:1  ts: 1.682501
-ret: 0         st: 0 flags:1 dts: 1.642667 pts: 1.642667 pos:   9944 size:   123
+ret: 0         st: 0 flags:1 dts: 1.642667 pts: 1.642667 pos:   9944 size:   123 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.664000 pts: 1.664000 pos:  10067 size:   138
 ret: 0         st:-1 flags:0  ts:-0.423332
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.021333 pts: 0.021333 pos:    199 size:   135
 ret: 0         st:-1 flags:1  ts: 0.470835
-ret: 0         st: 0 flags:1 dts: 0.448000 pts: 0.448000 pos:   2764 size:   138
+ret: 0         st: 0 flags:1 dts: 0.448000 pts: 0.448000 pos:   2764 size:   138 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.469333 pts: 0.469333 pos:   2902 size:   119
 ret: 0         st: 0 flags:0  ts: 1.365002
-ret: 0         st: 0 flags:1 dts: 1.365333 pts: 1.365333 pos:   8285 size:   129
+ret: 0         st: 0 flags:1 dts: 1.365333 pts: 1.365333 pos:   8285 size:   129 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.386667 pts: 1.386667 pos:   8414 size:   111
 ret:-1         st: 0 flags:1  ts:-0.740831
 ret: 0         st:-1 flags:0  ts: 0.153336
-ret: 0         st: 0 flags:1 dts: 0.170667 pts: 0.170667 pos:   1104 size:   111
+ret: 0         st: 0 flags:1 dts: 0.170667 pts: 0.170667 pos:   1104 size:   111 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.192000 pts: 0.192000 pos:   1215 size:   126
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.024000 pts: 1.024000 pos:   6223 size:   126
+ret: 0         st: 0 flags:1 dts: 1.024000 pts: 1.024000 pos:   6223 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.045333 pts: 1.045333 pos:   6349 size:   135
 ret: 0         st: 0 flags:0  ts: 1.941670
-ret: 0         st: 0 flags:1 dts: 1.962667 pts: 1.962667 pos:  11873 size:   111
+ret: 0         st: 0 flags:1 dts: 1.962667 pts: 1.962667 pos:  11873 size:   111 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.984000 pts: 1.984000 pos:  11984 size:   126
 ret:-1         st: 0 flags:1  ts:-0.164163
 ret: 0         st:-1 flags:0  ts: 0.730004
-ret: 0         st: 0 flags:1 dts: 0.746667 pts: 0.746667 pos:   4570 size:   111
+ret: 0         st: 0 flags:1 dts: 0.746667 pts: 0.746667 pos:   4570 size:   111 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.768000 pts: 0.768000 pos:   4681 size:   126
 ret: 0         st:-1 flags:1  ts: 1.624171
-ret: 0         st: 0 flags:1 dts: 1.600000 pts: 1.600000 pos:   9678 size:   126
+ret: 0         st: 0 flags:1 dts: 1.600000 pts: 1.600000 pos:   9678 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.621333 pts: 1.621333 pos:   9804 size:   140
 ret: 0         st: 0 flags:0  ts:-0.481662
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.021333 pts: 0.021333 pos:    199 size:   135
 ret: 0         st: 0 flags:1  ts: 0.412505
-ret: 0         st: 0 flags:1 dts: 0.384000 pts: 0.384000 pos:   2375 size:   126
+ret: 0         st: 0 flags:1 dts: 0.384000 pts: 0.384000 pos:   2375 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.405333 pts: 0.405333 pos:   2501 size:   140
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.322667 pts: 1.322667 pos:   8018 size:   123
+ret: 0         st: 0 flags:1 dts: 1.322667 pts: 1.322667 pos:   8018 size:   123 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.344000 pts: 1.344000 pos:   8141 size:   144
 ret:-1         st:-1 flags:1  ts:-0.799161
 ret: 0         st: 0 flags:0  ts: 0.095006
-ret: 0         st: 0 flags:1 dts: 0.106667 pts: 0.106667 pos:    718 size:   123
+ret: 0         st: 0 flags:1 dts: 0.106667 pts: 0.106667 pos:    718 size:   123 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.128000 pts: 0.128000 pos:    841 size:   144
 ret: 0         st: 0 flags:1  ts: 0.989173
-ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:   5834 size:   126
+ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos:   5834 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.981333 pts: 0.981333 pos:   5960 size:   140
 ret: 0         st:-1 flags:0  ts: 1.883340
-ret: 0         st: 0 flags:1 dts: 1.898667 pts: 1.898667 pos:  11477 size:   123
+ret: 0         st: 0 flags:1 dts: 1.898667 pts: 1.898667 pos:  11477 size:   123 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.920000 pts: 1.920000 pos:  11600 size:   144
 ret:-1         st:-1 flags:1  ts:-0.222493
 ret: 0         st: 0 flags:0  ts: 0.671674
-ret: 0         st: 0 flags:1 dts: 0.682667 pts: 0.682667 pos:   4174 size:   123
+ret: 0         st: 0 flags:1 dts: 0.682667 pts: 0.682667 pos:   4174 size:   123 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.704000 pts: 0.704000 pos:   4297 size:   144
 ret: 0         st: 0 flags:1  ts: 1.565841
-ret: 0         st: 0 flags:1 dts: 1.536000 pts: 1.536000 pos:   9294 size:   144
+ret: 0         st: 0 flags:1 dts: 1.536000 pts: 1.536000 pos:   9294 size:   144 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.557333 pts: 1.557333 pos:   9438 size:   129
 ret: 0         st:-1 flags:0  ts:-0.539992
-ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126
+ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:     73 size:   126 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.021333 pts: 0.021333 pos:    199 size:   135
 ret: 0         st:-1 flags:1  ts: 0.354175
-ret: 0         st: 0 flags:1 dts: 0.320000 pts: 0.320000 pos:   1991 size:   144
+ret: 0         st: 0 flags:1 dts: 0.320000 pts: 0.320000 pos:   1991 size:   144 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.341333 pts: 0.341333 pos:   2135 size:   129
diff --git a/tests/ref/fate/preroll-aac-caf-decode-in-priming b/tests/ref/fate/preroll-aac-caf-decode-in-priming
index c6b442753c..0f5a248cd5 100644
--- a/tests/ref/fate/preroll-aac-caf-decode-in-priming
+++ b/tests/ref/fate/preroll-aac-caf-decode-in-priming
@@ -3,8 +3,8 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 48000
 #channel_layout_name 0: stereo
-0,       -544,       -544,     1024,     4096, 0x00000000
 0,        480,        480,     1024,     4096, 0x00000000
 0,       1504,       1504,     1024,     4096, 0x00000000
 0,       2528,       2528,     1024,     4096, 0x00000000
-0,       3552,       3552,      704,     2816, 0x00000000
+0,       3552,       3552,     1024,     4096, 0x00000000
+0,       4576,       4576,      704,     2816, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-caf-decode-noaccurate b/tests/ref/fate/preroll-aac-caf-decode-noaccurate
index f36bd50454..840ce39541 100644
--- a/tests/ref/fate/preroll-aac-caf-decode-noaccurate
+++ b/tests/ref/fate/preroll-aac-caf-decode-noaccurate
@@ -3,11 +3,11 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 48000
 #channel_layout_name 0: stereo
-0,      -1952,      -1952,     1024,     4096, 0x00000000
 0,       -928,       -928,     1024,     4096, 0x00000000
 0,         96,         96,     1024,     4096, 0x00000000
 0,       1120,       1120,     1024,     4096, 0x00000000
 0,       2144,       2144,     1024,     4096, 0x00000000
 0,       3168,       3168,     1024,     4096, 0x00000000
 0,       4192,       4192,     1024,     4096, 0x00000000
-0,       5216,       5216,       32,      128, 0x00000000
+0,       5216,       5216,     1024,     4096, 0x00000000
+0,       6240,       6240,       32,      128, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-caf-landing-end b/tests/ref/fate/preroll-aac-caf-landing-end
index d07325b7d6..d5c1561a34 100644
--- a/tests/ref/fate/preroll-aac-caf-landing-end
+++ b/tests/ref/fate/preroll-aac-caf-landing-end
@@ -1 +1 @@
-packet|pts=239552|duration=448|side_datum/skip_samples:skip_samples=0|side_datum/skip_samples:discard_padding=576
+packet|pts=239552|duration=448|side_datum/skip_samples:skip_samples=1024|side_datum/skip_samples:discard_padding=576
diff --git a/tests/ref/fate/preroll-aac-concat-seek b/tests/ref/fate/preroll-aac-concat-seek
index e81f32e55c..895a3c46ea 100644
--- a/tests/ref/fate/preroll-aac-concat-seek
+++ b/tests/ref/fate/preroll-aac-concat-seek
@@ -1,4 +1,4 @@
-ret: 0         st: 0 flags:1 dts: 0.462948 pts: 0.462948 pos:   2363 size:    26
+ret: 0         st: 0 flags:1 dts: 0.462948 pts: 0.462948 pos:   2363 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.486168 pts: 0.486168 pos:   2389 size:    27
 ret: 0         st: 0 flags:1 dts: 0.509388 pts: 0.509388 pos:   2416 size:    27
 ret: 0         st:-1 flags:0  ts:-1.000000
@@ -10,11 +10,11 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.811247 pts: 0.811247 pos:   2774 size:    27
+ret: 0         st: 0 flags:1 dts: 0.811247 pts: 0.811247 pos:   2774 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.834467 pts: 0.834467 pos:   2801 size:    28
 ret: 0         st: 0 flags:1 dts: 0.857687 pts: 0.857687 pos:   2829 size:    28
 ret: 0         st: 0 flags:1  ts: 1.682494
-ret: 0         st: 0 flags:1 dts: 1.623946 pts: 1.623946 pos:   3903 size:    39
+ret: 0         st: 0 flags:1 dts: 1.623946 pts: 1.623946 pos:   3903 size:    39 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.647166 pts: 1.647166 pos:   3942 size:    42
 ret: 0         st: 0 flags:1 dts: 1.670385 pts: 1.670385 pos:   3984 size:    41
 ret: 0         st:-1 flags:0  ts:-0.423332
@@ -22,11 +22,11 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st:-1 flags:1  ts: 0.470835
-ret: 0         st: 0 flags:1 dts: 0.416508 pts: 0.416508 pos:   2309 size:    27
+ret: 0         st: 0 flags:1 dts: 0.416508 pts: 0.416508 pos:   2309 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.439728 pts: 0.439728 pos:   2336 size:    27
 ret: 0         st: 0 flags:1 dts: 0.462948 pts: 0.462948 pos:   2363 size:    26
 ret: 0         st: 0 flags:0  ts: 1.365011
-ret: 0         st: 0 flags:1 dts: 1.368526 pts: 1.368526 pos:   3465 size:    30
+ret: 0         st: 0 flags:1 dts: 1.368526 pts: 1.368526 pos:   3465 size:    30 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.391746 pts: 1.391746 pos:   3495 size:    39
 ret: 0         st: 0 flags:1 dts: 1.414966 pts: 1.414966 pos:   3534 size:    42
 ret: 0         st: 0 flags:1  ts:-0.740839
@@ -34,15 +34,15 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st:-1 flags:0  ts: 0.153336
-ret: 0         st: 0 flags:1 dts: 0.161088 pts: 0.161088 pos:   2014 size:    27
+ret: 0         st: 0 flags:1 dts: 0.161088 pts: 0.161088 pos:   2014 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.184308 pts: 0.184308 pos:   2041 size:    27
 ret: 0         st: 0 flags:1 dts: 0.207528 pts: 0.207528 pos:   2068 size:    27
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 0.997007 pts: 0.997007 pos:   2996 size:    28
+ret: 0         st: 0 flags:1 dts: 0.997007 pts: 0.997007 pos:   2996 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.020227 pts: 1.020227 pos:   3024 size:    28
 ret: 0         st: 0 flags:1 dts: 1.043447 pts: 1.043447 pos:   3052 size:    27
 ret: 0         st: 0 flags:0  ts: 1.941678
-ret: 0         st: 0 flags:1 dts: 1.949025 pts: 1.949025 pos:   4474 size:    41
+ret: 0         st: 0 flags:1 dts: 1.949025 pts: 1.949025 pos:   4474 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.972245 pts: 1.972245 pos:   4515 size:    39
 ret: 0         st: 0 flags:1 dts: 1.995465 pts: 1.995465 pos:   4554 size:    42
 ret: 0         st: 0 flags:1  ts:-0.164172
@@ -50,11 +50,11 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st:-1 flags:0  ts: 0.730004
-ret: 0         st: 0 flags:1 dts: 0.741587 pts: 0.741587 pos:   2691 size:    28
+ret: 0         st: 0 flags:1 dts: 0.741587 pts: 0.741587 pos:   2691 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.764807 pts: 0.764807 pos:   2719 size:    28
 ret: 0         st: 0 flags:1 dts: 0.788027 pts: 0.788027 pos:   2747 size:    27
 ret: 0         st:-1 flags:1  ts: 1.624171
-ret: 0         st: 0 flags:1 dts: 1.577506 pts: 1.577506 pos:   3821 size:    41
+ret: 0         st: 0 flags:1 dts: 1.577506 pts: 1.577506 pos:   3821 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.600726 pts: 1.600726 pos:   3862 size:    41
 ret: 0         st: 0 flags:1 dts: 1.623946 pts: 1.623946 pos:   3903 size:    39
 ret: 0         st: 0 flags:0  ts:-0.481655
@@ -62,11 +62,11 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st: 0 flags:1  ts: 0.412494
-ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:   2229 size:    26
+ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:   2229 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.370068 pts: 0.370068 pos:   2255 size:    27
 ret: 0         st: 0 flags:1 dts: 0.393288 pts: 0.393288 pos:   2282 size:    27
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.322086 pts: 1.322086 pos:   3405 size:    30
+ret: 0         st: 0 flags:1 dts: 1.322086 pts: 1.322086 pos:   3405 size:    30 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.345306 pts: 1.345306 pos:   3435 size:    30
 ret: 0         st: 0 flags:1 dts: 1.368526 pts: 1.368526 pos:   3465 size:    30
 ret: 0         st:-1 flags:1  ts:-0.799161
@@ -74,15 +74,15 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st: 0 flags:0  ts: 0.095011
-ret: 0         st: 0 flags:1 dts: 0.114649 pts: 0.114649 pos:   1961 size:    26
+ret: 0         st: 0 flags:1 dts: 0.114649 pts: 0.114649 pos:   1961 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.137868 pts: 0.137868 pos:   1987 size:    27
 ret: 0         st: 0 flags:1 dts: 0.161088 pts: 0.161088 pos:   2014 size:    27
 ret: 0         st: 0 flags:1  ts: 0.989184
-ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   2913 size:    27
+ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   2913 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   2940 size:    28
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   2968 size:    28
 ret: 0         st:-1 flags:0  ts: 1.883340
-ret: 0         st: 0 flags:1 dts: 1.902585 pts: 1.902585 pos:   4392 size:    41
+ret: 0         st: 0 flags:1 dts: 1.902585 pts: 1.902585 pos:   4392 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.925805 pts: 1.925805 pos:   4433 size:    41
 ret: 0         st: 0 flags:1 dts: 1.949025 pts: 1.949025 pos:   4474 size:    41
 ret: 0         st:-1 flags:1  ts:-0.222493
@@ -90,11 +90,11 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st: 0 flags:0  ts: 0.671678
-ret: 0         st: 0 flags:1 dts: 0.671927 pts: 0.671927 pos:   2609 size:    27
+ret: 0         st: 0 flags:1 dts: 0.671927 pts: 0.671927 pos:   2609 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.695147 pts: 0.695147 pos:   2636 size:    27
 ret: 0         st: 0 flags:1 dts: 0.718367 pts: 0.718367 pos:   2663 size:    28
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.507846 pts: 1.507846 pos:   3699 size:    39
+ret: 0         st: 0 flags:1 dts: 1.507846 pts: 1.507846 pos:   3699 size:    39 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.531066 pts: 1.531066 pos:   3738 size:    42
 ret: 0         st: 0 flags:1 dts: 1.554286 pts: 1.554286 pos:   3780 size:    41
 ret: 0         st:-1 flags:0  ts:-0.539992
@@ -102,6 +102,6 @@ ret: 0         st: 0 flags:1 dts:-0.047891 pts:-0.047891 pos:   1366 size:     6
 ret: 0         st: 0 flags:1 dts:-0.024671 pts:-0.024671 pos:   1372 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:   1623 size:   168
 ret: 0         st:-1 flags:1  ts: 0.354175
-ret: 0         st: 0 flags:1 dts: 0.300408 pts: 0.300408 pos:   2175 size:    27
+ret: 0         st: 0 flags:1 dts: 0.300408 pts: 0.300408 pos:   2175 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.323628 pts: 0.323628 pos:   2202 size:    27
 ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:   2229 size:    26
diff --git a/tests/ref/fate/preroll-aac-he-adts-decode-noaccurate b/tests/ref/fate/preroll-aac-he-adts-decode-noaccurate
index cc8548e813..7499e24eb4 100644
--- a/tests/ref/fate/preroll-aac-he-adts-decode-noaccurate
+++ b/tests/ref/fate/preroll-aac-he-adts-decode-noaccurate
@@ -3,7 +3,7 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 44100
 #channel_layout_name 0: stereo
-0,      -4941,      -4941,     2048,     8192, 0x00000000
-0,      -2893,      -2893,     2048,     8192, 0x00000000
 0,       -845,       -845,     2048,     8192, 0x00000000
-0,       1203,       1203,      471,     1884, 0x00000000
+0,       1203,       1203,     2048,     8192, 0x00000000
+0,       3251,       3251,     2048,     8192, 0x00000000
+0,       5299,       5299,      471,     1884, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-he-implicit-mov-decode-noaccurate b/tests/ref/fate/preroll-aac-he-implicit-mov-decode-noaccurate
index ab827b227e..35c4c19cf0 100644
--- a/tests/ref/fate/preroll-aac-he-implicit-mov-decode-noaccurate
+++ b/tests/ref/fate/preroll-aac-he-implicit-mov-decode-noaccurate
@@ -3,7 +3,7 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 44100
 #channel_layout_name 0: stereo
-0,      -4942,      -4942,     2048,     8192, 0x00000000
-0,      -2894,      -2894,     2048,     8192, 0x00000000
 0,       -846,       -846,     2048,     8192, 0x00000000
-0,       1202,       1202,      471,     1884, 0x00000000
+0,       1202,       1202,     2048,     8192, 0x00000000
+0,       3250,       3250,     2048,     8192, 0x00000000
+0,       5298,       5298,      471,     1884, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-mov-decode-noaccurate b/tests/ref/fate/preroll-aac-mov-decode-noaccurate
index 2bb40a1d81..967afc6260 100644
--- a/tests/ref/fate/preroll-aac-mov-decode-noaccurate
+++ b/tests/ref/fate/preroll-aac-mov-decode-noaccurate
@@ -3,10 +3,10 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 44100
 #channel_layout_name 0: stereo
-0,      -1933,      -1933,     1024,     4096, 0x00000000
 0,       -909,       -909,     1024,     4096, 0x00000000
 0,        115,        115,     1024,     4096, 0x00000000
 0,       1139,       1139,     1024,     4096, 0x00000000
 0,       2163,       2163,     1024,     4096, 0x00000000
 0,       3187,       3187,     1024,     4096, 0x00000000
-0,       4211,       4211,      471,     1884, 0x00000000
+0,       4211,       4211,     1024,     4096, 0x00000000
+0,       5235,       5235,      471,     1884, 0x00000000
diff --git a/tests/ref/fate/preroll-aac-mov-seek-forward b/tests/ref/fate/preroll-aac-mov-seek-forward
index 66e0fc5e83..ef5e28c71a 100644
--- a/tests/ref/fate/preroll-aac-mov-seek-forward
+++ b/tests/ref/fate/preroll-aac-mov-seek-forward
@@ -1,4 +1,4 @@
-ret: 0         st: 0 flags:1 dts: 0.510839 pts: 0.510839 pos:   2363 size:    26
+ret: 0         st: 0 flags:1 dts: 0.510839 pts: 0.510839 pos:   2363 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.534059 pts: 0.534059 pos:   2389 size:    27
 ret: 0         st:-1 flags:0  ts:-1.000000
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
@@ -7,74 +7,74 @@ ret: 0         st:-1 flags:1  ts:-0.105833
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.789478 pts: 0.789478 pos:   2691 size:    28
+ret: 0         st: 0 flags:1 dts: 0.789478 pts: 0.789478 pos:   2691 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.812698 pts: 0.812698 pos:   2719 size:    28
 ret: 0         st: 0 flags:1  ts: 1.682494
-ret: 0         st: 0 flags:1 dts: 1.648617 pts: 1.648617 pos:   3862 size:    41
+ret: 0         st: 0 flags:1 dts: 1.648617 pts: 1.648617 pos:   3862 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.671837 pts: 1.671837 pos:   3903 size:    39
 ret: 0         st:-1 flags:0  ts:-0.423332
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st:-1 flags:1  ts: 0.470835
-ret: 0         st: 0 flags:1 dts: 0.441179 pts: 0.441179 pos:   2282 size:    27
+ret: 0         st: 0 flags:1 dts: 0.441179 pts: 0.441179 pos:   2282 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.464399 pts: 0.464399 pos:   2309 size:    27
 ret: 0         st: 0 flags:0  ts: 1.365011
-ret: 0         st: 0 flags:1 dts: 1.369977 pts: 1.369977 pos:   3405 size:    30
+ret: 0         st: 0 flags:1 dts: 1.369977 pts: 1.369977 pos:   3405 size:    30 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.393197 pts: 1.393197 pos:   3435 size:    30
 ret: 0         st: 0 flags:1  ts:-0.740839
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st:-1 flags:0  ts: 0.153336
-ret: 0         st: 0 flags:1 dts: 0.162540 pts: 0.162540 pos:   1961 size:    26
+ret: 0         st: 0 flags:1 dts: 0.162540 pts: 0.162540 pos:   1961 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.185760 pts: 0.185760 pos:   1987 size:    27
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 1.021678 pts: 1.021678 pos:   2968 size:    28
+ret: 0         st: 0 flags:1 dts: 1.021678 pts: 1.021678 pos:   2968 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.044898 pts: 1.044898 pos:   2996 size:    28
 ret: 0         st: 0 flags:0  ts: 1.941678
-ret: 0         st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos:   4392 size:    41
+ret: 0         st: 0 flags:1 dts: 1.950476 pts: 1.950476 pos:   4392 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.973696 pts: 1.973696 pos:   4433 size:    41
 ret: 0         st: 0 flags:1  ts:-0.164172
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st:-1 flags:0  ts: 0.730004
-ret: 0         st: 0 flags:1 dts: 0.743039 pts: 0.743039 pos:   2636 size:    27
+ret: 0         st: 0 flags:1 dts: 0.743039 pts: 0.743039 pos:   2636 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.766259 pts: 0.766259 pos:   2663 size:    28
 ret: 0         st:-1 flags:1  ts: 1.624171
-ret: 0         st: 0 flags:1 dts: 1.578957 pts: 1.578957 pos:   3738 size:    42
+ret: 0         st: 0 flags:1 dts: 1.578957 pts: 1.578957 pos:   3738 size:    42 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.602177 pts: 1.602177 pos:   3780 size:    41
 ret: 0         st: 0 flags:0  ts:-0.481655
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st: 0 flags:1  ts: 0.412494
-ret: 0         st: 0 flags:1 dts: 0.371519 pts: 0.371519 pos:   2202 size:    27
+ret: 0         st: 0 flags:1 dts: 0.371519 pts: 0.371519 pos:   2202 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.394739 pts: 0.394739 pos:   2229 size:    26
 ret: 0         st:-1 flags:0  ts: 1.306672
-ret: 0         st: 0 flags:1 dts: 1.323537 pts: 1.323537 pos:   3346 size:    29
+ret: 0         st: 0 flags:1 dts: 1.323537 pts: 1.323537 pos:   3346 size:    29 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.346757 pts: 1.346757 pos:   3375 size:    30
 ret: 0         st:-1 flags:1  ts:-0.799161
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st: 0 flags:0  ts: 0.095011
-ret: 0         st: 0 flags:1 dts: 0.116100 pts: 0.116100 pos:   1907 size:    27
+ret: 0         st: 0 flags:1 dts: 0.116100 pts: 0.116100 pos:   1907 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.139320 pts: 0.139320 pos:   1934 size:    27
 ret: 0         st: 0 flags:1  ts: 0.989184
-ret: 0         st: 0 flags:1 dts: 0.952018 pts: 0.952018 pos:   2885 size:    28
+ret: 0         st: 0 flags:1 dts: 0.952018 pts: 0.952018 pos:   2885 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.975238 pts: 0.975238 pos:   2913 size:    27
 ret: 0         st:-1 flags:0  ts: 1.883340
-ret: 0         st: 0 flags:1 dts: 1.904036 pts: 1.904036 pos:   4311 size:    39
+ret: 0         st: 0 flags:1 dts: 1.904036 pts: 1.904036 pos:   4311 size:    39 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.927256 pts: 1.927256 pos:   4350 size:    42
 ret: 0         st:-1 flags:1  ts:-0.222493
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st: 0 flags:0  ts: 0.671678
-ret: 0         st: 0 flags:1 dts: 0.673379 pts: 0.673379 pos:   2553 size:    28
+ret: 0         st: 0 flags:1 dts: 0.673379 pts: 0.673379 pos:   2553 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.696599 pts: 0.696599 pos:   2581 size:    28
 ret: 0         st: 0 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.532517 pts: 1.532517 pos:   3658 size:    41
+ret: 0         st: 0 flags:1 dts: 1.532517 pts: 1.532517 pos:   3658 size:    41 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.555737 pts: 1.555737 pos:   3699 size:    39
 ret: 0         st:-1 flags:0  ts:-0.539992
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:   1366 size:     6 skip:2112 discard:0
 ret: 0         st: 0 flags:1 dts: 0.023220 pts: 0.023220 pos:   1372 size:   251
 ret: 0         st:-1 flags:1  ts: 0.354175
-ret: 0         st: 0 flags:1 dts: 0.325079 pts: 0.325079 pos:   2148 size:    27
+ret: 0         st: 0 flags:1 dts: 0.325079 pts: 0.325079 pos:   2148 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.348299 pts: 0.348299 pos:   2175 size:    27
diff --git a/tests/ref/fate/preroll-aac-mov-seek-staggered b/tests/ref/fate/preroll-aac-mov-seek-staggered
index 6f51788d07..b780b3c84f 100644
--- a/tests/ref/fate/preroll-aac-mov-seek-staggered
+++ b/tests/ref/fate/preroll-aac-mov-seek-staggered
@@ -1,4 +1,4 @@
-ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27
+ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
@@ -13,13 +13,13 @@ ret: 0         st: 0 flags:5 dts:-0.024671 pts:-0.024671 pos:     42 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:    293 size:   168
 ret: 0         st: 0 flags:1 dts: 0.021769 pts: 0.021769 pos:    461 size:    89
 ret: 0         st: 0 flags:0  ts: 0.788345
-ret: 0         st: 0 flags:1 dts: 0.788027 pts: 0.788027 pos:   1417 size:    27
+ret: 0         st: 0 flags:1 dts: 0.788027 pts: 0.788027 pos:   1417 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.811247 pts: 0.811247 pos:   1444 size:    27
 ret: 0         st: 0 flags:1 dts: 0.834467 pts: 0.834467 pos:   1471 size:    28
 ret: 0         st: 0 flags:1 dts: 0.857687 pts: 0.857687 pos:   1499 size:    28
 ret: 0         st: 0 flags:1  ts: 1.682494
-ret: 0         st: 1 flags:1 dts: 1.602268 pts: 1.602268 pos:   3732 size:    28
-ret: 0         st: 0 flags:1 dts: 1.623946 pts: 1.623946 pos:   3760 size:    39
+ret: 0         st: 1 flags:1 dts: 1.602268 pts: 1.602268 pos:   3732 size:    28 skip:1024 discard:0
+ret: 0         st: 0 flags:1 dts: 1.623946 pts: 1.623946 pos:   3760 size:    39 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 1.625488 pts: 1.625488 pos:   3799 size:    28
 ret: 0         st: 0 flags:1 dts: 1.647166 pts: 1.647166 pos:   3827 size:    42
 ret: 0         st: 1 flags:0  ts:-0.423333
@@ -28,13 +28,13 @@ ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st: 1 flags:1 dts: 0.975329 pts: 0.975329 pos:   1672 size:   251
 ret: 0         st: 1 flags:1  ts: 0.470839
-ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27
+ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st:-1 flags:0  ts: 1.365002
-ret: 0         st: 0 flags:1 dts: 1.345306 pts: 1.345306 pos:   2968 size:    30
-ret: 0         st: 1 flags:1 dts: 1.346848 pts: 1.346848 pos:   2998 size:    26
+ret: 0         st: 0 flags:1 dts: 1.345306 pts: 1.345306 pos:   2968 size:    30 skip:1024 discard:0
+ret: 0         st: 1 flags:1 dts: 1.346848 pts: 1.346848 pos:   2998 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.368526 pts: 1.368526 pos:   3024 size:    30
 ret: 0         st: 1 flags:1 dts: 1.370068 pts: 1.370068 pos:   3054 size:    27
 ret: 0         st:-1 flags:1  ts:-0.740831
@@ -43,18 +43,18 @@ ret: 0         st: 0 flags:5 dts:-0.024671 pts:-0.024671 pos:     42 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:    293 size:   168
 ret: 0         st: 0 flags:1 dts: 0.021769 pts: 0.021769 pos:    461 size:    89
 ret: 0         st: 0 flags:0  ts: 0.153333
-ret: 0         st: 0 flags:1 dts: 0.137868 pts: 0.137868 pos:    657 size:    27
+ret: 0         st: 0 flags:1 dts: 0.137868 pts: 0.137868 pos:    657 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.161088 pts: 0.161088 pos:    684 size:    27
 ret: 0         st: 0 flags:1 dts: 0.184308 pts: 0.184308 pos:    711 size:    27
 ret: 0         st: 0 flags:1 dts: 0.207528 pts: 0.207528 pos:    738 size:    27
 ret: 0         st: 0 flags:1  ts: 1.047506
-ret: 0         st: 1 flags:1 dts: 0.975329 pts: 0.975329 pos:   1672 size:   251
-ret: 0         st: 0 flags:1 dts: 0.997007 pts: 0.997007 pos:   1923 size:    28
+ret: 0         st: 1 flags:1 dts: 0.975329 pts: 0.975329 pos:   1672 size:   251 skip:1024 discard:0
+ret: 0         st: 0 flags:1 dts: 0.997007 pts: 0.997007 pos:   1923 size:    28 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.998549 pts: 0.998549 pos:   1951 size:   168
 ret: 0         st: 0 flags:1 dts: 1.020227 pts: 1.020227 pos:   2119 size:    28
 ret: 0         st: 1 flags:0  ts: 1.941678
-ret: 0         st: 0 flags:1 dts: 1.949025 pts: 1.949025 pos:   4718 size:    41
-ret: 0         st: 1 flags:1 dts: 1.950567 pts: 1.950567 pos:   4759 size:    28
+ret: 0         st: 0 flags:1 dts: 1.949025 pts: 1.949025 pos:   4718 size:    41 skip:1024 discard:0
+ret: 0         st: 1 flags:1 dts: 1.950567 pts: 1.950567 pos:   4759 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.972245 pts: 1.972245 pos:   4787 size:    39
 ret: 0         st: 1 flags:1 dts: 1.973787 pts: 1.973787 pos:   4826 size:    28
 ret: 0         st: 1 flags:1  ts:-0.164172
@@ -63,13 +63,13 @@ ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st:-1 flags:0  ts: 0.730004
-ret: 0         st: 0 flags:1 dts: 0.718367 pts: 0.718367 pos:   1333 size:    28
+ret: 0         st: 0 flags:1 dts: 0.718367 pts: 0.718367 pos:   1333 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.741587 pts: 0.741587 pos:   1361 size:    28
 ret: 0         st: 0 flags:1 dts: 0.764807 pts: 0.764807 pos:   1389 size:    28
 ret: 0         st: 0 flags:1 dts: 0.788027 pts: 0.788027 pos:   1417 size:    27
 ret: 0         st:-1 flags:1  ts: 1.624171
-ret: 0         st: 1 flags:1 dts: 1.555828 pts: 1.555828 pos:   3596 size:    27
-ret: 0         st: 0 flags:1 dts: 1.577506 pts: 1.577506 pos:   3623 size:    41
+ret: 0         st: 1 flags:1 dts: 1.555828 pts: 1.555828 pos:   3596 size:    27 skip:1024 discard:0
+ret: 0         st: 0 flags:1 dts: 1.577506 pts: 1.577506 pos:   3623 size:    41 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 1.579048 pts: 1.579048 pos:   3664 size:    27
 ret: 0         st: 0 flags:1 dts: 1.600726 pts: 1.600726 pos:   3691 size:    41
 ret: 0         st: 0 flags:0  ts:-0.481655
@@ -78,13 +78,13 @@ ret: 0         st: 0 flags:5 dts:-0.024671 pts:-0.024671 pos:     42 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:    293 size:   168
 ret: 0         st: 0 flags:1 dts: 0.021769 pts: 0.021769 pos:    461 size:    89
 ret: 0         st: 0 flags:1  ts: 0.412494
-ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:    899 size:    26
+ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:    899 size:    26 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.370068 pts: 0.370068 pos:    925 size:    27
 ret: 0         st: 0 flags:1 dts: 0.393288 pts: 0.393288 pos:    952 size:    27
 ret: 0         st: 0 flags:1 dts: 0.416508 pts: 0.416508 pos:    979 size:    27
 ret: 0         st: 1 flags:0  ts: 1.306667
-ret: 0         st: 0 flags:1 dts: 1.322086 pts: 1.322086 pos:   2911 size:    30
-ret: 0         st: 1 flags:1 dts: 1.323628 pts: 1.323628 pos:   2941 size:    27
+ret: 0         st: 0 flags:1 dts: 1.322086 pts: 1.322086 pos:   2911 size:    30 skip:1024 discard:0
+ret: 0         st: 1 flags:1 dts: 1.323628 pts: 1.323628 pos:   2941 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.345306 pts: 1.345306 pos:   2968 size:    30
 ret: 0         st: 1 flags:1 dts: 1.346848 pts: 1.346848 pos:   2998 size:    26
 ret: 0         st: 1 flags:1  ts:-0.799161
@@ -93,18 +93,18 @@ ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st:-1 flags:0  ts: 0.095006
-ret: 0         st: 0 flags:1 dts: 0.091429 pts: 0.091429 pos:    604 size:    27
+ret: 0         st: 0 flags:1 dts: 0.091429 pts: 0.091429 pos:    604 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.114649 pts: 0.114649 pos:    631 size:    26
 ret: 0         st: 0 flags:1 dts: 0.137868 pts: 0.137868 pos:    657 size:    27
 ret: 0         st: 0 flags:1 dts: 0.161088 pts: 0.161088 pos:    684 size:    27
 ret: 0         st:-1 flags:1  ts: 0.989173
-ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27
+ret: 0         st: 0 flags:1 dts: 0.927347 pts: 0.927347 pos:   1583 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st: 0 flags:0  ts: 1.883333
-ret: 0         st: 0 flags:1 dts: 1.879365 pts: 1.879365 pos:   4511 size:    42
-ret: 0         st: 1 flags:1 dts: 1.880907 pts: 1.880907 pos:   4553 size:    28
+ret: 0         st: 0 flags:1 dts: 1.879365 pts: 1.879365 pos:   4511 size:    42 skip:1024 discard:0
+ret: 0         st: 1 flags:1 dts: 1.880907 pts: 1.880907 pos:   4553 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.902585 pts: 1.902585 pos:   4581 size:    41
 ret: 0         st: 1 flags:1 dts: 1.904127 pts: 1.904127 pos:   4622 size:    28
 ret: 0         st: 0 flags:1  ts:-0.222494
@@ -113,14 +113,14 @@ ret: 0         st: 0 flags:5 dts:-0.024671 pts:-0.024671 pos:     42 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:    293 size:   168
 ret: 0         st: 0 flags:1 dts: 0.021769 pts: 0.021769 pos:    461 size:    89
 ret: 0         st: 1 flags:0  ts: 0.671678
-ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28
+ret: 0         st: 0 flags:1 dts: 0.950567 pts: 0.950567 pos:   1610 size:    28 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.952109 pts: 0.952109 pos:   1638 size:     6
 ret: 0         st: 0 flags:1 dts: 0.973787 pts: 0.973787 pos:   1644 size:    28
 ret: 0         st: 1 flags:1 dts: 0.975329 pts: 0.975329 pos:   1672 size:   251
 ret: 0         st: 1 flags:1  ts: 1.565850
-ret: 0         st: 0 flags:1 dts: 1.507846 pts: 1.507846 pos:   3419 size:    39
+ret: 0         st: 0 flags:1 dts: 1.507846 pts: 1.507846 pos:   3419 size:    39 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.531066 pts: 1.531066 pos:   3485 size:    42
-ret: 0         st: 1 flags:1 dts: 1.532608 pts: 1.532608 pos:   3527 size:    28
+ret: 0         st: 1 flags:1 dts: 1.532608 pts: 1.532608 pos:   3527 size:    28 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.554286 pts: 1.554286 pos:   3555 size:    41
 ret: 0         st:-1 flags:0  ts:-0.539992
 ret: 0         st: 0 flags:5 dts:-0.047891 pts:-0.047891 pos:     36 size:     6 skip:2112 discard:0
@@ -128,7 +128,7 @@ ret: 0         st: 0 flags:5 dts:-0.024671 pts:-0.024671 pos:     42 size:   251
 ret: 0         st: 0 flags:1 dts:-0.001451 pts:-0.001451 pos:    293 size:   168
 ret: 0         st: 0 flags:1 dts: 0.021769 pts: 0.021769 pos:    461 size:    89
 ret: 0         st:-1 flags:1  ts: 0.354175
-ret: 0         st: 0 flags:1 dts: 0.300408 pts: 0.300408 pos:    845 size:    27
+ret: 0         st: 0 flags:1 dts: 0.300408 pts: 0.300408 pos:    845 size:    27 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.323628 pts: 0.323628 pos:    872 size:    27
 ret: 0         st: 0 flags:1 dts: 0.346848 pts: 0.346848 pos:    899 size:    26
 ret: 0         st: 0 flags:1 dts: 0.370068 pts: 0.370068 pos:    925 size:    27
diff --git a/tests/ref/fate/preroll-aac-mov-seek-video b/tests/ref/fate/preroll-aac-mov-seek-video
index 6f4d9a4ae0..8964c18cc5 100644
--- a/tests/ref/fate/preroll-aac-mov-seek-video
+++ b/tests/ref/fate/preroll-aac-mov-seek-video
@@ -1,4 +1,4 @@
-ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341
+ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
@@ -13,12 +13,12 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 0 flags:0  ts: 0.788333
-ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
+ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
 ret: 0         st: 1 flags:1 dts: 1.024000 pts: 1.024000 pos:1611456 size:   341
 ret: 0         st: 0 flags:1  ts: 1.682500
-ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341
+ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
@@ -33,7 +33,7 @@ ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 0 flags:0 dts: 0.033367 pts: 0.033367 pos: 260041 size: 15140
 ret: 0         st: 0 flags:0 dts: 0.066733 pts: 0.166833 pos: 275522 size: 48720
 ret: 0         st:-1 flags:0  ts: 1.365002
-ret: 0         st: 1 flags:1 dts: 1.984000 pts: 1.984000 pos:2829340 size:   341
+ret: 0         st: 1 flags:1 dts: 1.984000 pts: 1.984000 pos:2829340 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.968633 pts: 2.068733 pos:2829681 size:149436
 ret: 0         st: 1 flags:1 dts: 2.005333 pts: 2.005333 pos:2979117 size:   341
 ret: 0         st: 1 flags:1 dts: 2.026667 pts: 2.026667 pos:2979458 size:   342
@@ -43,17 +43,17 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 0 flags:0  ts: 0.153333
-ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
+ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
 ret: 0         st: 1 flags:1 dts: 1.024000 pts: 1.024000 pos:1611456 size:   341
 ret: 0         st: 0 flags:1  ts: 1.047500
-ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341
+ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
 ret: 0         st: 1 flags:0  ts: 1.941667
-ret: 0         st: 1 flags:1 dts: 1.962667 pts: 1.962667 pos:2810490 size:   342
+ret: 0         st: 1 flags:1 dts: 1.962667 pts: 1.962667 pos:2810490 size:   342 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 1.984000 pts: 1.984000 pos:2829340 size:   341
 ret: 0         st: 0 flags:1 dts: 1.968633 pts: 2.068733 pos:2829681 size:149436
 ret: 0         st: 1 flags:1 dts: 2.005333 pts: 2.005333 pos:2979117 size:   341
@@ -63,12 +63,12 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st:-1 flags:0  ts: 0.730004
-ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
+ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
 ret: 0         st: 1 flags:1 dts: 1.024000 pts: 1.024000 pos:1611456 size:   341
 ret: 0         st:-1 flags:1  ts: 1.624171
-ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341
+ret: 0         st: 1 flags:1 dts: 0.960000 pts: 0.960000 pos:1364132 size:   341 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
@@ -83,7 +83,7 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 1 flags:0  ts: 1.306667
-ret: 0         st: 1 flags:1 dts: 1.322667 pts: 1.322667 pos:2041038 size:   342
+ret: 0         st: 1 flags:1 dts: 1.322667 pts: 1.322667 pos:2041038 size:   342 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 1.344000 pts: 1.344000 pos:2061588 size:   341
 ret: 0         st: 1 flags:1 dts: 1.365333 pts: 1.365333 pos:2061929 size:   341
 ret: 0         st: 1 flags:1 dts: 1.386667 pts: 1.386667 pos:2083322 size:   342
@@ -93,7 +93,7 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st:-1 flags:0  ts: 0.095006
-ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341
+ret: 0         st: 1 flags:1 dts: 0.981333 pts: 0.981333 pos:1385069 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 0.967633 pts: 1.067733 pos:1385410 size:225704
 ret: 0         st: 1 flags:1 dts: 1.002667 pts: 1.002667 pos:1611114 size:   342
 ret: 0         st: 1 flags:1 dts: 1.024000 pts: 1.024000 pos:1611456 size:   341
@@ -103,7 +103,7 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 0 flags:0  ts: 1.883344
-ret: 0         st: 1 flags:1 dts: 1.984000 pts: 1.984000 pos:2829340 size:   341
+ret: 0         st: 1 flags:1 dts: 1.984000 pts: 1.984000 pos:2829340 size:   341 skip:1024 discard:0
 ret: 0         st: 0 flags:1 dts: 1.968633 pts: 2.068733 pos:2829681 size:149436
 ret: 0         st: 1 flags:1 dts: 2.005333 pts: 2.005333 pos:2979117 size:   341
 ret: 0         st: 1 flags:1 dts: 2.026667 pts: 2.026667 pos:2979458 size:   342
@@ -113,7 +113,7 @@ ret: 0         st: 1 flags:1 dts: 0.000000 pts: 0.000000 pos: 231180 size:   341
 ret: 0         st: 1 flags:1 dts: 0.021333 pts: 0.021333 pos: 231521 size:   341
 ret: 0         st: 0 flags:0 dts: 0.000000 pts: 0.000000 pos: 231862 size: 27496
 ret: 0         st: 1 flags:0  ts: 0.671667
-ret: 0         st: 1 flags:1 dts: 0.682667 pts: 0.682667 pos: 973250 size:   342
+ret: 0         st: 1 flags:1 dts: 0.682667 pts: 0.682667 pos: 973250 size:   342 skip:1024 discard:0
 ret: 0         st: 1 flags:1 dts: 0.704000 pts: 0.704000 pos:1040112 size:   341
 ret: 0         st: 1 flags:1 dts: 0.725333 pts: 0.725333 pos:1040453 size:   341
 ret: 0         st: 1 flags:1 dts: 0.746667 pts: 0.746667 pos:1062686 size:   342
diff --git a/tests/ref/fate/preroll-opus-mkv-decode b/tests/ref/fate/preroll-opus-mkv-decode
index ea28fd6c45..64f04648f2 100644
--- a/tests/ref/fate/preroll-opus-mkv-decode
+++ b/tests/ref/fate/preroll-opus-mkv-decode
@@ -3,12 +3,12 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 48000
 #channel_layout_name 0: mono
-0,          0,          0,      216,      432, 0x00000000
-0,        216,        216,      960,     1920, 0x00000000
-0,       1176,       1176,      960,     1920, 0x00000000
-0,       2136,       2136,      960,     1920, 0x00000000
-0,       3096,       3096,      960,     1920, 0x00000000
-0,       4056,       4056,      960,     1920, 0x00000000
-0,       5016,       5016,      960,     1920, 0x00000000
-0,       5976,       5976,      960,     1920, 0x00000000
-0,       6936,       6936,      264,      528, 0x00000000
+0,          0,          0,      192,      384, 0x00000000
+0,        192,        192,      960,     1920, 0x00000000
+0,       1152,       1152,      960,     1920, 0x00000000
+0,       2112,       2112,      960,     1920, 0x00000000
+0,       3072,       3072,      960,     1920, 0x00000000
+0,       4032,       4032,      960,     1920, 0x00000000
+0,       4992,       4992,      960,     1920, 0x00000000
+0,       5952,       5952,      960,     1920, 0x00000000
+0,       6912,       6912,      288,      576, 0x00000000
diff --git a/tests/ref/fate/preroll-opus-mkv-decode-noaccurate b/tests/ref/fate/preroll-opus-mkv-decode-noaccurate
index d2fb804d26..de4240013d 100644
--- a/tests/ref/fate/preroll-opus-mkv-decode-noaccurate
+++ b/tests/ref/fate/preroll-opus-mkv-decode-noaccurate
@@ -3,11 +3,11 @@
 #codec_id 0: pcm_s16le
 #sample_rate 0: 48000
 #channel_layout_name 0: mono
-0,      -4272,      -4272,      648,     1296, 0x00000000
-0,      -3624,      -3624,      960,     1920, 0x00000000
-0,      -2664,      -2664,      960,     1920, 0x00000000
-0,      -1704,      -1704,      960,     1920, 0x00000000
-0,       -744,       -744,      960,     1920, 0x00000000
-0,        216,        216,      960,     1920, 0x00000000
-0,       1176,       1176,      960,     1920, 0x00000000
-0,       2136,       2136,      792,     1584, 0x00000000
+0,       -768,       -768,      960,     1920, 0x00000000
+0,        192,        192,      960,     1920, 0x00000000
+0,       1152,       1152,      960,     1920, 0x00000000
+0,       2112,       2112,      960,     1920, 0x00000000
+0,       3072,       3072,      960,     1920, 0x00000000
+0,       4032,       4032,      960,     1920, 0x00000000
+0,       4992,       4992,      960,     1920, 0x00000000
+0,       5952,       5952,      480,      960, 0x00000000
diff --git a/tests/ref/fate/preroll-opus-mkv-landing-end b/tests/ref/fate/preroll-opus-mkv-landing-end
index e1391294ce..23388a3e7f 100644
--- a/tests/ref/fate/preroll-opus-mkv-landing-end
+++ b/tests/ref/fate/preroll-opus-mkv-landing-end
@@ -1 +1 @@
-packet|pts=1014|duration=20|side_datum/skip_samples:skip_samples=0|side_datum/skip_samples:discard_padding=706
+packet|pts=1014|duration=20|side_datum/skip_samples:skip_samples=3840|side_datum/skip_samples:discard_padding=706
diff --git a/tests/ref/seek/lavf-mkv b/tests/ref/seek/lavf-mkv
index d31430ae36..ded131cc6b 100644
--- a/tests/ref/seek/lavf-mkv
+++ b/tests/ref/seek/lavf-mkv
@@ -18,7 +18,7 @@ ret:-1         st: 0 flags:0  ts: 2.153000
 ret: 0         st: 0 flags:1  ts: 1.048000
 ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292329 size: 27834
 ret: 0         st: 1 flags:0  ts:-0.058000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    697 size:   208
+ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    697 size:   208 skip:481 discard:0
 ret: 0         st: 1 flags:1  ts: 2.836000
 ret: 0         st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size:   209 skip:0 discard:347
 ret:-1         st:-1 flags:0  ts: 1.730004
@@ -30,7 +30,7 @@ ret: 0         st: 0 flags:1  ts: 2.413000
 ret: 0         st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292329 size: 27834
 ret:-1         st: 1 flags:0  ts: 1.307000
 ret: 0         st: 1 flags:1  ts: 0.201000
-ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    697 size:   208
+ret: 0         st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos:    697 size:   208 skip:481 discard:0
 ret: 0         st:-1 flags:0  ts:-0.904994
 ret: 0         st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos:    913 size: 27837
 ret: 0         st:-1 flags:1  ts: 1.989173
diff --git a/tests/ref/seek/mkv-codec-delay b/tests/ref/seek/mkv-codec-delay
index 728bd80809..f228155290 100644
--- a/tests/ref/seek/mkv-codec-delay
+++ b/tests/ref/seek/mkv-codec-delay
@@ -1,48 +1,48 @@
 ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret: 0         st:-1 flags:0  ts:-1.000000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret: 0         st:-1 flags:1  ts: 1.894167
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret: 0         st: 0 flags:0  ts: 0.788000
-ret: 0         st: 0 flags:1 dts: 0.794000 pts: 0.794000 pos:   7358 size:   154
+ret: 0         st: 0 flags:1 dts: 0.794000 pts: 0.794000 pos:   7358 size:   154 skip:3840 discard:0
 ret: 0         st: 0 flags:1  ts:-0.317000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret:-1         st:-1 flags:0  ts: 2.576668
 ret: 0         st:-1 flags:1  ts: 1.470835
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret: 0         st: 0 flags:0  ts: 0.365000
-ret: 0         st: 0 flags:1 dts: 0.374000 pts: 0.374000 pos:   3963 size:   150
+ret: 0         st: 0 flags:1 dts: 0.374000 pts: 0.374000 pos:   3963 size:   150 skip:3840 discard:0
 ret: 0         st: 0 flags:1  ts:-0.741000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret:-1         st:-1 flags:0  ts: 2.153336
 ret: 0         st:-1 flags:1  ts: 1.047503
-ret: 0         st: 0 flags:1 dts: 0.954000 pts: 0.954000 pos:   8643 size:   154
+ret: 0         st: 0 flags:1 dts: 0.954000 pts: 0.954000 pos:   8643 size:   154 skip:3840 discard:0
 ret: 0         st: 0 flags:0  ts:-0.058000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret: 0         st: 0 flags:1  ts: 2.836000
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret:-1         st:-1 flags:0  ts: 1.730004
 ret: 0         st:-1 flags:1  ts: 0.624171
-ret: 0         st: 0 flags:1 dts: 0.534000 pts: 0.534000 pos:   5251 size:   150
+ret: 0         st: 0 flags:1 dts: 0.534000 pts: 0.534000 pos:   5251 size:   150 skip:3840 discard:0
 ret: 0         st: 0 flags:0  ts:-0.482000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret: 0         st: 0 flags:1  ts: 2.413000
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret:-1         st:-1 flags:0  ts: 1.306672
 ret: 0         st:-1 flags:1  ts: 0.200839
-ret: 0         st: 0 flags:1 dts: 0.114000 pts: 0.114000 pos:   1855 size:   158
+ret: 0         st: 0 flags:1 dts: 0.114000 pts: 0.114000 pos:   1855 size:   158 skip:3840 discard:0
 ret: 0         st: 0 flags:0  ts:-0.905000
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret: 0         st: 0 flags:1  ts: 1.989000
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret: 0         st:-1 flags:0  ts: 0.883340
-ret: 0         st: 0 flags:1 dts: 0.894000 pts: 0.894000 pos:   8154 size:   155
+ret: 0         st: 0 flags:1 dts: 0.894000 pts: 0.894000 pos:   8154 size:   155 skip:3840 discard:0
 ret: 0         st:-1 flags:1  ts:-0.222493
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0
 ret:-1         st: 0 flags:0  ts: 2.672000
 ret: 0         st: 0 flags:1  ts: 1.566000
-ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:0 discard:706
+ret: 0         st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos:   9306 size:   268 skip:3840 discard:706
 ret: 0         st:-1 flags:0  ts: 0.460008
-ret: 0         st: 0 flags:1 dts: 0.474000 pts: 0.474000 pos:   4768 size:   153
+ret: 0         st: 0 flags:1 dts: 0.474000 pts: 0.474000 pos:   4768 size:   153 skip:3840 discard:0
 ret: 0         st:-1 flags:1  ts:-0.645825
-ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320
+ret: 0         st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos:    748 size:   320 skip:312 discard:0