Bug 231017 - [MSE][GStreamer] Allow infinite duration on MSE
Summary: [MSE][GStreamer] Allow infinite duration on MSE
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Media (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Enrique Ocaña
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-09-30 03:34 PDT by Enrique Ocaña
Modified: 2021-09-30 05:48 PDT (History)
14 users (show)

See Also:


Attachments
Patch (5.83 KB, patch)
2021-09-30 03:44 PDT, Enrique Ocaña
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Enrique Ocaña 2021-09-30 03:34:44 PDT
Positive infinite duration isn't properly working on MSE in the glib (GStreamer) ports. When such a duration is set, nothing happens and the default zero duration remains. This can break some live streams.

My test case was a live stream in a player based on dash.js 4.0.0. The duration is set to infinity (but remains as zero due to the bug) and an initial seek to the current (huge) position is done. The wrong duration has influence in the real seek target time used[1], so the seek may end up being done to the wrong time (before the buffered ranges in my case) and the playback never starts.

[1] https://github.com/WebKit/WebKit/blob/a12c487/Source/WebCore/html/HTMLMediaElement.cpp#L3153
Comment 1 Enrique Ocaña 2021-09-30 03:44:48 PDT
Created attachment 439721 [details]
Patch
Comment 2 Xabier Rodríguez Calvar 2021-09-30 03:52:42 PDT
Comment on attachment 439721 [details]
Patch

LGTM, but let's wait for Alicia.
Comment 3 EWS 2021-09-30 05:47:36 PDT
Committed r283309 (242334@main): <https://commits.webkit.org/242334@main>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 439721 [details].
Comment 4 Radar WebKit Bug Importer 2021-09-30 05:48:16 PDT
<rdar://problem/83715383>