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

Abnormal behavior in playback speed in iOS devices #7878

Closed
Ravi-79 opened this issue Jan 12, 2025 · 4 comments
Closed

Abnormal behavior in playback speed in iOS devices #7878

Ravi-79 opened this issue Jan 12, 2025 · 4 comments
Labels
platform: iOS Issues affecting iOS type: external An issue with an external dependency; not our issue; sometimes kept open for tracking

Comments

@Ravi-79
Copy link

Ravi-79 commented Jan 12, 2025

Have you read the FAQ and checked for duplicate open issues?
I tried, but I couldn't find any.

If the problem is related to FairPlay, have you read the tutorial?

No, It's not.

What version of Shaka Player are you using?

I found it on 4.12.5 and also able to repro in 4.12.7(Uncompiled) .

Can you reproduce the issue with our latest release version?
Yes

Can you reproduce the issue with the latest code from main?
I haven't tried that.

Are you using the demo app or your own custom app?
Custom app

If custom app, can you reproduce the issue using our demo app?
Yes.

What browser and OS are you using?
iOS 18.2
Safari

For embedded devices (smart TVs, etc.), what model and firmware version are you using?
NA

What are the manifest and license server URIs?

I am using shaka demo content only.
https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;assetBase64=eyJuYW1lIjoiTGl2ZSBzaW0gKDJzIHNlZ21lbnRzKSIsInNob3J0TmFtZSI6IiIsImljb25VcmkiOiJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vc2hha2EtYXNzZXQtaWNvbnMvZGFzaF9pZl90ZXN0X3BhdHRlcm4ucG5nIiwibWFuaWZlc3RVcmkiOiJodHRwczovL2xpdmVzaW0yLmRhc2hpZi5vcmcvbGl2ZXNpbTIvdXRjX2hlYWQvdGVzdHBpY18ycy9NYW5pZmVzdC5tcGQiLCJzb3VyY2UiOiJEQVNILUlGIiwiZm9jdXMiOmZhbHNlLCJkaXNhYmxlZCI6ZmFsc2UsImV4dHJhVGV4dCI6W10sImV4dHJhVGh1bWJuYWlsIjpbXSwiZXh0cmFDaGFwdGVyIjpbXSwiY2VydGlmaWNhdGVVcmkiOm51bGwsImRlc2NyaXB0aW9uIjpudWxsLCJpc0ZlYXR1cmVkIjpmYWxzZSwiZHJtIjpbIk5vIERSTSBwcm90ZWN0aW9uIl0sImZlYXR1cmVzIjpbIkRBU0giLCJMaXZlIiwiTVA0Il0sImxpY2Vuc2VTZXJ2ZXJzIjp7Il9fdHlwZV9fIjoibWFwIn0sIm9mZmxpbmVMaWNlbnNlU2VydmVycyI6eyJfX3R5cGVfXyI6Im1hcCJ9LCJsaWNlbnNlUmVxdWVzdEhlYWRlcnMiOnsiX190eXBlX18iOiJtYXAifSwicmVxdWVzdEZpbHRlciI6bnVsbCwicmVzcG9uc2VGaWx0ZXIiOm51bGwsImNsZWFyS2V5cyI6eyJfX3R5cGVfXyI6Im1hcCJ9LCJleHRyYUNvbmZpZyI6bnVsbCwiZXh0cmFVaUNvbmZpZyI6bnVsbCwiYWRUYWdVcmkiOm51bGwsImltYVZpZGVvSWQiOm51bGwsImltYUFzc2V0S2V5IjpudWxsLCJpbWFDb250ZW50U3JjSWQiOm51bGwsImltYU1hbmlmZXN0VHlwZSI6bnVsbCwibWVkaWFUYWlsb3JVcmwiOm51bGwsIm1lZGlhVGFpbG9yQWRzUGFyYW1zIjpudWxsLCJ1c2VJTUEiOnRydWUsIm1pbWVUeXBlIjpudWxsfQ==;panel=ALL_CONTENT;panelData=LIVE;build=uncompiled

What configuration are you using? What is the output of player.getNonDefaultConfiguration()?

{preferredAudioLanguage: "en-US", preferredTextLanguage: "en-US"}

What did you do?

