Commit 3d4caf8301 for ffmpeg
commit 3d4caf8301cb84f486bb03a0dfb9353a820c8ab8
Author: Romain Beauxis <romain.beauxis@gmail.com>
Date: Sat Oct 17 12:22:42 2026 +0200
libavformat/tests/seek: print the samples to skip and discard
Print the AV_PKT_DATA_SKIP_SAMPLES side data of a packet when it has
one, so that the tests show what is discarded around a seek.
diff --git a/libavformat/tests/seek.c b/libavformat/tests/seek.c
index 32f685310f..e6ee15a22c 100644
--- a/libavformat/tests/seek.c
+++ b/libavformat/tests/seek.c
@@ -25,6 +25,7 @@
#include <string.h>
#include "libavutil/common.h"
+#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavformat/avformat.h"
@@ -134,10 +135,15 @@ int main(int argc, char **argv)
ret= av_read_frame(ic, &pkt);
if(ret>=0){
char dts_buf[60];
+ size_t skip_size;
+ const uint8_t *skip;
st= ic->streams[pkt.stream_index];
ts_str(dts_buf, pkt.dts, st->time_base);
ts_str(ts_buf, pkt.pts, st->time_base);
printf("ret:%-10s st:%2d flags:%d dts:%s pts:%s pos:%7" PRId64 " size:%6d", ret_str(ret), pkt.stream_index, pkt.flags, dts_buf, ts_buf, pkt.pos, pkt.size);
+ skip = av_packet_get_side_data(&pkt, AV_PKT_DATA_SKIP_SAMPLES, &skip_size);
+ if (skip && skip_size >= 8)
+ printf(" skip:%"PRIu32" discard:%"PRIu32, AV_RL32(skip), AV_RL32(skip + 4));
av_packet_unref(&pkt);
} else
printf("ret:%s", ret_str(ret)); // necessary to avoid trailing whitespace
diff --git a/tests/ref/seek/cache-pipe b/tests/ref/seek/cache-pipe
index ebe5946601..19e0ef0e4c 100644
--- a/tests/ref/seek/cache-pipe
+++ b/tests/ref/seek/cache-pipe
@@ -1,6 +1,6 @@
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:0 ts:-1.000000
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st: 0 flags:1 dts: 1.880816 pts: 1.880816 pos: 31544 size: 418
ret: 0 st: 0 flags:0 ts: 0.788334
@@ -18,7 +18,7 @@ ret: 0 st: 0 flags:1 dts: 2.168163 pts: 2.168163 pos: 36141 size: 418
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:1 dts: 1.044898 pts: 1.044898 pos: 18169 size: 418
ret: 0 st: 0 flags:0 ts:-0.058330
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 2.835837
ret: 0 st: 0 flags:1 dts: 2.821224 pts: 2.821224 pos: 46590 size: 418
ret: 0 st:-1 flags:0 ts: 1.730004
@@ -26,7 +26,7 @@ ret: 0 st: 0 flags:1 dts: 1.750204 pts: 1.750204 pos: 29454 size: 418
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:1 dts: 0.600816 pts: 0.600816 pos: 11064 size: 418
ret: 0 st: 0 flags:0 ts:-0.481662
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 2.412505
ret: 0 st: 0 flags:1 dts: 2.403265 pts: 2.403265 pos: 39903 size: 418
ret: 0 st:-1 flags:0 ts: 1.306672
@@ -34,7 +34,7 @@ ret: 0 st: 0 flags:1 dts: 1.332245 pts: 1.332245 pos: 22766 size: 418
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:1 dts: 0.182857 pts: 0.182857 pos: 4376 size: 418
ret: 0 st: 0 flags:0 ts:-0.904994
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 1.989173
ret: 0 st: 0 flags:1 dts: 1.985306 pts: 1.985306 pos: 33215 size: 418
ret: 0 st:-1 flags:0 ts: 0.883340
diff --git a/tests/ref/seek/extra-mp3 b/tests/ref/seek/extra-mp3
index ec5947a9d5..ba1cb4c3eb 100644
--- a/tests/ref/seek/extra-mp3
+++ b/tests/ref/seek/extra-mp3
@@ -1,12 +1,12 @@
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:0 ts:-1.000000
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:1 ts: 1.894167
ret: 0 st: 0 flags:1 dts: 1.880816 pts: 1.880816 pos: 31544 size: 418
ret: 0 st: 0 flags:0 ts: 0.788334
ret: 0 st: 0 flags:1 dts: 0.809796 pts: 0.809796 pos: 14407 size: 418
ret: 0 st: 0 flags:1 ts:-0.317499
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:0 ts: 2.576668
ret: 0 st: 0 flags:1 dts: 2.612245 pts: 2.612245 pos: 43246 size: 418
ret: 0 st:-1 flags:1 ts: 1.470835
@@ -14,13 +14,13 @@ ret: 0 st: 0 flags:1 dts: 1.462857 pts: 1.462857 pos: 24856 size: 418
ret: 0 st: 0 flags:0 ts: 0.365002
ret: 0 st: 0 flags:1 dts: 0.391837 pts: 0.391837 pos: 7720 size: 418
ret: 0 st: 0 flags:1 ts:-0.740831
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st:-1 flags:0 ts: 2.153336
ret: 0 st: 0 flags:1 dts: 2.168163 pts: 2.168163 pos: 36141 size: 418
ret: 0 st:-1 flags:1 ts: 1.047503
ret: 0 st: 0 flags:1 dts: 1.044898 pts: 1.044898 pos: 18169 size: 418
ret: 0 st: 0 flags:0 ts:-0.058330
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 2.835837
ret: 0 st: 0 flags:1 dts: 2.847347 pts: 2.847347 pos: 47008 size: 418
ret: 0 st:-1 flags:0 ts: 1.730004
@@ -28,7 +28,7 @@ ret: 0 st: 0 flags:1 dts: 1.750204 pts: 1.750204 pos: 29454 size: 418
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:1 dts: 0.626939 pts: 0.626939 pos: 11482 size: 418
ret: 0 st: 0 flags:0 ts:-0.481662
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 2.412505
ret: 0 st: 0 flags:1 dts: 2.403265 pts: 2.403265 pos: 39903 size: 418
ret: 0 st:-1 flags:0 ts: 1.306672
@@ -36,13 +36,13 @@ ret: 0 st: 0 flags:1 dts: 1.332245 pts: 1.332245 pos: 22766 size: 418
ret: 0 st:-1 flags:1 ts: 0.200839
ret: 0 st: 0 flags:1 dts: 0.182857 pts: 0.182857 pos: 4376 size: 418
ret: 0 st: 0 flags:0 ts:-0.904994
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:1 ts: 1.989173
ret: 0 st: 0 flags:1 dts: 1.985306 pts: 1.985306 pos: 33215 size: 418
ret: 0 st:-1 flags:0 ts: 0.883340
ret: 0 st: 0 flags:1 dts: 0.888163 pts: 0.888163 pos: 15661 size: 418
ret: 0 st:-1 flags:1 ts:-0.222493
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
ret: 0 st: 0 flags:0 ts: 2.671674
ret: 0 st: 0 flags:1 dts: 2.690612 pts: 2.690612 pos: 44500 size: 418
ret: 0 st: 0 flags:1 ts: 1.565841
@@ -50,4 +50,4 @@ ret: 0 st: 0 flags:1 dts: 1.567347 pts: 1.567347 pos: 26528 size: 418
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st: 0 flags:1 dts: 0.470204 pts: 0.470204 pos: 8974 size: 418
ret: 0 st:-1 flags:1 ts:-0.645825
-ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417
+ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 1451 size: 417 skip:1105 discard:0
diff --git a/tests/ref/seek/lavf-mkv b/tests/ref/seek/lavf-mkv
index 05add1844d..d31430ae36 100644
--- a/tests/ref/seek/lavf-mkv
+++ b/tests/ref/seek/lavf-mkv
@@ -1,4 +1,4 @@
-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:-1.000000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 913 size: 27837
ret: 0 st:-1 flags:1 ts: 1.894167
@@ -9,7 +9,7 @@ ret: 0 st: 0 flags:1 ts:-0.317000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 913 size: 27837
ret:-1 st: 1 flags:0 ts: 2.577000
ret: 0 st: 1 flags:1 ts: 1.471000
-ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size: 209
+ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size: 209 skip:0 discard:347
ret: 0 st:-1 flags:0 ts: 0.365002
ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146881 size: 27925
ret: 0 st:-1 flags:1 ts:-0.740831
@@ -20,7 +20,7 @@ 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 ts: 2.836000
-ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size: 209
+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
ret: 0 st:-1 flags:1 ts: 0.624171
ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146881 size: 27925
@@ -41,7 +41,7 @@ ret: 0 st: 0 flags:1 ts:-0.222000
ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 913 size: 27837
ret:-1 st: 1 flags:0 ts: 2.672000
ret: 0 st: 1 flags:1 ts: 1.566000
-ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size: 209
+ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320173 size: 209 skip:0 discard:347
ret: 0 st:-1 flags:0 ts: 0.460008
ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146881 size: 27925
ret: 0 st:-1 flags:1 ts:-0.645825
diff --git a/tests/ref/seek/mkv-codec-delay b/tests/ref/seek/mkv-codec-delay
index 04561eb876..2182f7d08e 100644
--- a/tests/ref/seek/mkv-codec-delay
+++ b/tests/ref/seek/mkv-codec-delay
@@ -1,47 +1,47 @@
-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:0 ts:-1.000000
ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748 size: 320
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
+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: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 ts:-0.317000
ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748 size: 320
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
+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: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 ts:-0.741000
ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748 size: 320
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: 1.014000 pts: 1.014000 pos: 9306 size: 268
+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: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 ts: 2.836000
-ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268
+ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268 skip:0 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.614000 pts: 0.614000 pos: 5903 size: 159
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 ts: 2.413000
-ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268
+ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268 skip:0 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.194000 pts: 0.194000 pos: 2512 size: 159
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 ts: 1.989000
-ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268
+ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268 skip:0 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:-1 flags:1 ts:-0.222493
ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 748 size: 320
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
+ret: 0 st: 0 flags:1 dts: 1.014000 pts: 1.014000 pos: 9306 size: 268 skip:0 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:-1 flags:1 ts:-0.645825