Package tvi.webrtc

Interface VideoEncoder

    • Method Detail

      • createNativeVideoEncoder

        default long createNativeVideoEncoder()
        The encoder implementation backing this interface is either 1) a Java encoder (e.g., an Android platform encoder), or alternatively 2) a native encoder (e.g., a software encoder or a C++ encoder adapter). For case 1), createNativeVideoEncoder() should return zero. In this case, we expect the native library to call the encoder through JNI using the Java interface declared below. For case 2), createNativeVideoEncoder() should return a non-zero value. In this case, we expect the native library to treat the returned value as a raw pointer of type webrtc::VideoEncoder* (ownership is transferred to the caller). The native library should then directly call the webrtc::VideoEncoder interface without going through JNI. All calls to the Java interface methods declared below should thus throw an UnsupportedOperationException.
      • isHardwareEncoder

        default boolean isHardwareEncoder()
        Returns true if the encoder is backed by hardware.
      • release

        VideoCodecStatus release()
        Releases the encoder. No more calls to encode will be made after this call.
      • getScalingSettings

        VideoEncoder.ScalingSettings getScalingSettings()
        Any encoder that wants to use WebRTC provided quality scaler must implement this method.
      • getImplementationName

        java.lang.String getImplementationName()
        Should return a descriptive name for the implementation. Gets called once and cached. May be called from arbitrary thread.