Step 1: Open any Live player in Shaka demo content in iOS device. Preferably iOS 18 and above. (https://shaka-player-demo.appspot.com/demo/#audiolang=en-US;textlang=en-US;uilang=en-US;assetBase64=eyJuYW1lIjoiTGl2ZSBzaW0gKDJzIHNlZ21lbnRzKSIsInNob3J0TmFtZSI6IiIsImljb25VcmkiOiJodHRwczovL3N0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vc2hha2EtYXNzZXQtaWNvbnMvZGFzaF9pZl90ZXN0X3BhdHRlcm4ucG5nIiwibWFuaWZlc3RVcmkiOiJodHRwczovL2xpdmVzaW0yLmRhc2hpZi5vcmcvbGl2ZXNpbTIvdXRjX2hlYWQvdGVzdHBpY18ycy9NYW5pZmVzdC5tcGQiLCJzb3VyY2UiOiJEQVNILUlGIiwiZm9jdXMiOmZhbHNlLCJkaXNhYmxlZCI6ZmFsc2UsImV4dHJhVGV4dCI6W10sImV4dHJhVGh1bWJuYWlsIjpbXSwiZXh0cmFDaGFwdGVyIjpbXSwiY2VydGlmaWNhdGVVcmkiOm51bGwsImRlc2NyaXB0aW9uIjpudWxsLCJpc0ZlYXR1cmVkIjpmYWxzZSwiZHJtIjpbIk5vIERSTSBwcm90ZWN0aW9uIl0sImZlYXR1cmVzIjpbIkRBU0giLCJMaXZlIiwiTVA0Il0sImxpY2Vuc2VTZXJ2ZXJzIjp7Il9fdHlwZV9fIjoibWFwIn0sIm9mZmxpbmVMaWNlbnNlU2VydmVycyI6eyJfX3R5cGVfXyI6Im1hcCJ9LCJsaWNlbnNlUmVxdWVzdEhlYWRlcnMiOnsiX190eXBlX18iOiJtYXAifSwicmVxdWVzdEZpbHRlciI6bnVsbCwicmVzcG9uc2VGaWx0ZXIiOm51bGwsImNsZWFyS2V5cyI6eyJfX3R5cGVfXyI6Im1hcCJ9LCJleHRyYUNvbmZpZyI6bnVsbCwiZXh0cmFVaUNvbmZpZyI6bnVsbCwiYWRUYWdVcmkiOm51bGwsImltYVZpZGVvSWQiOm51bGwsImltYUFzc2V0S2V5IjpudWxsLCJpbWFDb250ZW50U3JjSWQiOm51bGwsImltYU1hbmlmZXN0VHlwZSI6bnVsbCwibWVkaWFUYWlsb3JVcmwiOm51bGwsIm1lZGlhVGFpbG9yQWRzUGFyYW1zIjpudWxsLCJ1c2VJTUEiOnRydWUsIm1pbWVUeXBlIjpudWxsfQ==;panel=ALL_CONTENT;panelData=LIVE;build=uncompiled)
Step 2: Keep the player behind the live for at least 30 seconds to start testing the playback speed.
Step 3: Make sure the the current playback speed is 1x and enter into Fullscreen mode which will open the Native player.
Step 4: Change the playback speed to 2x from the native player controls and exit the Fullscreen mode. Now the player is again in the inline player mode with the changed playback speed rate at 2x.
Step 5: Pause the video for few seconds and make sure the video is still in the 2x. Then click the play and click the 1x button from playback speed menu, this will automatically select the 2x itself even though the 1x is being pressed.(Happened in 4.12.5 and sometimes in 4.12.7 as well.)
Step 6: If it's not happening like I mentioned in the step 5 skip the step 5 and after coming back from Fullscreen keep the video in 2x as it's selected in native player and make sure the video is behind live edge and click the negative timer (shaka Timer control) from bottom controls to go to the live edge. This should automatically change the playback speed to 1x and the video should be live as well. But the playback is still at 2x and also clicking the 1x will automatically select 2x.(Constantly reproable in v4.12.7)
What did you expect to happen?
The player should not have weird playback speed controls when coming back from iOS native player.
The playback speed options should be selectable based on the timeline we're in the live edge.

What actually happened?

I think when the player comes back from Fullscreen mode aka native iOS player, it considers the recent playback speed (2x) from native player as default playback speed. So whenever I tried to click the previous default playback speed from Shaka (1x), It automatically selects the new default (2x). As I mentioned this can be reproable up to v4.12.5. But in latest version the similar process which is clicking the Current Time control to go live edge is also doing same behavior.

iOS_playback_speed_issue.mp4

Are you planning to send a PR to fix it?
No, I am expecting some expert help on this.

@Ravi-79 Ravi-79 added the type: bug Something isn't working correctly label Jan 12, 2025
@shaka-bot shaka-bot added this to the v4.13 milestone Jan 12, 2025
@avelad avelad added the platform: iOS Issues affecting iOS label Jan 13, 2025
@tykus160
Copy link
Member

I've tried to reproduce it on Mac Safari but it seems it doesn't have native rate controls for live.
image

@avelad
Copy link
Member

avelad commented Jan 16, 2025

I've reproduced the issue described here, but I think it's a buggy behavior of Safari. When you change the playback rate in full screen, they internally change defaultPlaybackRate as well, so if it was initially 1, and you now choose 2, that value is now 2, when it shouldn't have changed.

@avelad avelad added type: external An issue with an external dependency; not our issue; sometimes kept open for tracking status: waiting on response Waiting on a response from the reporter(s) of the issue and removed type: bug Something isn't working correctly labels Jan 16, 2025
@avelad avelad removed this from the v4.13 milestone Jan 16, 2025
@shaka-bot
Copy link
Collaborator

Closing due to inactivity. If this is still an issue for you or if you have further questions, the OP can ask shaka-bot to reopen it by including @shaka-bot reopen in a comment.

@shaka-bot shaka-bot removed the status: waiting on response Waiting on a response from the reporter(s) of the issue label Jan 23, 2025
@Ravi-79
Copy link
Author

Ravi-79 commented Jan 24, 2025

I've reproduced the issue described here, but I think it's a buggy behavior of Safari. When you change the playback rate in full screen, they internally change defaultPlaybackRate as well, so if it was initially 1, and you now choose 2, that value is now 2, when it shouldn't have changed.

So, just want to confirm, there is nothing we can do it from Shaka player side or is it will be resolved in upcoming releases?
@avelad

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: iOS Issues affecting iOS type: external An issue with an external dependency; not our issue; sometimes kept open for tracking
Projects
None yet
Development

No branches or pull requests

4 participants