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
Modifier and TypeFieldDescription(package private) static final String
private static org.slf4j.Logger
Fields inherited from class org.red5.codec.AVCVideo
bufferInterframes, decoderConfiguration, interframes, numInterframes
Fields inherited from class org.red5.codec.AbstractVideo
keyframes, keyframeTimestamp
Fields 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_VIDEO
Fields inherited from interface org.red5.codec.IVideoStreamCodec
FLV_FRAME_KEY
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
addData
(org.apache.mina.core.buffer.IoBuffer data, int timestamp) Update the state of the codec with the passed data.boolean
Check if the codec supports frame dropping.boolean
canHandleData
(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, softReset
Methods 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:
getName
in interfaceIVideoStreamCodec
- Overrides:
getName
in classAVCVideo
- Returns:
- the name of the video codec.
-
canDropFrames
public boolean canDropFrames()Description copied from class:AVCVideo
Check if the codec supports frame dropping.- Specified by:
canDropFrames
in interfaceIVideoStreamCodec
- Overrides:
canDropFrames
in classAVCVideo
- Returns:
- if the codec supports frame dropping.
-
canHandleData
public boolean canHandleData(org.apache.mina.core.buffer.IoBuffer data) Description copied from class:AVCVideo
Returns true if the codec knows how to handle the passed stream data.- Specified by:
canHandleData
in interfaceIVideoStreamCodec
- Overrides:
canHandleData
in 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:AVCVideo
Update the state of the codec with the passed data.- Specified by:
addData
in interfaceIVideoStreamCodec
- Overrides:
addData
in classAVCVideo
- Parameters:
data
- data to tell the codec we're addingtimestamp
- time associated with the data- Returns:
- true for success. false for error
-