jhomlala / betterplayer

Better video player for Flutter, with multiple configuration options. Solving typical use cases!
Apache License 2.0
919 stars 981 forks source link

[BUG] Changing quality doesn't work on iOS 15.5, fine on Android #1055

Open daveshirman opened 2 years ago

daveshirman commented 2 years ago

History check Yes - I've searched all the issues

Describe the bug If you change the quality whilst streaming on iOS, nothing happens, unless you manually seek to another point in the video. This works fine on Android.

To Reproduce Steps to reproduce the behavior:

  1. Play a video
  2. Invoke the Quality popup
  3. Change to lower quality
  4. Observe nothing changes
  5. Manually seek using the slider bar - see the quality change

Expected behavior Quality should change after being selected (as it does on Android correctly)

Workarounds I've tried

Flutter doctor

Davids-MacBook-Pro:soul_sanctuary daveshirman$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.0.3, on macOS 11.6.7 20G630 darwin-x64, locale en-GB)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    ✗ cmdline-tools component is missing
      Run `path/to/sdkmanager --install "cmdline-tools;latest"`
      See https://developer.android.com/studio/command-line for more details.
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS (Xcode 13.2.1)
[✓] Android Studio (version 2021.1)
[✓] VS Code (version 1.69.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

Better Player version

Smartphone (please complete the following information):

dcx15 commented 2 years ago

I am also seeing the same issue

bazmichael commented 1 year ago

@dcx15 @daveshirman have you guys managed to resolve an issue?

I've duplicated this issue into the more-less maintainable repository since the original author no longer supports this package.

https://github.com/AnonymHK/betterplayer/issues/10

daveshirman commented 1 year ago

@dcx15 @daveshirman have you guys managed to resolve an issue?

I've duplicated this issue into the more-less maintainable repository since the original author no longer supports this package.

AnonymHK/betterplayer#10

I've not yet re-visited this one no. Any workaround your end that helps?

bazmichael commented 1 year ago

@daveshirman unfortunately not yet. I've been diving deep into the topic and seems like IOS AVPlayer doesn't allow to perform quality changes for HLS content. Due to Apple developer's threads, we need a server-based quality decision-maker for such purposes. Setting prefferedBitRate and prefferedResolution doesn't help.

I've referenced to it in he new issue - https://github.com/AnonymHK/betterplayer/issues/10