New issue
Advanced search Search tips

Issue 770211 link

Starred by 1 user

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

ARC++: Camera.Parameters.setRotation() does not work on different display orientations

Reported by krzyszto...@explaineverything.com, Sep 29 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_1) AppleWebKit/602.2.14 (KHTML, like Gecko) Version/10.0.1 Safari/602.2.14
Platform: 9592.96.0 (Official Build) stable-channel veyron_minnie

Steps to reproduce the problem:
1. Launch an app that uses a Camera.Parameters.setRotation() method to rotate the recorded camera output on a Chromebook with ARC++.
2. Switch to tablet mode in the portrait orientation.
3. Record video for a few seconds, then stop.

What is the expected behavior?
Recorded video should be rotated properly according to the display rotation.

What went wrong?
CameraInfo.orientation always returns 0, so the recorded video is always rotated in the same way regardless of the display rotation.

Did this work before? N/A 

Chrome version: 60.0.3112.114  Channel: stable
OS Version: 60.0.3112.114
Flash Version: 27.0.0.154
 
Screenshot 2017-09-29 at 17.23.42.png
867 KB View Download
Components: Platform>ARC
Components: OS>Kernel>Camera
Cc: jcliang@chromium.org
Owner: shenghao@chromium.org
Status: Assigned (was: Unconfirmed)
krzysztof.nawrot@,

Camera.Parameters.setRotation() is for still picture, not for video recording.
Could you try to call MediaRecorder.setOrientationHint() and set the correct orientation value?

BTW, CameraInfo.orientation is the orientation of how camera physically mounted onto the device, so it should not change anyway. 

MediaRecorder.setOrientationHint() was already being set to the correct orientation value, I forgot to mention that. Setting it to any valid value (0/90/180/270) doesn't seem to make any difference.
Can you provide the stretched recorded video here? I have observed that some video players have problems playing the recorded video, but chrome usually play it correctly.
Attached the recorded video.
video.mp4
5.0 MB View Download
As you can also see in the html5 player, the video is played correctly. Therefore, I think the problem is in the video player. How does ExplainEverything implement the video player?
Explain Everything uses ExoPlayer (except on a few unsupported devices, where it uses a standard MediaPlayer) as a video player. The video itself is displayed on a TextureView.
There is also no difference between ExoPlayer and MediaPlayer in this case - both display this video incorrectly.

Sign in to add a comment