Comments (9)
Hi @karlcow,
As you noticed, this isn't really a UI but a player issue, hence I'm closing this ticket in the UI repository.
Having said that, this is a known issue caused by a Safari bug behavior change around the events of the underlying fullscreen API. We have already implemented a mitigation for this problem in our player, which will be part of the upcoming release next Tuesday (8.119.0).
from bitmovin-player-ui.
Thanks a lot @dweinber
Do you know which Safari bug? on bugs.webkit.org?
from bitmovin-player-ui.
Sorry, I got that slightly wrong. It's not a bug in Safari but a behavior change in the fullscreen-related events. I think from Safari it's expected behavior but this change messed with our state handling.
from bitmovin-player-ui.
Thanks. This is
https://bugs.webkit.org/show_bug.cgi?id=84798
and https://bugs.webkit.org/show_bug.cgi?id=229333
from bitmovin-player-ui.
Sounds like https://bugs.webkit.org/show_bug.cgi?id=229333 indeed, yes
from bitmovin-player-ui.
@dweinber Hi! Can I get more precision into why it messed up the state handling? Knowing what the fix you applied would be helpful too. I'm wondering if there are any more cases that started breaking with the new fullscreen API or if it's just isolated.
from bitmovin-player-ui.
Hi @nt1m,
Essentially our player was listening to prefixed and unprefixed fullscreen change events to support the different browsers and implementation. So far, browsers had one or the other but starting with Safari 16.4, Safari emits both, fullscreenchange
and webkitfullscreenchange
events.
This caused the player to think it has left fullscreen mode already, even though it was still playing fullscreen. Hence, the button to de-toggle fullscreen didn't work.
With the player version 8.119.0 and above, we now remember which event type has triggered the fullscreen mode, leading to interleaving events (like webkitfullscreenchange) not having an effect on the state in the player.
from bitmovin-player-ui.
Thanks! that helped us provide a fix on our side as well: WebKit/WebKit#14599
from bitmovin-player-ui.
Nice, thanks for letting us know and for implementing the fix! 👍
from bitmovin-player-ui.
Related Issues (20)
- How to make autoplay keep fullscreen mode?
- npm ERR! Build failed with error code: 1 while running npm install HOT 2
- Full screen button on player for Android App
- Bitmovin encoding distorts colors HOT 1
- Livestream stutters at higher playback speed HOT 1
- Overlapping Subtitle Queues break Subtitles in Safari HOT 1
- getMaxTimeShift value is negative non-zero for Safari HLS live streams HOT 1
- Feature Request: Use Document Picture-in-Picture Web API HOT 4
- pausedTimeshiftUpdater is not cleared HOT 2
- Accessing UIManager when replacing the built-in UI through location HOT 3
- I want to update the version of player HOT 1
- when the UI autohides with the SettingsPanel open, one touch is need to make the visible SettingsPanel interactive again HOT 2
- seekbar markers overflowing player in some UI configurations HOT 3
- overlapping issue with seekbar thumbnails HOT 1
- error ReferenceError: self is not defined HOT 4
- <button> should not have superfluous aria attributes HOT 1
- listbox does not implement listbox a11y pattern HOT 1
- immediately hide UI if mouse leaves uicontainer HOT 2
- google chromecast HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bitmovin-player-ui.