Mobile/Projects/WebRTC platform support

From MozillaWiki
Jump to navigation Jump to 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: https://wiki.mozilla.org/QA/Fennec/WebRTC/Dogfood

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

Specifications

http://www.webrtc.org/
  • [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

Fx24 GA [SHIPPED]

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

Tracking

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

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


Resolved

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

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