public abstract class WrappedNativeVideoEncoder extends java.lang.Object implements VideoEncoder
VideoEncoder.BitrateAllocation, VideoEncoder.Callback, VideoEncoder.Capabilities, VideoEncoder.CodecSpecificInfo, VideoEncoder.CodecSpecificInfoH264, VideoEncoder.CodecSpecificInfoVP8, VideoEncoder.CodecSpecificInfoVP9, VideoEncoder.EncodeInfo, VideoEncoder.ResolutionBitrateLimits, VideoEncoder.ScalingSettings, VideoEncoder.Settings
Constructor and Description |
---|
WrappedNativeVideoEncoder() |
Modifier and Type | Method and Description |
---|---|
abstract 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).
|
VideoCodecStatus |
encode(VideoFrame frame,
VideoEncoder.EncodeInfo info)
Requests the encoder to encode a frame.
|
java.lang.String |
getImplementationName()
Should return a descriptive name for the implementation.
|
VideoEncoder.ScalingSettings |
getScalingSettings()
Any encoder that wants to use WebRTC provided quality scaler must implement this method.
|
VideoCodecStatus |
initEncode(VideoEncoder.Settings settings,
VideoEncoder.Callback encodeCallback)
Initializes the encoding process.
|
abstract boolean |
isHardwareEncoder()
Returns true if the encoder is backed by hardware.
|
VideoCodecStatus |
release()
Releases the encoder.
|
VideoCodecStatus |
setRateAllocation(VideoEncoder.BitrateAllocation allocation,
int framerate)
Sets the bitrate allocation and the target framerate for the encoder.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getResolutionBitrateLimits
public abstract long createNativeVideoEncoder()
VideoEncoder
createNativeVideoEncoder
in interface VideoEncoder
public abstract boolean isHardwareEncoder()
VideoEncoder
isHardwareEncoder
in interface VideoEncoder
public final VideoCodecStatus initEncode(VideoEncoder.Settings settings, VideoEncoder.Callback encodeCallback)
VideoEncoder
initEncode
in interface VideoEncoder
public final VideoCodecStatus release()
VideoEncoder
release
in interface VideoEncoder
public final VideoCodecStatus encode(VideoFrame frame, VideoEncoder.EncodeInfo info)
VideoEncoder
encode
in interface VideoEncoder
public final VideoCodecStatus setRateAllocation(VideoEncoder.BitrateAllocation allocation, int framerate)
VideoEncoder
setRateAllocation
in interface VideoEncoder
public final VideoEncoder.ScalingSettings getScalingSettings()
VideoEncoder
getScalingSettings
in interface VideoEncoder
public final java.lang.String getImplementationName()
VideoEncoder
getImplementationName
in interface VideoEncoder
7.0.0