Mobile/Projects/WebRTC platform support

From MozillaWiki
Jump to: navigation, search

WebRTC Platform Support

Goals for Fx25

  • Now that we have the support for video uplink and WebRTC preff'd on by default; the focus for Fx25 is to fix crashes and increase call quality by decreasing audio latency:
    • [ON TRACK] bug 902431 - crash in webrtc::videocapturemodule::VideoCaptureAndroid::AttachAndUseAndroidDeviceInfoObjects
    • [ON TRACK] bug 884365 - Audio realtime input clock mismatch (drift) blows up delay in MediaStreamGraph
  • Continued testing of a variety of network configs:

Goals for Fx26

  • Continued improvements to stability
    • [ON TRACK] bug 918372 - Repeated WebRTC sessions exhaust the JNI LocalRef table

Goals for Fx27

  • Continued improvements to decrease audio latency:
    • [ON TRACK] bug 864654 - Video RTCP SR's are never sent because of conduit split
  • It looks like a fix for, may be uplifted, but I'm confirming: bug 943461 - Camera LED doesn't turn off after stream.stop() is called

Goals for Fx28

  • [ON TRACK] Update to WebRTC v3.43 and complete related code cleanup to avoid any regressions
  • [ON TRACK] bug 946865 - LoadMonitor::Init uses preferences off the main thread

Goals for Fx29

  • [ON TRACK] Support VP8 codec (we currently use VP8 for all of our real-time video compression)
  • [PROPOSED]H.264 support
  • [ON TRACK] No support for Android 2.2
  • [ON TRACK]No support for ARMv6 devices
  • Bluetooth support is not required for initial release

User stories

Developers are the target audience for Fx24 and Fx25
End users will be the target audience in a future version

UX design

  • For the first release in Fx24, we really don't have "UX" beyond the drop-down asking the user to share their camera/audio mic upon visiting a WebRTC web page and/or inciting a call.

Quality criteria


With developers being the target audience, our assumed user demographic is one with a higher tolerance for bugs and issues
  • General quality allows for a ~5min calls that allow for testing on part of developers
  • We want to make sure we preserve user control and shut down gracefully upon calls ending so we're pushing for a "root cause" fix for bug 904784 - Local shared active media does not stop recording on tab close

Post-Fx24 GA [ON TRACK]

While we can't predict what may arise after we ship, we want to be sure to target our efforts and respond to issues that truly meet the bar for dot releases and chem spills. This includes
  • Privacy or security issues that put our users at risk
  • Regressions in basic functionality of the browser
  • An intense spike in start-up crashes

Fx25 Goals [ON TRACK]

  • Reduced Audio latency for ~5 min calls as compared to Fx24
  • [ON TRACK] A fix for bug 902431 crash in webrtc::videocapturemodule::VideoCaptureAndroid::AttachAndUseAndroidDeviceInfoObjects
  • No critical regressions we would consider blocking on

Fx26 Goals [ON TRACK]

Fx27 Goals

Fx28 Goals

Fx28 Goals


Full Query
ID Priority Summary Status Assigned to
859430 -- Add Bluetooth headset functionality to WebRTC calls NEW
881153 -- Cannot share the front camera and back camera across different tabs at the same time on FxAndroid REOPENED
918953 -- Investigate broken Android WebRTC cleanup code, potential upstream merge errors NEW

3 Total; 3 Open (100%); 0 Resolved (0%); 0 Verified (0%);


