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

Fire TV Stick - 2nd Gen (AFTT) gets stuck in buffering state after seeking #124

Open
1 task done
Koster35 opened this issue Oct 27, 2022 · 0 comments
Open
1 task done
Labels

Comments

@Koster35
Copy link

ExoPlayer Version

2.17.1

Devices that reproduce the issue

  • Fire TV Stick - 2nd Gen (AFTT), Fire OS 5

Devices that do not reproduce the issue

  • Chromecast with Google TV, Android 10
  • Fire TV Stick Lite - 1st Gen (AFTSS), Fire OS 7
  • Fire TV Stick - 3rd Gen (AFTSSS), Fire OS 7

Reproducible in the demo app?

No

Reproduction steps

First, it's important to describe how our seekbar implementation works. We setup a listener on our seekbar like this:

        seekBar.setOnSeekBarChangeListener(object : SeekBar.OnSeekBarChangeListener {
            override fun onProgressChanged(seekBar: SeekBar, progress: Int, fromUser: Boolean) {
                // Call Player.seekTo(windowIndex, positionMs)...
            }

            override fun onStartTrackingTouch(seekBar: SeekBar?) {
            }

            override fun onStopTrackingTouch(seekBar: SeekBar?) {
            }
        })

So, when the user moves the seekbar forward or back, it results in many successive Player.seekTo(windowIndex, positionMs) calls in a short period of time (multiple calls per second).

With that in mind, here are the steps:

  1. Seek forward or back through a video using repeated Player.seekTo(windowIndex, positionMs) calls.
  2. Observe that the player state changes from STATE_READY to STATE_BUFFERING when seeking starts.

Expected result

Player state changes from STATE_BUFFERING to STATE_READY after seeking completes, allowing playback to proceed.

Actual result

Player state never changes from STATE_BUFFERING after seeking, so the video cannot play further. Seeking again or changing the player's playWhenReady state has no effect, the player still remains stuck buffering.

Media

This can be reproduced with the HLS sample "Apple 16x9 basic stream (TS)" in the demo app:
https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8

Bug Report

  • You will email the zip file produced by adb bugreport to [email protected] after filing this issue.
@Koster35 Koster35 added the bug label Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant