Package org.red5.server.net.rtmp.event
Class VideoData
- java.lang.Object
-
- org.red5.server.net.rtmp.event.BaseEvent
-
- org.red5.server.net.rtmp.event.VideoData
-
- All Implemented Interfaces:
Externalizable
,Serializable
,org.red5.io.IoConstants
,IEvent
,IStreamPacket
,IRTMPEvent
,Constants
,IStreamData<VideoData>
public class VideoData extends BaseEvent implements org.red5.io.IoConstants, IStreamData<VideoData>, IStreamPacket
Video data event- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VideoData.FrameType
Videoframe type-
Nested classes/interfaces inherited from interface org.red5.server.net.rtmp.message.Constants
Constants.DataType
-
Nested classes/interfaces inherited from interface org.red5.server.api.event.IEvent
IEvent.Type
-
-
Field Summary
Fields Modifier and Type Field Description protected org.red5.codec.VideoCodec
codec
Video codecprotected boolean
config
True if this is configuration data and false otherwiseprotected org.apache.mina.core.buffer.IoBuffer
data
Video dataprotected boolean
endOfSequence
True if this indicates an end-of-sequence and false otherwiseprotected VideoData.FrameType
frameType
Frame type, unknown by default-
Fields inherited from class org.red5.server.net.rtmp.event.BaseEvent
header, log, object, refcount, source, sourceType, timestamp
-
Fields inherited from interface org.red5.server.net.rtmp.message.Constants
HANDSHAKE_SIZE, HEADER_CONTINUE, HEADER_NEW, HEADER_SAME_SOURCE, HEADER_TIMER_CHANGE, MEDIUM_INT_MAX, SO_CLIENT_CLEAR_DATA, SO_CLIENT_DELETE_DATA, SO_CLIENT_INITIAL_DATA, SO_CLIENT_SEND_MESSAGE, SO_CLIENT_STATUS, SO_CLIENT_UPDATE_ATTRIBUTE, SO_CLIENT_UPDATE_DATA, SO_CONNECT, SO_DELETE_ATTRIBUTE, SO_DISCONNECT, SO_SEND_MESSAGE, SO_SET_ATTRIBUTE, SOURCE_TYPE_LIVE, SOURCE_TYPE_VOD, TYPE_ABORT, TYPE_AGGREGATE, TYPE_AUDIO_DATA, TYPE_BYTES_READ, TYPE_CHUNK_SIZE, TYPE_CLIENT_BANDWIDTH, TYPE_EDGE_ORIGIN, TYPE_FLEX_MESSAGE, TYPE_FLEX_SHARED_OBJECT, TYPE_FLEX_STREAM_SEND, TYPE_INVOKE, TYPE_NOTIFY, TYPE_PING, TYPE_SERVER_BANDWIDTH, TYPE_SHARED_OBJECT, TYPE_STREAM_METADATA, TYPE_VIDEO_DATA
-
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
-
-
Constructor Summary
Constructors Constructor Description VideoData()
Constructs a new VideoData.VideoData(org.apache.mina.core.buffer.IoBuffer data)
Create video data event with given data bufferVideoData(org.apache.mina.core.buffer.IoBuffer data, boolean copy)
Create video data event with given data buffer
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VideoData
duplicate()
Duplicate this message / event.int
getCodecId()
org.apache.mina.core.buffer.IoBuffer
getData()
Getter for property 'data'.byte
getDataType()
Getter for data typeVideoData.FrameType
getFrameType()
Getter for frame typeboolean
isConfig()
boolean
isEndOfSequence()
void
readExternal(ObjectInput in)
protected void
releaseInternal()
Release eventvoid
setData(byte[] data)
void
setData(org.apache.mina.core.buffer.IoBuffer data)
void
setDataType(byte dataType)
String
toString()
void
writeExternal(ObjectOutput out)
-
Methods inherited from class org.red5.server.net.rtmp.event.BaseEvent
getHeader, getObject, getSource, getSourceType, getTimestamp, getType, hasSource, release, retain, setHeader, setSource, setSourceType, setTimestamp, setType
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.red5.server.api.stream.IStreamPacket
getTimestamp
-
-
-
-
Field Detail
-
data
protected org.apache.mina.core.buffer.IoBuffer data
Video data
-
frameType
protected VideoData.FrameType frameType
Frame type, unknown by default
-
codec
protected org.red5.codec.VideoCodec codec
Video codec
-
config
protected boolean config
True if this is configuration data and false otherwise
-
endOfSequence
protected boolean endOfSequence
True if this indicates an end-of-sequence and false otherwise
-
-
Constructor Detail
-
VideoData
public VideoData()
Constructs a new VideoData.
-
VideoData
public VideoData(org.apache.mina.core.buffer.IoBuffer data)
Create video data event with given data buffer- Parameters:
data
- Video data
-
VideoData
public VideoData(org.apache.mina.core.buffer.IoBuffer data, boolean copy)
Create video data event with given data buffer- Parameters:
data
- Video datacopy
- true to use a copy of the data or false to use reference
-
-
Method Detail
-
getDataType
public byte getDataType()
Getter for data type- Specified by:
getDataType
in interfaceIRTMPEvent
- Specified by:
getDataType
in interfaceIStreamPacket
- Specified by:
getDataType
in classBaseEvent
- Returns:
- Data type
-
setDataType
public void setDataType(byte dataType)
-
getData
public org.apache.mina.core.buffer.IoBuffer getData()
Getter for property 'data'.- Specified by:
getData
in interfaceIStreamData<VideoData>
- Specified by:
getData
in interfaceIStreamPacket
- Returns:
- Value for property 'data'
-
setData
public void setData(org.apache.mina.core.buffer.IoBuffer data)
-
setData
public void setData(byte[] data)
-
getFrameType
public VideoData.FrameType getFrameType()
Getter for frame type- Returns:
- Type of video frame
-
getCodecId
public int getCodecId()
-
isConfig
public boolean isConfig()
-
isEndOfSequence
public boolean isEndOfSequence()
-
releaseInternal
protected void releaseInternal()
Release event- Specified by:
releaseInternal
in classBaseEvent
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternal
in interfaceExternalizable
- Overrides:
readExternal
in classBaseEvent
- Throws:
IOException
ClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternal
in interfaceExternalizable
- Overrides:
writeExternal
in classBaseEvent
- Throws:
IOException
-
duplicate
public VideoData duplicate() throws IOException, ClassNotFoundException
Duplicate this message / event.- Specified by:
duplicate
in interfaceIStreamData<VideoData>
- Returns:
- duplicated event
- Throws:
IOException
- on errorClassNotFoundException
- on class not found
-
-