-
-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
'Unrecoverable player error occurred' while playing video during rotation #6502
Labels
bug
Issue is related to a bug
Comments
evermind-zz
added a commit
to bravenewpipe/NewPipe
that referenced
this issue
Jun 17, 2021
…g video during rotation (TeamNewPipe#6502) Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often) can trigger this error message. Especially if rotation for whatever reason takes long or playing a high resolution (1080p) video. The underlying logcat error messages: 05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810 05-12 16:38:38.251 24920 26037 W ACodec : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant (VideoDetailFragment) SurfaceView. Solution: Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface. How?: In case we are no longer able to write to the Surface eg. through rotation/putting in background we can set a DummySurface. Although it only works on API >= 23. Result: we get a little video interruption (audio is still fine) but we won't get the 'Unrecoverable player error occurred' error message. This implementation is based on and more background information: 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703' -> exoplayer fix suggestion link google/ExoPlayer#2703 (comment)
5 tasks
evermind-zz
added a commit
to bravenewpipe/NewPipe
that referenced
this issue
Jun 19, 2021
…g video during rotation (TeamNewPipe#6502) Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often) can trigger this error message. Especially if rotation for whatever reason takes long or playing a high resolution (1080p) video. The underlying logcat error messages: 05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810 05-12 16:38:38.251 24920 26037 W ACodec : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant (VideoDetailFragment) SurfaceView. Solution: Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface. How?: In case we are no longer able to write to the Surface eg. through rotation/putting in background we can set a DummySurface. Although it only works on API >= 23. Result: we get a little video interruption (audio is still fine) but we won't get the 'Unrecoverable player error occurred' error message. This implementation is based on and more background information: 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703' -> exoplayer fix suggestion link google/ExoPlayer#2703 (comment)
evermind-zz
added a commit
to bravenewpipe/NewPipe
that referenced
this issue
Jun 19, 2021
…g video during rotation (TeamNewPipe#6502) Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often) can trigger this error message. Especially if rotation for whatever reason takes long or playing a high resolution (1080p) video. The underlying logcat error messages: 05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810 05-12 16:38:38.251 24920 26037 W ACodec : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant (VideoDetailFragment) SurfaceView. Solution: Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface. How?: In case we are no longer able to write to the Surface eg. through rotation/putting in background we can set a DummySurface. Although it only works on API >= 23. Result: we get a little video interruption (audio is still fine) but we won't get the 'Unrecoverable player error occurred' error message. This implementation is based on and more background information: 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703' -> exoplayer fix suggestion link google/ExoPlayer#2703 (comment)
evermind-zz
added a commit
to bravenewpipe/NewPipe
that referenced
this issue
Jul 6, 2021
…g video during rotation (TeamNewPipe#6502) Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often) can trigger this error message. Especially if rotation for whatever reason takes long or playing a high resolution (1080p) video. The underlying logcat error messages: 05-12 16:38:38.251 24920 26037 E Surface : getSlotFromBufferLocked: unknown buffer: 0x923fc810 05-12 16:38:38.251 24920 26037 W ACodec : [OMX.qcom.video.decoder.avc] can not return buffer 35 to native window The problem is that that Exoplayer is trying to write to our -- during rotation -- no longer existant (VideoDetailFragment) SurfaceView. Solution: Implementing SurfaceHolder.Callback and using DummySurface we can now handle the lifecycle of the Surface. How?: In case we are no longer able to write to the Surface eg. through rotation/putting in background we can set a DummySurface. Although it only works on API >= 23. Result: we get a little video interruption (audio is still fine) but we won't get the 'Unrecoverable player error occurred' error message. This implementation is based on and more background information: 'ExoPlayer stuck in buffering after re-adding the surface view a few time 2703' -> exoplayer fix suggestion link google/ExoPlayer#2703 (comment)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Checklist
Steps to reproduce the bug
Playing a video in VideoDetailFragment and rotating the screen to landscape (back and forth more often) can trigger this error message. Especially if rotation for whatever reason takes long or playing a high resolution (1080p) video.
Actual behaviour
error msg: 'Unrecoverable player error occurred'
Expected behavior
no error message and the video should keep playing
Screenshots/Screen recordings
Logs
Device info
The text was updated successfully, but these errors were encountered: