org.red5.server.net.rtmp.event

## Class Aggregate

- java.lang.Object
- - org.red5.server.net.rtmp.event.BaseEvent
  - - org.red5.server.net.rtmp.event.Aggregate

All Implemented Interfaces:
  Externalizable, Serializable, IoConstants, IEvent, IStreamPacket, IRTMPEvent, Constants, IStreamData<Aggregate>

    public class Aggregate
    extends BaseEvent
    implements IoConstants, IStreamData<Aggregate>, IStreamPacket

Aggregate data event

See Also:
  Serialized Form

### Nested Class Summary

### Nested classes/interfaces inherited from interface org.red5.server.api.event.IEvent

`IEvent.Type`

### Field Summary

Fields
`protected IoBuffer` `data` Data

### Fields inherited from class org.red5.server.net.rtmp.event.BaseEvent

`header, object, refcount, source, timestamp`

### 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.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`

### Constructor Summary

Constructors
Constructor and Description
`Aggregate()` Constructs a new Aggregate.
`Aggregate(IoBuffer data)` Create aggregate data event with given data buffer
`Aggregate(IoBuffer data, boolean copy)` Create aggregate data event with given data buffer

### Method Summary

Methods
`Aggregate` `duplicate()` Duplicate this message / event.
`IoBuffer` `getData()` Getter for property 'data'.
`byte` `getDataType()` Getter for data type
`LinkedList<IRTMPEvent>` `getParts()` Breaks-up the aggregate into its individual parts and returns them as a list.
`void` `readExternal(ObjectInput in)`
`protected void` `releaseInternal()` Release event
`void` `setData(byte[] data)`
`void` `setData(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 IoBuffer data

Data

### Constructor Detail

#### Aggregate

    public Aggregate()

Constructs a new Aggregate.

#### Aggregate

    public Aggregate(IoBuffer data)

Create aggregate data event with given data buffer

Parameters:
  `data` -

#### Aggregate

    public Aggregate(IoBuffer data,
             boolean copy)

Create aggregate data event with given data buffer

Parameters:
  `data` - aggregate data
  `copy` - 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 interface `IStreamPacket`
Specified by:
  `getDataType` in interface `IRTMPEvent`
Specified by:
  `getDataType` in class `BaseEvent`
Returns:
  Data type

#### setDataType

    public void setDataType(byte dataType)

#### getData

    public IoBuffer getData()

Getter for property 'data'.

Specified by:
  `getData` in interface `IStreamPacket`
Specified by:
  `getData` in interface `IStreamData<Aggregate>`
Returns:
  Value for property 'data'.

#### setData

    public void setData(IoBuffer data)

#### setData

    public void setData(byte[] data)

#### getParts

    public LinkedList<IRTMPEvent> getParts()

Breaks-up the aggregate into its individual parts and returns them as a list. The parts are returned based on the ordering of the aggregate itself.

Returns:
  list of IRTMPEvent objects

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`

#### releaseInternal

    protected void releaseInternal()

Release event

Specified by:
  `releaseInternal` in class `BaseEvent`

#### readExternal

    public void readExternal(ObjectInput in)
                      throws IOException,
                             ClassNotFoundException

Specified by:
  `readExternal` in interface `Externalizable`
Overrides:
  `readExternal` in class `BaseEvent`
Throws:
  `IOException`
  `ClassNotFoundException`

#### writeExternal

    public void writeExternal(ObjectOutput out)
                       throws IOException

Specified by:
  `writeExternal` in interface `Externalizable`
Overrides:
  `writeExternal` in class `BaseEvent`
Throws:
  `IOException`

#### duplicate

    public Aggregate duplicate()
                        throws IOException,
                               ClassNotFoundException

Duplicate this message / event.

Specified by:
  `duplicate` in interface `IStreamData<Aggregate>`
Returns:
  duplicated event
Throws:
  `IOException`
  `ClassNotFoundException`