Name Description Size
AndroidVideoDecoder.java Android hardware video decoder. 25263
audio
BaseBitrateAdjuster.java BitrateAdjuster that tracks bitrate and framerate but does not adjust them. 1086
BitrateAdjuster.java Object that adjusts the bitrate of a hardware codec. 1045
CalledByNative.java @CalledByNative is used by the JNI generator to create the necessary JNI bindings and expose this method to native code. 966
CalledByNativeUnchecked.java @CalledByNativeUnchecked is used to generate JNI bindings that do not check for exceptions. It only makes sense to use this annotation on methods that declare a throws... spec. However, note that the exception received native side maybe an 'unchecked' (RuntimeExpception) such as NullPointerException, so the native code should differentiate these cases. Usage of this should be very rare; where possible handle exceptions in the Java side and use a return value to indicate success / failure. 1339
Camera1Session.java degrees 12831
Camera2Session.java 16521
CameraCapturer.java success 15490
CameraSession.java Stops the capture. Waits until no more calls to capture observer will be made. If waitCameraStop is true, also waits for the camera to stop. 2562
DynamicBitrateAdjuster.java BitrateAdjuster that tracks the bandwidth produced by an encoder and dynamically adjusts the bitrate. Used for hardware codecs that pay attention to framerate but still deviate from the target bitrate by unacceptable margins. 4492
EglBase10Impl.java Holds EGL state and utility methods for handling an egl 1.0 EGLContext, an EGLDisplay, and an EGLSurface. 14733
EglBase14Impl.java Holds EGL state and utility methods for handling an EGL14 EGLContext, an EGLDisplay, and an EGLSurface. 11650
Empty.java Empty class for use in libjingle_peerconnection_java because all targets require at least one Java file. 565
FramerateBitrateAdjuster.java BitrateAdjuster that adjusts the bitrate to compensate for changes in the framerate. Used with hardware codecs that assume the framerate never changes. 1015
GlGenericDrawer.java Helper class to implement an instance of RendererCommon.GlDrawer that can accept multiple input sources (OES, RGB, or YUV) using a generic fragment shader as input. The generic fragment shader should sample pixel values from the function "sample" that will be provided by this class and provides an abstraction for the input source type (OES, RGB, or YUV). The texture coordinate variable name will be "tc" and the texture matrix in the vertex shader will be "tex_mat". The simplest possible generic shader that just draws pixel from the frame unmodified looks like: void main() { gl_FragColor = sample(tc); } This class covers the cases for most simple shaders and generates the necessary boiler plate. Advanced shaders can always implement RendererCommon.GlDrawer directly. 11709
H264Utils.java Container for static helper functions related to dealing with H264 codecs. 2359
HardwareVideoEncoder.java Android hardware video encoder. 30684
Histogram.java Class for holding the native pointer of a histogram. Since there is no way to destroy a histogram, please don't create unnecessary instances of this object. This class is thread safe. Usage example: private static final Histogram someMetricHistogram = Histogram.createCounts("WebRTC.Video.SomeMetric", 1, 10000, 50); someMetricHistogram.addSample(someVariable); 1209
JniCommon.java Class with static JNI helper functions that are used in many places. 911
JNILogging.java 833
MediaCodecUtils.java Container class for static constants and helpers used with MediaCodec. 4975
MediaCodecVideoDecoderFactory.java Factory for decoders backed by Android MediaCodec API. 5213
MediaCodecWrapper.java Subset of methods defined in {@link android.media.MediaCodec} needed by {@link HardwareVideoEncoder} and {@link AndroidVideoDecoder}. This interface exists to allow mocking and using a fake implementation in tests. 1636
MediaCodecWrapperFactory.java Creates a new {@link MediaCodecWrapper} by codec name. <p>For additional information see {@link android.media.MediaCodec#createByCodecName}. 738
MediaCodecWrapperFactoryImpl.java Implementation of MediaCodecWrapperFactory that returns MediaCodecInterfaces wrapping {@link android.media.MediaCodec} objects. 3334
NativeAndroidVideoTrackSource.java This class is meant to be a simple layer that only handles the JNI wrapping of a C++ AndroidVideoTrackSource, that can easily be mocked out in Java unit tests. Refrain from adding any unnecessary logic to this class. This class is thred safe and methods can be called from any thread, but if frames A, B, ..., are sent to adaptFrame(), the adapted frames adaptedA, adaptedB, ..., needs to be passed in the same order to onFrameCaptured(). 4703
NativeCapturerObserver.java Used from native api and implements a simple VideoCapturer.CapturerObserver that feeds frames to a webrtc::jni::AndroidVideoTrackSource. 1809
NativeLibrary.java Loads the native library. Clients should call PeerConnectionFactory.initialize. It will call this method for them. 1516
NV12Buffer.java 2383
NV21Buffer.java cropX 2325
RefCountDelegate.java Implementation of RefCounted that executes a Runnable once the ref count reaches zero. 2014
VideoCodecMimeType.java Enumeration of supported video codec types. 799
VideoDecoderWrapper.java This class contains the Java glue code for JNI generation of VideoDecoder. 970
VideoEncoderWrapper.java This class contains the Java glue code for JNI generation of VideoEncoder. 1462
WebRtcClassLoader.java This class provides a ClassLoader that is capable of loading WebRTC Java classes regardless of what thread it's called from. Such a ClassLoader is needed for the few cases where the JNI mechanism is unable to automatically determine the appropriate ClassLoader instance. 989
WrappedNativeI420Buffer.java This class wraps a webrtc::I420BufferInterface into a VideoFrame.I420Buffer. 2656