Name Description Size Coverage
AddIceObserver.java Interface to handle completion of addIceCandidate 735 -
audio -
AudioDecoderFactoryFactory.java Implementations of this interface can create a native {@code webrtc::AudioDecoderFactory}. 728 -
AudioEncoderFactoryFactory.java Implementations of this interface can create a native {@code webrtc::AudioEncoderFactory}. 728 -
AudioProcessingFactory.java Factory for creating webrtc::AudioProcessing instances. 836 -
AudioSource.java Java wrapper for a C++ AudioSourceInterface. Used as the source for one or more {@code AudioTrack} objects. 806 -
AudioTrack.java Java wrapper for a C++ AudioTrackInterface 1020 -
BuiltinAudioDecoderFactoryFactory.java Creates a native {@code webrtc::AudioDecoderFactory} with the builtin audio decoders. 808 -
BuiltinAudioEncoderFactoryFactory.java This class creates a native {@code webrtc::AudioEncoderFactory} with the builtin audio encoders. 819 -
CallSessionFileRotatingLogSink.java 1367 -
Camera1Capturer.java 1261 -
Camera1Enumerator.java captureToTexture 7307 -
Camera2Capturer.java 1370 -
Camera2Enumerator.java Checks if API is supported and all cameras have better than legacy support. 9626 -
CameraEnumerationAndroid.java 8009 -
CameraEnumerator.java 933 -
CameraVideoCapturer.java Base interface for camera1 and camera2 implementations. Extends VideoCapturer with a switchCamera() function. Also provides subinterfaces for handling camera events, and a helper class for detecting camera freezes. 6504 -
CapturerObserver.java Interface for observering a capturer. Passed to {@link VideoCapturer#initialize}. Provided by {@link VideoSource#getCapturerObserver}. All callbacks must be executed on a single thread. 948 -
CryptoOptions.java CryptoOptions defines advanced cryptographic settings for native WebRTC. These settings must be passed into RTCConfiguration. WebRTC is secur by default and you should not need to set any of these options unless you are specifically looking for an additional crypto feature such as AES_GCM support. This class is the Java binding of native api/crypto/cryptooptions.h 5058 -
DataChannel.java Java wrapper for a C++ DataChannelInterface. 5452 -
Dav1dDecoder.java 642 -
DefaultVideoDecoderFactory.java Helper class that combines HW and SW decoders. 2944 -
DtmfSender.java Java wrapper for a C++ DtmfSenderInterface. 3633 -
EglBase.java Holds EGL state and utility methods for handling an egl 1.0 EGLContext, an EGLDisplay, and an EGLSurface. 11686 -
EglBase10.java EGL 1.0 implementation of EglBase. 968 -
EglBase14.java EGL 1.4 implementation of EglBase. 854 -
EglRenderer.java Implements VideoSink by displaying the video stream on an EGL Surface. This class is intended to be used as a helper class for rendering on SurfaceViews and TextureViews. 30382 -
EglThread.java EGL graphics thread that allows multiple clients to share the same underlying EGLContext. 8191 -
EncodedImage.java An encoded frame from a video stream. Used as an input for decoders and as an output for encoders. 4980 -
FecControllerFactoryFactoryInterface.java Factory for creating webrtc::FecControllerFactory instances. 746 -
FileVideoCapturer.java Read video data from file for the .y4m container. 6164 -
FrameDecryptor.java The FrameDecryptor interface allows Java API users to provide a pointer to their native implementation of the FrameDecryptorInterface. FrameDecryptors are extremely performance sensitive as they must process all incoming video and audio frames. Due to this reason they should always be backed by a native implementation @note Not ready for production use. 943 -
FrameEncryptor.java The FrameEncryptor interface allows Java API users to provide a pointer to their native implementation of the FrameEncryptorInterface. FrameEncyptors are extremely performance sensitive as they must process all outgoing video and audio frames. Due to this reason they should always be backed by a native implementation. @note Not ready for production use. 943 -
GlRectDrawer.java Simplest possible GL shader that just draws frames as opaque quads. 1081 -
GlShader.java Enable and upload a vertex array for attribute `label`. The vertex data is specified in `buffer` with `dimension` number of components per vertex. 5184 -
GlTextureFrameBuffer.java Helper class for handling OpenGL framebuffer with only color attachment and no depth or stencil buffer. Intended for simple tasks such as texture copy, texture downscaling, and texture color conversion. This class is not thread safe and must be used by a thread with an active GL context. 4285 -
GlUtil.java Some OpenGL static utility functions. 2256 -
HardwareVideoDecoderFactory.java Factory for Android hardware VideoDecoders. 2301 -
IceCandidateErrorEvent.java The local IP address used to communicate with the STUN or TURN server. 1676 -
JavaI420Buffer.java Implementation of VideoFrame.I420Buffer backed by Java direct byte buffers. 6896 -
LibaomAv1Encoder.java 735 -
LibvpxVp8Decoder.java 675 -
LibvpxVp8Encoder.java 735 -
LibvpxVp9Decoder.java 692 -
LibvpxVp9Encoder.java 781 -
MediaConstraints.java Description of media constraints for {@code MediaStream} and {@code PeerConnection}. 2471 -
MediaSource.java Java wrapper for a C++ MediaSourceInterface. 1957 -
MediaStreamTrack.java Java wrapper for a C++ MediaStreamTrackInterface. 3532 -
Metrics.java Class holding histogram information. 2404 -
NativeLibraryLoader.java Interface for loading native libraries. A custom loader can be passed to PeerConnectionFactory.initialize. 721 -
NativePeerConnectionFactory.java Factory for creating webrtc::jni::OwnedPeerConnection instances. 737 -
NetEqFactoryFactory.java Implementations of this interface can create a native {@code webrtc::NetEqFactory}. 700 -
PlatformSoftwareVideoDecoderFactory.java Factory for Android platform software VideoDecoders. 1392 -
Predicate.java Represents a predicate (boolean-valued function) of one argument. 2350 -
RefCounted.java Interface for ref counted objects in WebRTC. These objects have significant resources that need to be freed when they are no longer in use. Each objects starts with ref count of one when created. If a reference is passed as a parameter to a method, the caller has ownesrship of the object by default - calling release is not necessary unless retain is called. 1078 -
RendererCommon.java Static helper functions for renderer implementations. 10903 -
RenderSynchronizer.java Class to synchronize rendering updates with display refresh cycles and save power by blocking updates that exceeds the target frame rate. 4124 -
ScreenCapturerAndroid.java An implementation of VideoCapturer to capture the screen content as a video stream. Capturing is done by {@code MediaProjection} on a {@code SurfaceTexture}. We interact with this {@code SurfaceTexture} using a {@code SurfaceTextureHelper}. The {@code SurfaceTextureHelper} is created by the native code and passed to this capturer in {@code VideoCapturer.initialize()}. On receiving a new frame, this capturer passes it as a texture to the native code via {@code CapturerObserver.onFrameCaptured()}. This takes place on the HandlerThread of the given {@code SurfaceTextureHelper}. When done with each frame, the native code returns the buffer to the {@code SurfaceTextureHelper} to be used for new frames. At any time, at most one frame is being processed. 8576 -
SdpObserver.java Interface for observing SDP-related events. 954 -
SessionDescription.java Description of an RFC 4566 Session. SDPs are passed as serialized Strings in Java-land and are materialized to SessionDescriptionInterface as appropriate in the JNI layer. 1472 -
SoftwareVideoDecoderFactory.java 1684 -
SoftwareVideoEncoderFactory.java 1793 -
SSLCertificateVerifier.java The SSLCertificateVerifier interface allows API users to provide custom logic to verify certificates. 989 -
StatsObserver.java Interface for observing Stats reports (see webrtc::StatsObservers). 649 -
StatsReport.java Java version of webrtc::StatsReport. 1797 -
SurfaceEglRenderer.java Display the video stream on a Surface. renderFrame() is asynchronous to avoid blocking the calling thread. This class is thread safe and handles access from potentially three different threads: Interaction from the main app in init, release and setMirror. Interaction from C++ webrtc::VideoSinkInterface in renderFrame. Interaction from SurfaceHolder lifecycle in surfaceCreated, surfaceChanged, and surfaceDestroyed. 5527 -
SurfaceTextureHelper.java Helper class for using a SurfaceTexture to create WebRTC VideoFrames. In order to create WebRTC VideoFrames, render onto the SurfaceTexture. The frames will be delivered to the listener. Only one texture frame can be in flight at once, so the frame must be released in order to receive a new frame. Call stopListening() to stop receiveing new frames. Call dispose to release all resources once the texture frame is released. 14544 -
SurfaceViewRenderer.java Display the video stream on a SurfaceView. 10582 -
TextureBufferImpl.java Android texture buffer that glues together the necessary information together with a generic release callback. ToI420() is implemented by providing a Handler and a YuvConverter. 6673 -
TimestampAligner.java The TimestampAligner class helps translating camera timestamps into the same timescale as is used by webrtc::TimeNanos(). Some cameras have built in timestamping which is more accurate than reading the system clock, but using a different epoch and unknown clock drift. Frame timestamps in webrtc should use webrtc::TimeNanos (system monotonic time), and this class provides a filter which lets us use the webrtc::TimeNanos timescale, and at the same time take advantage of higher accuracy of the camera clock. This class is a wrapper on top of webrtc::TimestampAligner. 2418 -
TurnCustomizer.java Java wrapper for a C++ TurnCustomizer. 1227 -
VideoCapturer.java This function is used to initialize the camera thread, the android application context, and the capture observer. It will be called only once and before any startCapture() request. The camera thread is guaranteed to be valid until dispose() is called. If the VideoCapturer wants to deliver texture frames, it should do this by rendering on the SurfaceTexture in {@code surfaceTextureHelper}, register itself as a listener, and forward the frames to CapturerObserver.onFrameCaptured(). The caller still has ownership of {@code surfaceTextureHelper} and is responsible for making sure surfaceTextureHelper.dispose() is called. This also means that the caller can reuse the SurfaceTextureHelper to initialize a new VideoCapturer once the previous VideoCapturer has been disposed. 2142 -
VideoCodecInfo.java Represent a video codec as encoded in SDP. 2539 -
VideoCodecStatus.java Status codes reported by video encoding/decoding components. This should be kept in sync with video_error_codes.h. 1009 -
VideoDecoder.java Interface for a video decoder that can be used in WebRTC. All calls to the class will be made on a single decoding thread. 3389 -
VideoDecoderFactory.java Factory for creating VideoDecoders. 926 -
VideoDecoderFallback.java A combined video decoder that falls back on a secondary decoder if the primary decoder fails. 1063 -
VideoEncoder.java Interface for a video encoder that can be used with WebRTC. All calls will be made on the encoding thread. The encoder may be constructed on a different thread and changing thread after calling release is allowed. 12764 -
VideoEncoderFactory.java Factory for creating VideoEncoders. 2573 -
VideoEncoderFallback.java A combined video encoder that falls back on a secondary encoder if the primary encoder fails. 1159 -
VideoFileRenderer.java Can be used to save the video frames to file. 6006 -
VideoFrame.java Java version of webrtc::VideoFrame and webrtc::VideoFrameBuffer. A difference from the C++ version is that no explicit tag is used, and clients are expected to use 'instanceof' to find the right subclass of the buffer. This allows clients to create custom VideoFrame.Buffer in arbitrary format in their custom VideoSources, and then cast it back to the correct subclass in their custom VideoSinks. All implementations must also implement the toI420() function, converting from the underlying representation if necessary. I420 is the most widely accepted format and serves as a fallback for video sinks that can only handle I420, e.g. the internal WebRTC software encoders. 7880 -
VideoFrameBufferType.java 871 -
VideoFrameDrawer.java Helper class to draw VideoFrames. Calls either drawer.drawOes, drawer.drawRgb, or drawer.drawYuv depending on the type of the buffer. The frame will be rendered with rotation taken into account. You can supply an additional render matrix for custom transformations. 9899 -
VideoProcessor.java Lightweight abstraction for an object that can receive video frames, process them, and pass them on to another object. This object is also allowed to observe capturer start/stop. 2799 -
VideoSink.java Java version of webrtc::VideoSinkInterface. 822 -
VideoSource.java Java wrapper of native AndroidVideoTrackSource. 6015 -
VideoTrack.java Java version of VideoTrackInterface. 2531 -
WrappedNativeVideoDecoder.java Wraps a native webrtc::VideoDecoder. 1212 -
WrappedNativeVideoEncoder.java Wraps a native webrtc::VideoEncoder. 1582 -
YuvConverter.java Class for converting OES textures to a YUV ByteBuffer. It can be constructed on any thread, but should only be operated from a single thread with an active EGL context. 9854 -
YuvHelper.java Wraps libyuv methods to Java. All passed byte buffers must be direct byte buffers. 11261 -