testsrc

MPEG-TS timestamps wrapping around

edge/ts-pcr-wrap.tsMPEG-TSEdge case

An MPEG-TS whose timestamps roll over during playback, as long broadcast recordings do.

How it should play

0:020:06

What a broken player shows

0:000:00
An illustration of the symptom, not a frame from the file.

What goes wrong

Playback freezes, jumps or stops at the wrap, and the duration comes out wrong.

The file

Container
MPEG-TS, 6.021 s
Size
5.7 MB
Video
H.264, 1920x1080, 30 fps
Audio
AAC, stereo, 48,000 Hz
Expected
plays correctly in any player

How it was verified

Built by the testsrc generator (gen v0.2) and verified with FFmpeg 7.1.5-0+deb13u1 and GStreamer 1.26.2 in snapshot 2026-11-02, before it was published: the file has the property this page describes, and decoding it gives the expected result.

With a token: the file, how exactly it was built, the full fact sheet, and the expected result the checker judges a player against.

Use it

# the public facts
curl https://testsrc.com/v1/cases/edge/ts-pcr-wrap.ts

# the full fact sheet and the file, with your token
curl -H "Authorization: Bearer $TESTSRC_TOKEN" \
  https://testsrc.com/v1/cases/edge/ts-pcr-wrap.ts/facts
curl -H "Authorization: Bearer $TESTSRC_TOKEN" -o ts-pcr-wrap.ts \
  https://testsrc.com/v1/files/edge/ts-pcr-wrap.ts

# play it through your player and check what it showed
testsrc run --player libvlc edge/ts-pcr-wrap.ts

See the API reference for tokens, quotas and snapshots.

testsrc is in early access. Free for open-source projects, $99/month per organisation for companies.

Get early access

More on timing and sync

5 more cases on this with a token.