Package org.red5.codec
Interface IVideoStreamCodec
- All Known Implementing Classes:
AbstractVideo,AVCVideo,HEVCVideo,HEVCVideoEnhancedRTMP
public interface IVideoStreamCodec
Represents a Video codec and its associated decoder configuration.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final classHolder for video frame data. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionbooleanaddData(org.apache.mina.core.buffer.IoBuffer data) Update the state of the codec with the passed data.booleanaddData(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.org.apache.mina.core.buffer.IoBufferReturns information used to configure the decoder.getInterframe(int index) Gets data of interframe with the specified index.org.apache.mina.core.buffer.IoBufferReturns keyframe data.Returns all the keyframe data.getName()intReturns the number of interframes collected from last keyframe.voidreset()Reset the codec to its initial state.
-
Field Details
-
FLV_FRAME_KEY
static final byte FLV_FRAME_KEYFLV frame marker constant- See Also:
-
-
Method Details
-
getName
String getName()- Returns:
- the name of the video codec.
-
reset
void reset()Reset the codec to its initial state. -
canDropFrames
boolean canDropFrames()Check if the codec supports frame dropping.- Returns:
- if the codec supports frame dropping.
-
canHandleData
boolean canHandleData(org.apache.mina.core.buffer.IoBuffer data) Returns true if the codec knows how to handle the passed stream data.- Parameters:
data- some sample data to see if this codec can handle it- Returns:
- can this code handle the data.
-
addData
boolean addData(org.apache.mina.core.buffer.IoBuffer data) Update the state of the codec with the passed data.- Parameters:
data- data to tell the codec we're adding- Returns:
- true for success. false for error
-
addData
boolean addData(org.apache.mina.core.buffer.IoBuffer data, int timestamp) Update the state of the codec with the passed data.- Parameters:
data- data to tell the codec we're addingtimestamp- time associated with the data- Returns:
- true for success. false for error
-
getKeyframe
org.apache.mina.core.buffer.IoBuffer getKeyframe()Returns keyframe data.- Returns:
- the data for a keyframe
-
getKeyframes
IVideoStreamCodec.FrameData[] getKeyframes()Returns all the keyframe data.- Returns:
- array of keyframe data
-
getDecoderConfiguration
org.apache.mina.core.buffer.IoBuffer getDecoderConfiguration()Returns information used to configure the decoder.- Returns:
- the data for decoder setup
-
getNumInterframes
int getNumInterframes()Returns the number of interframes collected from last keyframe.- Returns:
- number of interframes
-
getInterframe
Gets data of interframe with the specified index.- Parameters:
index- of interframe- Returns:
- data of the interframe or null if index is not valid
-