Full Query
ID Priority Summary Status Assigned to
750869 -- Support WebRTC for Android in our build system RESOLVED Gian-Carlo Pascutto [:gcp]
812650 P2 android webdev wants to capture audio using mozGetUserMedia VERIFIED Gian-Carlo Pascutto [:gcp]
812681 P2 android webdev wants to be able to receive audio call via PeerConnection RESOLVED
815905 P2 WebRTC on Android 2.2 builds crash due to missing OpenSLES backend RESOLVED Gian-Carlo Pascutto [:gcp]
819822 -- trivial uses of Android PeerConnection fail even when build patches applied RESOLVED Dan Mosedale (:dmosedale, :dmose)
819825 -- some ICE/STUN negotiations hang or crash on Android in mbslen() RESOLVED Dan Mosedale (:dmosedale, :dmose)
819856 -- WebRTC voice engine code disabled on Android RESOLVED Dan Mosedale (:dmosedale, :dmose)
830935 -- need a way to get Fennec's Activity Context from C++ RESOLVED Dan Mosedale (:dmosedale, :dmose)
830942 P2 getUserMedia fails to use video capture devices because it doesn't attach to a JVM RESOLVED Dan Mosedale (:dmosedale, :dmose)
835716 -- Enable building of WebRTC on Android by default VERIFIED Gian-Carlo Pascutto [:gcp]
835973 -- getUserMedia video capture fails because Android JNI classes not built and packaged RESOLVED Dan Mosedale (:dmosedale, :dmose)
839831 -- jsjni_ functions should be usable without MOZILLA_INTERNAL_API (e.g. in WebRTC code) RESOLVED Gian-Carlo Pascutto [:gcp]
839836 -- add an alternative to FindClass usable from other threads without MOZILLA_INTERNAL_API (e.g. WebRTC code) RESOLVED Dan Mosedale (:dmosedale, :dmose)
839841 -- make video engine load Android capture classes correctly by using GetGlobalClassRef RESOLVED Dan Mosedale (:dmosedale, :dmose)
839907 -- Android web dev should be able to use getUserMedia to capture video RESOLVED Dan Mosedale (:dmosedale, :dmose)
840244 -- Android getUserMedia captured video sideways on some phones RESOLVED Gian-Carlo Pascutto [:gcp]
844177 -- Codec resolution for sending should match input video resolution VERIFIED Randell Jesup [:jesup] (needinfo me)
845711 -- Get correct EXTRA_GYP_DEFINES for arm RESOLVED StevenLee[:slee]
858176 -- WebRTC calls crash in DeleteGlobalRef in release mode builds only RESOLVED Gian-Carlo Pascutto [:gcp]
859805 -- libcubeb fails to initialize on Android 2.3.6 RESOLVED Paul Adenot (:padenot)
861146 -- Provide pthread_rwlock replacement for Android 2.2 RESOLVED Gian-Carlo Pascutto [:gcp]
861637 -- error: undefined reference to 'clone' in mediapipeline_unittest RESOLVED Gian-Carlo Pascutto [:gcp]
862377 -- Android WebRTC permissions UI will only respect first doorhanger VERIFIED Wesley Johnston (:wesj)
862669 P1 Fix some warnings in SIPCC Android code RESOLVED Chris Peterson [:cpeterson]
862808 -- Local Video is upside down on Android when in portrait mode VERIFIED Gian-Carlo Pascutto [:gcp]
862883 P2 Enable webrtc mochitest automation for FxAndroid RESOLVED Jason Smith [:jsmith]
863290 -- crash in webrtc::videocapturemodule::DeviceInfoAndroid::NumberOfDevices RESOLVED Gian-Carlo Pascutto [:gcp]
866093 -- application crashed [@ webrtc::VoEExternalMediaImpl::SetExternalRecordingStatus(bool)] RESOLVED Gian-Carlo Pascutto [:gcp]
867778 P2 Enable webrtc crashtests on FxAndroid VERIFIED Jason Smith [:jsmith]
873812 -- Trying to establish a call from an Android device to a Windows machine fails to render the remote video streams VERIFIED Gian-Carlo Pascutto [:gcp]
874401 -- Active Camera Or Microphone should be clearly displayed VERIFIED Wesley Johnston (:wesj)
874546 -- getUserMedia - Video playback does not resume when browser returns to being the foreground activity VERIFIED Gian-Carlo Pascutto [:gcp]
874569 -- getUserMedia - Video playback orientation does not adapt to device orientation VERIFIED Gian-Carlo Pascutto [:gcp]
874572 -- getUserMedia - Browser holding lock on device camera despite browser activity in the background and paused VERIFIED Gian-Carlo Pascutto [:gcp]
875640 -- Fix and re-enable crashtest for bug 855796 on Android VERIFIED Ethan Hugg [:ehugg]
877248 -- Preview Surface for Camera is visible in upper left corner VERIFIED Gian-Carlo Pascutto [:gcp]
878613 -- gUM - Camera/Microphone selection looks disabled VERIFIED Wesley Johnston (:wesj)
879335 -- Remove WebRTC + permissions from Firefox 23 VERIFIED Gian-Carlo Pascutto [:gcp]
880437 -- java.lang.NullPointerException: at org.webrtc.videoengine.VideoCaptureAndroid.DeleteVideoCaptureAndroid( RESOLVED Gian-Carlo Pascutto [:gcp]
881875 -- Pref on media.navigator.enabled and media.peerconnection.enabled on FxAndroid Nightly VERIFIED Wesley Johnston (:wesj)
882136 -- Camera share icon gets stuck in the notification bar; media lock held on tab close VERIFIED Wesley Johnston (:wesj)
885031 -- java.lang.NoClassDefFoundError: android.hardware.Camera$CameraInfo at org.webrtc.videoengine.VideoCaptureAndroid.GetRotateAmount( on Froyo RESOLVED Gian-Carlo Pascutto [:gcp]
885768 -- Cannot make a getUserMedia request within an iframe VERIFIED Mark Finkle (:mfinkle) (use needinfo?)
885783 -- Followup to bug 882136 - Camera share icon gets stuck in the notification bar; media lock held on tab close VERIFIED Wesley Johnston (:wesj)
886886 P1 Replace fixed-ratio audio resampler in capture code with Speex resampler and eliminate pseudo-44000Hz rate VERIFIED Randell Jesup [:jesup] (needinfo me)
887227 -- crash in webrtc::videocapturemodule::DeviceInfoAndroid::NumberOfDevices VERIFIED Gian-Carlo Pascutto [:gcp]
887693 -- crash in webrtc::videocapturemodule::DeviceInfoAndroid::CreateCapabilityMap RESOLVED Gian-Carlo Pascutto [:gcp]
888274 -- Upgrade to RFC 5389 STUN VERIFIED Eric Rescorla (:ekr)
891158 -- getUserMedia - Switching between landscape orientations on a rendered camera video stream in FxAndroid does not switch to the other landscape orientation VERIFIED Gian-Carlo Pascutto [:gcp]
894882 -- Make sure the correct host is displayed when prompting for WebRTC from iframes RESOLVED
902431 -- crash in webrtc::videocapturemodule::VideoCaptureAndroid::AttachAndUseAndroidDeviceInfoObjects VERIFIED Gian-Carlo Pascutto [:gcp]
902453 -- Simple gUM Test Page demo not working on Firefox for Android (Beta) 24.0 - ReferenceError: browser is not defined -- no media selection prompt VERIFIED Mark Finkle (:mfinkle) (use needinfo?)
904754 -- Quality of calls in video+audio between Android ↔ Android is unusable with Mozilla wifi involved RESOLVED Randell Jesup [:jesup] (needinfo me)
904784 -- Local shared active media does not stop recording on tab close VERIFIED Randell Jesup [:jesup] (needinfo me)
916609 -- WebRTC permission UI broken on Fx26 ("browser is not defined) VERIFIED Jan-Ivar Bruaroey [:jib] (needinfo? me)
918186 -- crash in java.lang.NullPointerException: at org.webrtc.videoengine.VideoCaptureAndroid.onPreviewFrame( RESOLVED Jason Smith [:jsmith]
928870 -- Basic tests for Android WebRTC UI RESOLVED Gian-Carlo Pascutto [:gcp]

57 Total; 0 Open (0%); 30 Resolved (52.63%); 27 Verified (47.37%);