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_MEDIATEK_ENCODER
Enables support for MediaTek's hardware encoders (VP8 & H.264 if avail).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, boolean enableMediTekSupport)
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
-
PROP_ENABLE_HARDWARE_MEDIATEK_ENCODER
public static final java.lang.String PROP_ENABLE_HARDWARE_MEDIATEK_ENCODER
Enables support for MediaTek's hardware encoders (VP8 & H.264 if avail).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile)
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, java.util.Properties config)
-
DefaultVideoEncoderFactory
public DefaultVideoEncoderFactory(EglBase.Context eglContext, boolean enableIntelVp8Encoder, boolean enableH264HighProfile, boolean enableH264HuaweiSupport, boolean enableMediTekSupport)
Create encoder factory using default hardware encoder factory.
-
-
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
-
-