Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blackberry (Z10) doesn't support changing playback speed #3689

Closed
Djfe opened this issue Oct 16, 2016 · 8 comments
Closed

Blackberry (Z10) doesn't support changing playback speed #3689

Djfe opened this issue Oct 16, 2016 · 8 comments

Comments

@Djfe
Copy link

Djfe commented Oct 16, 2016

I just tested my website including this player on a Blackberry device and I found out, that the default blackberry browser doesn't seem to support changing the playback rate/speed

if you change it, first the audio will stop, then the video entirely and it just keeps the loading circle spinning
reloading the video doesn't work anymore until you reboot the device

(reloading the site or the browser doesn't work)
The player should by default not show the speed setting to the user IMO

According to the about page the default browser is based on webkit, webcore and javascriptcore

The device is a blackberry Z10 on software version 10.3.2.2836, which is the current version

The user agent is:

Mozilla/5.0 (BB10; Touch) AppleWebKit/537.35+ (KHTML, like Gecko) Version/10.3.2.2876 Mobile Safari/537.35+

And yes it's not a typo, that the version listed in the useragent is different from the version the about page of the phone shows
I double checked to make sure
one says 7 the other 3

probably caused by Blackberry somehow

@Djfe
Copy link
Author

Djfe commented Oct 16, 2016

ok it's mostly a browser problem
Firefox 49 (for Android) on Blackberry has no problem with the speed setting -> works fine
useragent:

Mozilla/5.0 (Android 4.3; Mobile; rv:49.0) Gecko/49.0 Firefox/49.0

@Djfe
Copy link
Author

Djfe commented Oct 16, 2016

Opera 37 doesn't show the speed setting, so I guess it's blocked, because Opera is known to not support it, yet
the rest (playback) works fine
in case you are interested, the useragent:

Mozilla/5.0 (Linux; Android 4.3; Z10 Build/10.3.2.348) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Mobile Safari/537.36 OPR/37.0.2192.105088

@mister-ben
Copy link
Contributor

Blackberry could have a similar issue as Andorid where the playbackRate getter/setter is implemented on video elements but doesn't actually have an effect. #3180

@gkatsev
Copy link
Member

gkatsev commented Dec 8, 2016

I have a feeling that it's exactly the same issue as in Chrome. Unfortunately, not much we can do about it.

@Djfe
Copy link
Author

Djfe commented Dec 9, 2016

of course you can do something:
you can disable showing the speed setting for this browser

I'm not sure if it really is the same bug, since it somehow destroys decoding until a reboot (that wasn't the case on android was it? there it just didn't have any effect, here it has a very negative one, that's why the speed button definitely shouldn't be shown ;)

@gkatsev
Copy link
Member

gkatsev commented Dec 9, 2016

If we can figure out a way to feature detect this to disable the feature, I'd be happy to put it in. I'd prefer not to have anything using usreagent switching.

@Djfe
Copy link
Author

Djfe commented Dec 9, 2016

yes a feature detect is always the preferred way
but I don't think that's possible sadly, especially since this bug kills the media decoding for the whole browser.
The normal android/chrome bug doesn't even do that and you still handle it by reading the user agent atm...
so why not do the same thing for blackberry?

the official way of detecting would be to look up if the feature is offered by the browser, which it is, even though it's not implemented
there have been many more bugs and browser specific behaviours in the past that required detecting the user agent, you should accept that the world isn't perfect, so you need to adapt

if you find a better solution in the future or the bug gets fixed you can still change the code
for now this is the only solution I see, as ugly as it is :/

@Djfe
Copy link
Author

Djfe commented Dec 9, 2016

just to proof that currently the user agent is checked:
https://github.com/videojs/video.js/blob/master/src/js/tech/html5.js#L859

you only need to add a const IS_BLACKBERRY here and use it in the if above
https://github.com/videojs/video.js/blob/master/src/js/utils/browser.js

@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 26, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants