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

Video plays with a green bar below the bottom of the video #8992

Closed
troy-lamerton opened this issue May 28, 2021 · 4 comments
Closed

Video plays with a green bar below the bottom of the video #8992

troy-lamerton opened this issue May 28, 2021 · 4 comments
Assignees
Labels

Comments

@troy-lamerton
Copy link

Video URI: https://mobile-plugins-demo-files.s3.eu-central-1.amazonaws.com/mp4/pad.mp4

Expected behaviour

Video plays with no green bars shown.
For example, like this in Chrome - see Screenshot_chrome.

Actual behaviour

Video plays with a green bar below the bottom of the video.
See Screenshot_exployer_demo.

Additional info

adb bugreport:
bugreport-OnePlus6-QKQ1.190716.003-2021-05-28-19-23-01.zip

  • ExoPlayer version number: 2.14.0
  • Android version: 10
  • Android device: OnePlus 6
  • The video was recorded by an iPad 6th Gen. This issue can also be reproduced with videos recorded by an iPad 11-inch Pro.
  • This happens consistently with every video recorded by an iPad. These videos are created using iOS media apis (not the built-in screen recorder).
@marcbaechinger
Copy link
Contributor

I can repro this only with the ExoPlayer GL demo app on a real device (Pixel/Android 10 and Pixel 4/Android S). With emulators (Pixel XL/API 30 and Galaxy Nexus/API 30) the video is rendered correctly with the ExoPlayer GL demo app as well as with the normal demo app.

Can you confirm you are seeing this on the GL demo app only?

I think we need to look into this anyways and see why the ExoPlayer GL demo app does render it this way on some devices. I think @andrewlewis is the best person to check whats behind this. May I ask you to take a look?

@troy-lamerton
Copy link
Author

I can confirm this only happens in the GL demo app.

We're using ExoPlayer.setVideoSurface to play videos inside a game engine, so I think Open GL rendering is required in our specific case.

@andrewlewis
Copy link
Collaborator

It looks like this is caused by not applying the transformation matrix from SurfaceTexture.getTransformMatrix.

marcbaechinger pushed a commit that referenced this issue Jun 3, 2021
`SurfaceTexture` provides a transform matrix with each buffer. Previously
gldemo ignored this but it is important to apply it to have the video render
properly.

The transformation matrix from the surface texture includes flipping so this
change removes the hard-coded flipping from `a_texcoord`.

Issue: #8992

#minor-release

PiperOrigin-RevId: 377271389
@ojw28 ojw28 closed this as completed Jun 4, 2021
@ojw28
Copy link
Contributor

ojw28 commented Jun 4, 2021

This should be fixed by the commit referenced above.

ojw28 pushed a commit that referenced this issue Jun 10, 2021
`SurfaceTexture` provides a transform matrix with each buffer. Previously
gldemo ignored this but it is important to apply it to have the video render
properly.

The transformation matrix from the surface texture includes flipping so this
change removes the hard-coded flipping from `a_texcoord`.

Issue: #8992

#minor-release

PiperOrigin-RevId: 377271389
@google google locked and limited conversation to collaborators Aug 4, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants