Closed emutavchi closed 3 weeks ago
Can you please provide an html that reproduces the issue, please?
@calvaris it is reproducible with YouTube test suite:
WV SFR & HFR tests. Tests are failing with timeout error, with player stuck in seeking state: https://ytlr-cert.appspot.com/latest/main.html?&test_type=playbackperf-widevine-sfr-vp9-test https://ytlr-cert.appspot.com/latest/main.html?&test_type=playbackperf-widevine-sfr-h264-test https://ytlr-cert.appspot.com/latest/main.html?&test_type=playbackperf-widevine-hfr-test
and loop tests https://ytlr-cert.appspot.com/latest/main.html?&test_type=msecodec-test&tests=57,58,81,82
Ok, that helps but what I need is that you craft an html, because I need to add my own traces to that HTML, etc.
Hi @calvaris, Can't these pages help as those are open source YT MSE conformance tests?
No, managing those nowadays is not easy so please, provide a simple HTML example.
I guess I have to try it.
After landing https://github.com/WebKit/WebKit/pull/29670 , I backported it to 2.38 as eb6ae0a7f8ba and in 2.42 as 8cead0543c8b. Closing.
MediaPlayerPrivateGStreamer may report incorrect position (last cached) immediately after seek. This can happen when didPreroll is called on async-done with pipeline still in async transition to playing state: current: PAUSED, pending: PLAYING, result: ASYNC. 40cfa6a6170658709d2eafdc10657bc67a6ec207 disables querying position from the sinks in this case resulting in last cached value (before seek) to be returned. Which confuses some tests from YouTube WV SFR/HFR suite, and makes it trigger multiple seeks one after another.
The proposed change works around the problem by allowing fall back to last seeked position until pipeline preroll completes. Similar to MediaPlayerPrivateGStreamer::finishSeek().