Trying to establish a call from an Android device to a Windows machine fails to render the remote video streams

VERIFIED FIXED in Firefox 23

Status

()

defect
VERIFIED FIXED
6 years ago
6 years ago

People

(Reporter: jsmith, Assigned: gcp)

Tracking

(Blocks 1 bug, {regression, reproducible})

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

Firefox Tracking Flags

(firefox23 fixed, firefox24 verified)

Details

(Whiteboard: [WebRTC][blocking-webrtc-][android-webrtc+])

Attachments

(3 attachments)

Build: Firefox Nightly 24
Desktop OS: Windows 7 64-bit
Android Device: Samsung Galaxy Nexus
Android OS: Android 4.2

STR

1. Go to apprtc.appspot.com on FxAndroid
2. Go to the URL derived from #1 on apprtc on a desktop machine
3. Accept permissions on your desktop machine

Expected

The remote camera stream should render - desktop should see the Android video, android should see the desktop video.

Actual

The remote camera stream fails to render.

Additional Notes:

Interestingly enough, I did confirm the call was established - I was able to send and receive audio across my Android and desktop device. So something isn't working correctly with the video streams then.
Whiteboard: [WebRTC][blocking-webrtc-][android-webrtc+]
Posted file NSPR Windows
Posted file Android Logcat
Same problem as on the mobile demo pages (https://webrtc-demo.vcap.mozillalabs.com/mobile.html):

05-18 19:16:42.274: D/WEBRTC(9185): VideoCaptureDeviceInfoAndroid
05-18 19:16:42.274: D/WEBRTC(9185): Camera 0, Facing back, Orientation 90
05-18 19:16:42.274: W/CameraService(129): CameraService::connect X (pid 9185) rejected (existing client).
05-18 19:16:42.274: E/WEBRTC(9185): Failed to init VideoCaptureDeviceInfo exception: Fail to connect to camera service
05-18 19:16:42.274: D/WEBRTC(9185): Failed to create VideoCaptureDeviceInfoAndroid.
05-18 19:16:42.274: D/WEBRTC(9185): VideoCaptureDeviceInfoAndroid
05-18 19:16:42.282: D/WEBRTC(9185): Camera 0, Facing back, Orientation 90
05-18 19:16:42.282: W/CameraService(129): CameraService::connect X (pid 9185) rejected (existing client).
05-18 19:16:42.282: E/WEBRTC(9185): Failed to init VideoCaptureDeviceInfo exception: Fail to connect to camera service
05-18 19:16:42.282: D/WEBRTC(9185): Failed to create VideoCaptureDeviceInfoAndroid.

After fixing Bug 863290, trying to probe the Video Capture capabilities no longer silently fails. From a quick read, calling SetAndroidObjects causes a VideoCaptureDeviceInfoAndroid object to be constructed, and that tries to get camera capability info on construction, which fails when someone already has the camera locked.

The webrtc-Android code architecture needs some work here...
Keywords: regression
Simple fix suggestion by jesup: just bail out of SetAndroidObjects early if the objects are already set up.
Attachment #751685 - Flags: review?(rjesup)
Duplicate of this bug: 843365
Attachment #751685 - Flags: review?(rjesup) → review+
https://hg.mozilla.org/mozilla-central/rev/bf78a5b36a96
Assignee: nobody → gpascutto
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla24
Keywords: verifyme
QA Contact: jsmith
Comment on attachment 751685 [details] [diff] [review]
Patch 1. Don't set Android objects more than once.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): Bug 750010 and friends
User impact if declined: Failure to get video when trying to use WebRTC
Testing completed (on m-c, etc.): Landed on m-c a few days ago. Doesn't solve all crashes but fixes reall bugs.
Risk to taking this patch (and alternatives if risky): Don't care about WebRTC stability for 23. Little risk, change in preffed-off feature.
Attachment #751685 - Flags: approval-mozilla-aurora?
Attachment #751685 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora+
Looks like I still can't get a call to work between FxAndroid and Desktop Firefox. I'll file a new bug on this.
Status: RESOLVED → VERIFIED
Keywords: verifyme
You need to log in before you can comment on or make changes to this bug.