webrtc/sdk/android/api/org/webrtc
Anders Carlsson dc1b9f179a Injectable software codecs for Android.
This is similar to https://webrtc-review.googlesource.com/c/src/+/3620
for iOS.

Using the new WebRtcMediaEngineFactory::Create API, the built-in
software video codecs are no longer appended to the injected codecs.

To be able to use the software codecs, they are exposed as Java
classes through SoftwareVideoEncoderFactory etc.

There is also a new DefaultVideoEncoderFactory used by AppRTCMobile.
This factory tries to use hardware implementations where available,
but falls back to using the injected software codecs.

The HardwareVideoEncoderFactory is temporarily also falling back on
the software codecs in its default configuration in order to
maintain backwards compatibility.

Bug: webrtc:7925
Change-Id: I3e8c5ed492ccd160aca968986ad217d7978a951c
Reviewed-on: https://webrtc-review.googlesource.com/17480
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20647}
2017-11-13 11:59:28 +00:00
..
AudioProcessingFactory.java Add Java support for AudioProcessing and PostProcessing injection 2017-10-20 08:37:23 +00:00
AudioSource.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
AudioTrack.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
CallSessionFileRotatingLogSink.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
Camera1Capturer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
Camera1Enumerator.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
Camera2Capturer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
Camera2Enumerator.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
CameraEnumerationAndroid.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
CameraEnumerator.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
CameraVideoCapturer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
DataChannel.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
DefaultAudioProcessingFactory.java Add Java support for AudioProcessing and PostProcessing injection 2017-10-20 08:37:23 +00:00
DefaultVideoDecoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
DefaultVideoEncoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
DtmfSender.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
EglBase.java Android: Add interface for getting native EGL context 2017-09-18 12:39:16 +00:00
EglRenderer.java Fix a crash in EglRenderer.removeFrameListener. 2017-11-09 13:13:42 +00:00
EncodedImage.java Android: Generate all C++ -> Java JNI code for VideoEncoder 2017-11-07 15:32:15 +00:00
FileVideoCapturer.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
GlRectDrawer.java Fix/suppress all javac warnings. 2017-10-26 15:11:36 +00:00
GlShader.java Enable uploading vertex array with non-zero stride in Android shader. 2017-10-03 19:41:58 +00:00
GlTextureFrameBuffer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
GlUtil.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
HardwareVideoDecoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
HardwareVideoEncoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
IceCandidate.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
JavaI420Buffer.java Add JavaI420Buffer to the API. 2017-10-04 15:27:14 +00:00
MediaCodecVideoDecoder.java Fix/suppress all javac warnings. 2017-10-26 15:11:36 +00:00
MediaCodecVideoEncoder.java Add checks for buffer size in MediaCodecVideoEncoder. 2017-10-02 12:08:29 +00:00
MediaConstraints.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
MediaSource.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
MediaStream.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
MediaStreamTrack.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
Metrics.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
NativeLibraryLoader.java Allow passing in a custom native library loader. 2017-09-29 11:46:38 +00:00
NetworkMonitor.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
NetworkMonitorAutoDetect.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
OWNERS Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
PeerConnection.java Add SetAudioPlayout and SetAudioRecording methods to the PeerConnection API (II) 2017-11-01 11:04:26 +00:00
PeerConnectionFactory.java Add Java support for AudioProcessing and PostProcessing injection 2017-10-20 08:37:23 +00:00
PostProcessingFactory.java Add Java support for AudioProcessing and PostProcessing injection 2017-10-20 08:37:23 +00:00
RendererCommon.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
RTCStats.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
RTCStatsCollectorCallback.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
RTCStatsReport.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
RtpParameters.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
RtpReceiver.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
RtpSender.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
ScreenCapturerAndroid.java Removing unused import. 2017-11-07 08:57:21 +00:00
SdpObserver.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
SessionDescription.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
SoftwareVideoDecoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
SoftwareVideoEncoderFactory.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
StatsObserver.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
StatsReport.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
SurfaceEglRenderer.java Move rendering code in SurfaceViewRenderer to a separate class. 2017-11-06 13:52:26 +00:00
SurfaceTextureHelper.java Expose functionality to convert TextureBuffer to I420. 2017-10-16 14:55:37 +00:00
SurfaceViewRenderer.java Move rendering code in SurfaceViewRenderer to a separate class. 2017-11-06 13:52:26 +00:00
TurnCustomizer.java TurnCustomizer - an interface for modifying stun messages sent by TurnPort 2017-10-11 07:45:29 +00:00
VideoCapturer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
VideoCodecInfo.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
VideoCodecStatus.java Android: Generate all C++ -> Java JNI code for VideoEncoder 2017-11-07 15:32:15 +00:00
VideoDecoder.java Relax threading requirements in VideoEncoder. 2017-10-19 12:44:11 +00:00
VideoDecoderFactory.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
VideoDecoderFallback.java Injectable software codecs for Android. 2017-11-13 11:59:28 +00:00
VideoEncoder.java Reland "Android: Generate JNI code for VideoSink and VideoEncoder" 2017-11-02 10:27:47 +00:00
VideoEncoderFactory.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
VideoFileRenderer.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
VideoFrame.java Expose functionality to convert TextureBuffer to I420. 2017-10-16 14:55:37 +00:00
VideoFrameDrawer.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
VideoRenderer.java Add JavaI420Buffer to the API. 2017-10-04 15:27:14 +00:00
VideoSink.java Reland "Android: Generate JNI code for VideoSink and VideoEncoder" 2017-11-02 10:27:47 +00:00
VideoSource.java Moving src/webrtc into src/. 2017-09-15 04:25:06 +00:00
VideoTrack.java Fix/suppress new warnings introduced in Chromium roll. 2017-10-30 16:10:29 +00:00
YuvConverter.java Fix a typo in YuvConveter RGB shader code. 2017-10-18 07:56:28 +00:00
YuvHelper.java Fix and optimize input buffer filling in HardwareVideoEncoder. 2017-11-02 12:22:07 +00:00