I recently updated my Android player to the new XFA R411 version, and I started experiencing severe video playback issues that did not happen before. I was previously running XFA R408, and video playback was perfectly stable without any issues.
Hardware/OS Details:
-
Device: Tanix TX4 (SoC Amlogic S905X4)
-
Android Version: Android 11
-
Xibo Player Version: XFA R411 (Previously R408)
Player Settings:
-
Use SurfaceView: Off
-
Video Engine: ExoPlayer
-
Use Multiple Decoders: Off (Note: I have been using these exact same settings on this device for at least a year without any problems until the R411 update).
Issue Description & Reproduction Steps: The problem occurs when scheduling a sequence that alternates between image layouts and video layouts.
-
The player shows the Image Layout normally.
-
It attempts to transition to the Video Layout.
-
Instead of playing the video, it fails and falls back to the Image Layout.
-
The player enters a loop, repeating the Image Layout about 8 times before it finally manages to successfully trigger and play the Video Layout.
Log Analysis: Checking the player logs during this loop, it is clear that the new ExoPlayer implementation in R411 is struggling to maintain the thread and connect to the hardware surface. Here are the recurring errors during the loop:
-
Dead Thread Errors:
java.lang.IllegalStateException: Handler (android.os.Handler) {7efbd0f} sending message to a Handler on a dead thread -
ExoPlayer repeatedly Initializing and Releasing immediately:
ExoPlayerImpl: Init 31fadbe [AndroidXMedia3/1.4.1]ExoPlayerImpl: Release 31fadbe [AndroidXMedia3/1.4.1] -
Decoder/Surface Disconnects (Amlogic):
SurfaceUtils: disconnecting from surface 0xee4b2618, reason connectToSurface(reconnect)ACodec: [OMX.amlogic.avc.decoder.awesome2] setting nBufferCountActual to 15 failed: -1010
It seems that when transitioning from images to video on R411, the thread responsible for ExoPlayer dies or the hardware decoder surface fails to connect properly on this Amlogic chip, causing the player to skip the video and reload the images until it eventually catches on.
Could you please investigate this regression in R411? Let me know if you need more complete log files or further testing on my end.
Thank you!