Package tvi.webrtc
Class DefaultVideoEncoderFactory
- java.lang.Object
-
- tvi.webrtc.DefaultVideoEncoderFactory
-
- All Implemented Interfaces:
VideoEncoderFactory
public class DefaultVideoEncoderFactory extends java.lang.Object implements VideoEncoderFactory
Helper class that combines HW and SW encoders.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface tvi.webrtc.VideoEncoderFactory
VideoEncoderFactory.VideoEncoderSelector
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
PROP_ENABLE_HARDWARE_ENCODING
Globally enables or disables support for hardware encoding for all supported video mime types.static java.lang.String
PROP_ENABLE_HARDWARE_H264_ENCODING
Enables or disables support for hardware encoding of H.264 content.static java.lang.String
PROP_ENABLE_HARDWARE_H264_HIGH_PROFILE
Enables "High Profile" H.264 support for hardware encoding H.264 content.static java.lang.String
PROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODER
Enables support for Huawei's H.264 encoder.static java.lang.String
PROP_ENABLE_HARDWARE_VP8_ENCODING
Enables or disables support for hardware encoding of VP8 content.static java.lang.String
PROP_ENABLE_HARDWARE_VP8_INTEL_ENCODER
Enables support for Intel's VP8 hardware encoder.static java.lang.String
PROP_ENABLE_HARDWARE_VP9_ENCODING
Enables or disables support for hardware encoding of VP9 content.
-
Constructor Summary
Constructors Constructor Description DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile)
DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile, boolean enableH264HuaweiSupport)
Create encoder factory using default hardware encoder factory.DefaultVideoEncoderFactory(EglBase.Context eglContext, java.util.Properties config)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VideoEncoder
createEncoder(VideoCodecInfo info)
Creates an encoder for the given video codec.VideoCodecInfo[]
getSupportedCodecs()
Enumerates the list of supported video codecs.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface tvi.webrtc.VideoEncoderFactory
getEncoderSelector, getImplementations
-
-
-
-
Field Detail
-
PROP_ENABLE_HARDWARE_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_ENCODING
Globally enables or disables support for hardware encoding for all supported video mime types. If disabled, hardware encoding will be disabled regardless if its subsequently enabled for a particular mimetype.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP8_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_VP8_ENCODING
Enables or disables support for hardware encoding of VP8 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP9_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_VP9_ENCODING
Enables or disables support for hardware encoding of VP9 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_ENCODING
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_ENCODING
Enables or disables support for hardware encoding of H.264 content.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_HIGH_PROFILE
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_HIGH_PROFILE
Enables "High Profile" H.264 support for hardware encoding H.264 content. Has no effect for software encoding.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_VP8_INTEL_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_VP8_INTEL_ENCODER
Enables support for Intel's VP8 hardware encoder.- See Also:
- Constant Field Values
-
PROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_H264_HUAWEI_ENCODER
Enables support for Huawei's H.264 encoder.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile)
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile, boolean enableH264HuaweiSupport)
Create encoder factory using default hardware encoder factory.
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, java.util.Properties config)
-
-
Method Detail
-
createEncoder
@Nullable public VideoEncoder createEncoder(VideoCodecInfo info)
Description copied from interface:VideoEncoderFactory
Creates an encoder for the given video codec.- Specified by:
createEncoder
in interfaceVideoEncoderFactory
-
getSupportedCodecs
public VideoCodecInfo[] getSupportedCodecs()
Description copied from interface:VideoEncoderFactory
Enumerates the list of supported video codecs. This method will only be called once and the result will be cached.- Specified by:
getSupportedCodecs
in interfaceVideoEncoderFactory
-
-