getUserMedia - Switching between landscape orientations on a rendered camera video stream in FxAndroid does not switch to the other landscape orientation

VERIFIED FIXED in Firefox 24

Status

()

defect
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: jsmith, Assigned: gcp)

Tracking

(Blocks 1 bug)

Trunk
mozilla25
ARM
Android
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox24 verified, firefox25 verified)

Details

(Whiteboard: [getUserMedia][android-gum-])

Attachments

(1 attachment)

Build: Firefox 25 Nightly
Device: Galaxy Nexus
OS: Android 4.2

STR

1. Go to http://mozilla.github.io/webrtc-landing/gum_test.html
2. Select Video
3. Accept permissions for the front camera while in portrait-primary
4. Switch to one of the landscape orientations
5. Now switch to the other landscape orientation by moving from the first landscape orientation to portrait-secondary to the second landscape orientation

Expected

The orientation should match the current landscape orientation present.

Actual

The browser's orientation will change, but the orientation of the camera stream will not change. Seems to only happen if you move across landscape orientations such that you move from landscape orientation A to portrait-secondary to landscape orientation B.
Whiteboard: [getUserMedia][android-gum-]
I'm going to guess that rotating the phone upside down doesn't generate Android onConfigurationChanged events, because the "upside down" orientation isn't considered valid, so it's seen as going from landscape to landscape.

We'll need to listen to onOrientationChanged as well.
Assignee: nobody → gpascutto
Attachment #773286 - Flags: review?(blassey.bugs)
Comment on attachment 773286 [details] [diff] [review]
Patch 1. Listen to orientation events

Review of attachment 773286 [details] [diff] [review]:
-----------------------------------------------------------------

::: mobile/android/base/GeckoApp.java
@@ +1748,5 @@
>                                new AbsoluteLayout.LayoutParams(8, 16, 0, 0));
>      }
>  
>      public void disableCameraView() {
> +        mCameraOrientationEventListener = null;

should you call disable() first?
Attachment #773286 - Flags: review?(blassey.bugs) → review+
Pushed with comments addressed. Indeed you need disable(), because whatever generates the callbacks obviously keeps a reference to the listener. Not sure what I was thinking there.

https://hg.mozilla.org/integration/mozilla-inbound/rev/df7f5e54f087
https://hg.mozilla.org/mozilla-central/rev/df7f5e54f087
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla25
Status: RESOLVED → VERIFIED
Comment on attachment 773286 [details] [diff] [review]
Patch 1. Listen to orientation events

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Android WebRTC
User impact if declined: Video image doesn't rotate along if user turns phone upside down
Testing completed (on m-c, etc.): Landed on m-c some days ago
Risk to taking this patch (and alternatives if risky): Minimal; WebRTC specific; Android-Java-only
String or IDL/UUID changes made by this patch: NA
Attachment #773286 - Flags: approval-mozilla-aurora?
Keywords: verifyme
Comment on attachment 773286 [details] [diff] [review]
Patch 1. Listen to orientation events

Needs to land on Aurora as webRTC is enabled for Fx24.
Requesting qa verification once this lands .
Attachment #773286 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
You need to log in before you can comment on or make changes to this bug.