Package io.antmedia.eRTMP
Class HEVCVideoEnhancedRTMP
java.lang.Object
org.red5.codec.AbstractVideo
org.red5.codec.AVCVideo
io.antmedia.eRTMP.HEVCVideoEnhancedRTMP
- All Implemented Interfaces:
IVideoStreamCodec,IoConstants
HEVC Video codec complaint with Enhanced RTMP
There is another HEVCVideo that uses codec id as 12. This one use fourcc for codec id
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.red5.codec.IVideoStreamCodec
IVideoStreamCodec.FrameData -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final Stringprivate static org.slf4j.LoggerFields inherited from class org.red5.codec.AVCVideo
bufferInterframes, decoderConfiguration, interframes, numInterframesFields inherited from class org.red5.codec.AbstractVideo
keyframes, keyframeTimestampFields inherited from interface org.red5.io.IoConstants
AVC_PACKET_TYPE_END_OF_SEQUENCE, AVC_PACKET_TYPE_NALU, AVC_PACKET_TYPE_SEQUENCE_HEADER, FLAG_CODEC_H263, FLAG_CODEC_SCREEN, FLAG_CODEC_VP6, FLAG_FORMAT_ADPCM, FLAG_FORMAT_MP3, FLAG_FORMAT_NELLYMOSER, FLAG_FORMAT_NELLYMOSER_8_KHZ, FLAG_FORMAT_RAW, FLAG_FRAMETYPE_DISPOSABLE, FLAG_FRAMETYPE_GENERATED_KEYFRAME, FLAG_FRAMETYPE_INFO, FLAG_FRAMETYPE_INTERFRAME, FLAG_FRAMETYPE_KEYFRAME, FLAG_RATE_11_KHZ, FLAG_RATE_22_KHZ, FLAG_RATE_44_KHZ, FLAG_RATE_48_KHZ, FLAG_RATE_5_5_KHZ, FLAG_SIZE_16_BIT, FLAG_SIZE_8_BIT, FLAG_TYPE_MONO, FLAG_TYPE_STEREO, INFO_PACKET_SEEK_END, INFO_PACKET_SEEK_START, MASK_SOUND_FORMAT, MASK_SOUND_RATE, MASK_SOUND_SIZE, MASK_SOUND_TYPE, MASK_VIDEO_CODEC, MASK_VIDEO_FRAMETYPE, TYPE_AUDIO, TYPE_ENCRYPTED, TYPE_ENCRYPTED_AUDIO, TYPE_ENCRYPTED_METADATA, TYPE_ENCRYPTED_VIDEO, TYPE_METADATA, TYPE_VIDEOFields inherited from interface org.red5.codec.IVideoStreamCodec
FLV_FRAME_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddData(org.apache.mina.core.buffer.IoBuffer data, int timestamp) Update the state of the codec with the passed data.booleanCheck if the codec supports frame dropping.booleancanHandleData(org.apache.mina.core.buffer.IoBuffer data) Returns true if the codec knows how to handle the passed stream data.getName()Methods inherited from class org.red5.codec.AVCVideo
addData, getDecoderConfiguration, getInterframe, getNumInterframes, isBufferInterframes, reset, setBufferInterframes, setFrames, setInterFrame, softResetMethods inherited from class org.red5.codec.AbstractVideo
getKeyframe, getKeyframes
-
Field Details
-
CODEC_NAME
- See Also:
-
log
private static org.slf4j.Logger log
-
-
Constructor Details
-
HEVCVideoEnhancedRTMP
public HEVCVideoEnhancedRTMP()
-
-
Method Details
-
getName
Description copied from class:AVCVideo- Specified by:
getNamein interfaceIVideoStreamCodec- Overrides:
getNamein classAVCVideo- Returns:
- the name of the video codec.
-
canDropFrames
public boolean canDropFrames()Description copied from class:AVCVideoCheck if the codec supports frame dropping.- Specified by:
canDropFramesin interfaceIVideoStreamCodec- Overrides:
canDropFramesin classAVCVideo- Returns:
- if the codec supports frame dropping.
-
canHandleData
public boolean canHandleData(org.apache.mina.core.buffer.IoBuffer data) Description copied from class:AVCVideoReturns true if the codec knows how to handle the passed stream data.- Specified by:
canHandleDatain interfaceIVideoStreamCodec- Overrides:
canHandleDatain classAVCVideo- Parameters:
data- some sample data to see if this codec can handle it- Returns:
- can this code handle the data.
-
addData
public boolean addData(org.apache.mina.core.buffer.IoBuffer data, int timestamp) Description copied from class:AVCVideoUpdate the state of the codec with the passed data.- Specified by:
addDatain interfaceIVideoStreamCodec- Overrides:
addDatain classAVCVideo- Parameters:
data- data to tell the codec we're addingtimestamp- time associated with the data- Returns:
- true for success. false for error
-