Package org.red5.codec
Interface IVideoStreamCodec
-
- All Known Implementing Classes:
AbstractVideo,AVCVideo,ScreenVideo,ScreenVideo2,SorensonVideo
public interface IVideoStreamCodecRepresents a Video codec and its associated decoder configuration.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classIVideoStreamCodec.FrameDataHolder for video frame data.
-
Field Summary
Fields Modifier and Type Field Description static byteFLV_FRAME_KEYFLV frame marker constant
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description booleanaddData(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.booleancanDropFrames()Check 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.IoBuffergetDecoderConfiguration()Returns information used to configure the decoder.IVideoStreamCodec.FrameDatagetInterframe(int index)Gets data of interframe with the specified index.org.apache.mina.core.buffer.IoBuffergetKeyframe()Returns keyframe data.IVideoStreamCodec.FrameData[]getKeyframes()Returns all the keyframe data.StringgetName()intgetNumInterframes()Returns the number of interframes collected from last keyframe.voidreset()Reset the codec to its initial state.
-
-
-
Field Detail
-
FLV_FRAME_KEY
static final byte FLV_FRAME_KEY
FLV frame marker constant- See Also:
- Constant Field Values
-
-
Method Detail
-
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
IVideoStreamCodec.FrameData getInterframe(int index)
Gets data of interframe with the specified index.- Parameters:
index- of interframe- Returns:
- data of the interframe or null if index is not valid
-
-