google / google/ExoPlayer

NVIDIA SHIELD flicker green screen, when changeing two players between two views when playing Rec._709 color profile

Open
#7,998 10 comments 0 reactions 1 assignee Assigned to @andrewlewis View on GitHub
bug: device specific
Dominant language
Java
Stars
21.9k
Forks
6k
PR merge metrics
No merged PRs in 30d

Description

### Issue description

This issue is similar to my other https://github.com/google/ExoPlayer/issues/7996

I have a Picture Picture mode on my player, one full screen player one small over the full.

I allow to change with is the full or small on one click...

On the NVIDIA SHIELD I have a issue, that if I use `PlayerView.setPlayer(SimpleExoPlayer);` to change the players between the two views there is flicker green when the video is using Rec._709 color profile

From vlc I can get this information of the media file

![Screenshot from 2020-09-28 17-54-29](https://user-images.githubusercontent.com/13755892/94485026-b1e0b700-01b3-11eb-80e2-7e72cdb46e51.png)

Here is a video playing the [Link to test content ](https://github.com/fgl27/SmartTwitchTV/raw/master/release/githubio/temp/shield_test_clip.mp4)

https://www.youtube.com/watch?v=F1jRCm99sQc&feature=youtu.be

On the above one of the players is using the color profile Rec._709 after a few changes we have the issue only on that one

Unfortunately as we can see the problem is random and may also happen on another case...

This problem may also happen randomly after the player automatic changes the resolution/bitrate (do to a internet slowdown) when playing a master HLS playlist in adaptive bitrate mode.

### Reproduction steps

Use the bellow or similar function to do the change

```
private int pos = 1;

private void SwitchPlayer() {
Log.d(TAG, "SwitchPlayer");

for (int i = 0; i < 2; i++) {

PlayerView[i].setPlayer(player[i ^ pos]);

}

pos = pos ^ 1;
}

```

### Link to test content

https://github.com/fgl27/SmartTwitchTV/raw/master/release/githubio/temp/shield_test_clip.mp4

### A full bug report captured from the device

[bugreport-darcy-PPR1.180610.011-2020-09-28-17-59-39.zip](https://github.com/google/ExoPlayer/files/5295051/bugreport-darcy-PPR1.180610.011-2020-09-28-17-59-39.zip)

On the above I have added a log before the change

`STTV_PlayerActivity: SwitchPlayer`

When the problem happens we have on the log some device specific logs spam as the bellow:

```
09-27 14:44:19.298 3496 9437 D NvOsDebugPrintf: NvRmPrivFlush: NvRmChannelSubmit failed (err = 196623, SyncPointIdx = 38, SyncPointValue = 0)
09-27 14:44:19.298 3496 9437 I chatty : uid=1046(mediacodec) omx@1.0-service identical 1 line

```
There is no Exo specific error on the logs after the problem happens, so is not possible to detect from the player that this has happens, ideally if was possible to detected the player could be restarted to fix the problem, as a release and restart of the player will fix it.

### Version of ExoPlayer being used

dev-v2

### Device(s) and version(s) of Android being used

NVIDIA SHIELD 2017 model
Android 9

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.