Skip to content

ExoPlayer Can't Play MKV with Tracks in the End Cluster #1479

@ethaldeman

Description

@ethaldeman

Description

This is a follow-up to #1331 which directly addresses the root cause of that problem.

It seems ExoPlayer can't play mkv which have their tracks in the end cluster verses the start cluster. While less common, it is still mkv spec compliant. Exoplayer opens and the seek bar seems to advance at a normal rate, but the screen is black and no video or audio plays.

This mkv plays fine in mpv and ffmpeg transcoding within Wholphin and vlc on my Android TV box

https://www.dropbox.com/scl/fi/7zfbrlxquhhd9el3ukxg7/Last_Cluster.mkv?rlkey=xxrgg82mbbpzl71i8je3gl0a7&st=6vi0qs3v&dl=0 is a link to a copyright free mkv that suffers from this issue.

If this is discovered to be a problem with ExoPlayer itself and not the Jellyfin app, I will happily open a ticket upstream in ExoPlayer.

A Forum post which describe this oddity in more detail: https://help.mkvtoolnix.download/t/i-need-to-produce-the-mkvinfo-outputs-not-enough-information-e-g-no-track-information-problem/1570

Media info

mkvinfo below

  • EBML head at 0 size 40 data size 35
    |+ EBML version: 1 at 5 size 4 data size 1
    |+ EBML read version: 1 at 9 size 4 data size 1
    |+ Maximum EBML ID length: 4 at 13 size 4 data size 1
    |+ Maximum EBML size length: 8 at 17 size 4 data size 1
    |+ Document type: matroska at 21 size 11 data size 8
    |+ Document type version: 4 at 32 size 4 data size 1
    |+ Document type read version: 2 at 36 size 4 data size 1
  • Segment: size 34730836 at 40 size 34730848 data size 34730836
    |+ Seek head (subentries will be skipped) at 52 size 71 data size 66
    |+ EBML void: size 4019 at 123 size 4028 data size 4019
    |+ Segment information at 4151 size 157 data size 151
    | + Timestamp scale: 1000000 at 4157 size 7 data size 3
    | + Multiplexing application: libebml v1.4.5 + libmatroska v1.7.1 at 4164 size 38 data size 35
    | + Writing application: mkvmerge v99.0 ('Buka') 64-bit at 4202 size 33 data size 30
    | + Duration: 00:01:15.054000000 at 4235 size 7 data size 4
    | + Date: 2026-05-29 00:14:26 UTC at 4242 size 11 data size 8
    | + Title: Big Buck Bunny, Sunflower version at 4253 size 36 data size 33
    | + Segment UID: 0xa0 0x74 0x6e 0x9e 0x57 0x0a 0x46 0x02 0x53 0xea 0xa0 0x7e 0x03 0x48 0xb7 0x52 at 4289 size 19 data size 16
    |+ EBML void: size 1341 at 4308 size 1350 data size 1341
    |+ Cluster at 5658 size 257969 data size 257962

Note that if mkvinfo is run with -V option, the below tracks are listed at the end.

  • Tracks at 34726723 size 4165 data size 4158
    | + Track at 34726730 size 4091 data size 4088
    | + Track number: 1 (track ID for mkvmerge & mkvextract: 0) at 34726733 size 3 data size 1
    | + Track UID: 15665537644079466865 at 34726736 size 11 data size 8
    | + Track type: video at 34726747 size 3 data size 1
    | + "Lacing" flag: 0 at 34726750 size 3 data size 1
    | + Language: und at 34726753 size 7 data size 3
    | + Codec ID: V_MPEG4/ISO/AVC at 34726760 size 17 data size 15
    | + Codec's private data: size 45 (H.264 profile: Main @L4.0) at 34726777 size 48 data size 45
    | + Default duration: 00:00:00.033333333 (30.000 frames/fields per second for a video track) at 34726825 size 8 data size 4
    | + Language (IETF BCP 47): und at 34726833 size 7 data size 3
    | + Video track at 34726840 size 35 data size 33
    | + Pixel width: 1920 at 34726842 size 4 data size 2
    | + Pixel height: 1080 at 34726846 size 4 data size 2
    | + Display width: 1920 at 34726850 size 5 data size 2
    | + Display height: 1080 at 34726855 size 5 data size 2
    | + Video color information at 34726860 size 15 data size 12
    | + Color matrix coefficients: 1 at 34726863 size 4 data size 1
    | + Color transfer: 1 at 34726867 size 4 data size 1
    | + Color primaries: 1 at 34726871 size 4 data size 1
    | + Name: eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee at 34726875 size 3946 data size 3942
    | + Track at 34730821 size 67 data size 65
    | + Track number: 2 (track ID for mkvmerge & mkvextract: 1) at 34730823 size 3 data size 1
    | + Track UID: 5432548868503009133 at 34730826 size 11 data size 8
    | + Track type: audio at 34730837 size 3 data size 1
    | + Language: und at 34730840 size 7 data size 3
    | + Codec ID: A_AAC at 34730847 size 7 data size 5
    | + Codec's private data: size 5 at 34730854 size 8 data size 5
    | + Default duration: 00:00:00.021333333 (46.875 frames/fields per second for a video track) at 34730862 size 8 data size 4
    | + Language (IETF BCP 47): und at 34730870 size 7 data size 3
    | + Audio track at 34730877 size 11 data size 9
    | + Sampling frequency: 48000 at 34730879 size 6 data size 4
    | + Channels: 2 at 34730885 size 3 data size 1

Player backend

ExoPlayer (default)

App Version

v1.0.0

Server Version

0.19.9

Device

Onn 4k Pro (2026)

Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingplaybackRelated to media playback

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions