Package org.red5.codec
Class HEVCVideo
java.lang.Object
org.red5.codec.AbstractVideo
org.red5.codec.AVCVideo
org.red5.codec.HEVCVideo
- All Implemented Interfaces:
IVideoStreamCodec,IoConstants
Red5 video codec for the AVC (h264) video format. Stores DecoderConfigurationRecord and last keyframe.
- Author:
- Tiago Jacobs ([email protected]), Paul Gregoire ([email protected])
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.red5.codec.IVideoStreamCodec
IVideoStreamCodec.FrameData -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final StringAVC video codec constantprivate 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
-
log
private static org.slf4j.Logger log -
CODEC_NAME
AVC video codec constant- See Also:
-
-
Constructor Details
-
HEVCVideo
public HEVCVideo()
-
-
Method Details
-
getName
- Specified by:
getNamein interfaceIVideoStreamCodec- Overrides:
getNamein classAVCVideo- Returns:
- the name of the video codec.
-
canDropFrames
public boolean canDropFrames()Check 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) Returns 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) Update 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
-