Closed Bug 1192203 Opened 4 years ago Closed 4 years ago

getUserMedia Video does not work on (some other) Android 2.3 devices

Categories

(Core :: WebRTC, defect, P2)

39 Branch
ARM
Android
defect

Tracking

()

RESOLVED FIXED
mozilla43
Tracking Status
firefox43 --- fixed
Blocking Flags:

People

(Reporter: thomas.nt, Assigned: gcp)

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0
Build ID: 20150806001005

Steps to reproduce:

Device: Nexus One (Android 2.3.7)

1. Go to http://mozilla.github.com/webrtc-landing/gum_test.html
2. Select video
3. Choose 'Share' option from the doorhanger



Actual results:

The camera does not start.

The following exception is thrown in logcat:
E/Camera  ( 3354): Invalid range list string=null
E/WEBRTC-JC( 3354): startCapture failed
E/WEBRTC-JC( 3354): java.lang.NullPointerException
E/WEBRTC-JC( 3354):     at org.webrtc.videoengine.VideoCaptureAndroid.access$100(VideoCaptureAndroid.java:48)
E/WEBRTC-JC( 3354):     at org.webrtc.videoengine.VideoCaptureAndroid$1.run(VideoCaptureAndroid.java:188)
E/WEBRTC-JC( 3354):     at android.os.Handler.handleCallback(Handler.java:587)
E/WEBRTC-JC( 3354):     at android.os.Handler.dispatchMessage(Handler.java:92)
E/WEBRTC-JC( 3354):     at android.os.Looper.loop(Looper.java:130)
E/WEBRTC-JC( 3354):     at org.webrtc.videoengine.VideoCaptureAndroid$CameraThread.run(VideoCaptureAndroid.java:162)


Expected results:

The camera starts and the video capture is visible on the screen.
It's similar to https://bugzilla.mozilla.org/show_bug.cgi?id=1129365.
OS: Unspecified → Android
Hardware: Unspecified → ARM
Please check if SV can reproduce.
Flags: needinfo?(ioana.chiorean)
Unfortunately, we don't have a Nexus with Gingerbread here, but I've tested on HTC Desire HD (2.3.5) and HTC Desire S (2.3.3), on Release and Nightly, and I'm not able to reproduce.

TN, are you still able to reproduce on latest Release (40)?
Flags: needinfo?(ioana.chiorean) → needinfo?(thomas.nt)
Firefox 40, still the same error with the same stack trace.

I have also tried Firefox on HTC Evo 4G (PC36100) with 2.3.5. It shows directly in HTML: 

TypeError: Object # has no method 'mozGetUserMedia'
Flags: needinfo?(thomas.nt)
Component: Audio/Video → WebRTC
Product: Firefox for Android → Core
Version: Firefox 39 → 39 Branch
Gian-Carlo - any ideas?
Flags: needinfo?(gpascutto)
(In reply to Maire Reavy [:mreavy] (Plz needinfo me) from comment #5)
> Gian-Carlo - any ideas?

Yes, the log is telling.

getSupportedPreviewFpsRange() is broken on this phone.

We can work around that by just hard-coding a suitable value.

https://dxr.mozilla.org/mozilla-central/source/media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureAndroid.java#272
Flags: needinfo?(gpascutto)
Assignee: nobody → gpascutto
By the way, you likely need to exact device to reproduce. The list of support framerates is in some device specific config and it's that config which is bused on this phone+Android version combination.
backlog: --- → webrtc/webaudio+
Rank: 25
Priority: -- → P2
We actually have a fix for this in VideoCaptureDeviceInfo.java, but upstream updates added the separate call to getSupportedPreviewFpsRange inside startCapture which broke this again.

https://dxr.mozilla.org/mozilla-central/rev/9ed17db42e3e46f1c712e4dffd62d54e915e0fac/media/webrtc/trunk/webrtc/modules/video_capture/android/java/src/org/webrtc/videoengine/VideoCaptureDeviceInfoAndroid.java?offset=0#
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attachment #8661219 - Flags: review?(rjesup) → review+
https://hg.mozilla.org/mozilla-central/rev/2ec5cb2beea7
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla43
You need to log in before you can comment on or make changes to this bug.