When parsing a block, the passed data corresponds to the pos value. However, when constructing a packet, some offsets are made to the data, so the pos in the packet does not correspond to the position in the file.
Signed-off-by: wangyaqiang <[email protected]> --- libavformat/matroskadec.c | 4 ++-- tests/ref/seek/lavf-mkv | 44 +++++++++++++++++----------------- tests/ref/seek/mkv-codec-delay | 44 +++++++++++++++++----------------- 3 files changed, 46 insertions(+), 46 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 503b99b286..0215855019 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -4116,7 +4116,7 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, AVBufferRef *buf int n, flags, laces = 0; uint64_t num; int trust_default_duration; - + uint8_t *data_start = data; av_assert1(buf); ffio_init_read_context(&pb, data, size); @@ -4200,7 +4200,7 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, AVBufferRef *buf if (cluster_time != (uint64_t)-1 && (block_time >= 0 || cluster_time >= -block_time)) track->end_timecode = FFMAX(track->end_timecode, timecode + block_duration); - + pos += (data - data_start); for (n = 0; n < laces; n++) { int64_t lace_duration = block_duration*(n+1) / laces - block_duration*n / laces; uint8_t *out_data = data; diff --git a/tests/ref/seek/lavf-mkv b/tests/ref/seek/lavf-mkv index e327959058..40af3381ca 100644 --- a/tests/ref/seek/lavf-mkv +++ b/tests/ref/seek/lavf-mkv @@ -1,48 +1,48 @@ -ret: 0 st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos: 689 size: 208 +ret: 0 st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos: 693 size: 208 ret: 0 st:-1 flags:0 ts:-1.000000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 size: 27837 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 size: 27834 ret: 0 st: 0 flags:0 ts: 0.788000 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 size: 27834 ret: 0 st: 0 flags:1 ts:-0.317000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 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: 320165 size: 209 +ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320169 size: 209 ret: 0 st:-1 flags:0 ts: 0.365002 -ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146873 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146877 size: 27925 ret: 0 st:-1 flags:1 ts:-0.740831 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 size: 27837 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: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 size: 27834 ret: 0 st: 1 flags:0 ts:-0.058000 -ret: 0 st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos: 689 size: 208 +ret: 0 st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos: 693 size: 208 ret: 0 st: 1 flags:1 ts: 2.836000 -ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320165 size: 209 +ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320169 size: 209 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: 146873 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146877 size: 27925 ret: 0 st: 0 flags:0 ts:-0.482000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 size: 27837 ret: 0 st: 0 flags:1 ts: 2.413000 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 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: 689 size: 208 +ret: 0 st: 1 flags:1 dts:-0.011000 pts:-0.011000 pos: 693 size: 208 ret: 0 st:-1 flags:0 ts:-0.904994 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 size: 27837 ret: 0 st:-1 flags:1 ts: 1.989173 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 size: 27834 ret: 0 st: 0 flags:0 ts: 0.883000 -ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292321 size: 27834 +ret: 0 st: 0 flags:1 dts: 0.960000 pts: 0.960000 pos: 292325 size: 27834 ret: 0 st: 0 flags:1 ts:-0.222000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 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: 320165 size: 209 +ret: 0 st: 1 flags:1 dts: 0.982000 pts: 0.982000 pos: 320169 size: 209 ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146873 size: 27925 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos: 146877 size: 27925 ret: 0 st:-1 flags:1 ts:-0.645825 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 905 size: 27837 +ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 909 size: 27837 diff --git a/tests/ref/seek/mkv-codec-delay b/tests/ref/seek/mkv-codec-delay index 04561eb876..3a6667cf61 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 +ret: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 752 size: 320 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: 752 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: 9310 size: 268 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: 7362 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: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 752 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: 9310 size: 268 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: 3967 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: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 752 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: 9310 size: 268 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: 752 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: 9310 size: 268 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:1 dts: 0.614000 pts: 0.614000 pos: 5907 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 dts:-0.007000 pts:-0.007000 pos: 752 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: 9310 size: 268 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:1 dts: 0.194000 pts: 0.194000 pos: 2516 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 dts:-0.007000 pts:-0.007000 pos: 752 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: 9310 size: 268 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: 8158 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: 0 st: 0 flags:1 dts:-0.007000 pts:-0.007000 pos: 752 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: 9310 size: 268 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: 4772 size: 153 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: 752 size: 320 -- 2.50.1 (Apple Git-155) _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
