Skip to content

Truncated WEBM not playable (infinite clusters)

Playback can never start as the IO file position is stuck at the end of file. Forcing IO start position first on seek solves it, but is not the proper way to fix it.

Caused when preparing segments

SegmentSeeker::mkv_jump_to

calls

if( !( ms.cluster = static_cast<KaxCluster*>( ms.ep.Get() ) ) )

which ends up calling EBML's SkipData

p_prev->SkipData( *m_es, EBML_CONTEXT(p_prev), p_prev );

but according to that source, the SkipData will just Skip all elements in the Segment instead of skipping only the current Cluster

Segment
|-> Cluster (no size)
|-> Cluster (no size)
|-> Cluster (no size)
|-> Truncated EBML Cluster

image

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information