Skip to content

[Bug]: Bilibili playback permanently hangs on timestamp gaps without requesting new chunks (MSE gap deadlock) #361

Closed

Description

@Aquarius-Situla

What happened?

Occasionally during continuous playback of a Bilibili video (e.g. BV1fKaz6WEnb), playback suddenly freezes at a specific timestamp (e.g. at 19:28) and hangs indefinitely with a loading spinner. It never recovers on its own unless the user manually seeks forward on the progress bar. Checking the server logs during the multi-minute freeze, the proxy and network were completely normal, but the browser had completely stopped requesting media chunks (/api/media/... requests dropped to zero). It looks like an MSE gap deadlock: a micro timestamp/PTS gap causes the <video> element to stall. Because playback halts, the forward buffer is never consumed, so dash.js thinks the buffer is still full and refuses to fetch the next segment, creating an infinite stall until an explicit seek clears the pipeline.

Steps to reproduce

  1. Open a longer Bilibili video (e.g. https://www.bilibili.com/video/BV1fKaz6WEnb).
  2. Let it play continuously through minute 19.
  3. At 19:28, the video suddenly freezes while the loading indicator spins indefinitely.
  4. Notice that no media network activity happens during the freeze (chunk requests drop to zero).
  5. Drag the progress bar past 19:28 (e.g. to 20:00) -> chunk requests instantly resume and playback continues normally.

Area

Frontend (web app)

Channel

main (stable)

Anything else?

No response

Activity

  1. Priveetee commented on Oct 30, 2026

    @Priveetee
    Member

    1.13.0 keeps dash.js jumping over small buffer holes after a manual quality change, which could freeze playback for good. Could you check if BV1fKaz6WEnb still stops at 19:28? (◕ᴗ◕✿)

  2. Aquarius-Situla commented on Oct 31, 2026

    @Aquarius-Situla
    ContributorAuthor

    Thx for the fix :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions