org.red5.io.mp4

## Class MP4Descriptor

- java.lang.Object
- - org.red5.io.mp4.MP4Descriptor

    public class MP4Descriptor
    extends Object

MP4Descriptor

### Field Summary

Fields
`protected Vector<MP4Descriptor>` `children`
`protected long` `decSpecificDataOffset`
`protected int` `decSpecificDataSize`
`static int` `MP4DecoderConfigDescriptorTag`
`static int` `MP4DecSpecificInfoDescriptorTag`
`static int` `MP4ES_DescriptorTag`
`protected int` `readed`
`protected int` `size`
`protected int` `type`

### Constructor Summary

Constructors
Constructor and Description
`MP4Descriptor(int type, int size)`

### Method Summary

Methods
`void` `createDecoderConfigDescriptor(MP4DataStream bitstream)` Loads the MP4DecoderConfigDescriptor from the input bitstream.
`void` `createDecSpecificInfoDescriptor(MP4DataStream bitstream)` Loads the MP4DecSpecificInfoDescriptor from the input bitstream.
`static MP4Descriptor` `createDescriptor(MP4DataStream bitstream)`
`void` `createES_Descriptor(MP4DataStream bitstream)` Loads the MP4ES_Descriptor from the input bitstream.
`Vector<MP4Descriptor>` `getChildren()`
`long` `getDecSpecificDataOffset()`
`int` `getDecSpecificDataSize()`
`byte[]` `getDSID()`
`int` `getReaded()` Gets the number of data bytes which were read from the stream;
`int` `getType()` Returns the type of this descriptor.
`MP4Descriptor` `lookup(int type, int number)` Lookups for a child descriptor with the specified `type`, skips the `number` children with the same type before finding a result.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### MP4ES_DescriptorTag

    public static final int MP4ES_DescriptorTag

See Also:
  Constant Field Values

#### MP4DecoderConfigDescriptorTag

    public static final int MP4DecoderConfigDescriptorTag

See Also:
  Constant Field Values

#### MP4DecSpecificInfoDescriptorTag

    public static final int MP4DecSpecificInfoDescriptorTag

See Also:
  Constant Field Values

#### type

    protected int type

#### size

    protected int size

#### readed

    protected int readed

#### children

    protected Vector<MP4Descriptor> children

#### decSpecificDataSize

    protected int decSpecificDataSize

#### decSpecificDataOffset

    protected long decSpecificDataOffset

### Constructor Detail

#### MP4Descriptor

    public MP4Descriptor(int type,
                 int size)

### Method Detail

#### createDescriptor

    public static MP4Descriptor createDescriptor(MP4DataStream bitstream)
                                          throws IOException

Throws:
  `IOException`

#### createES_Descriptor

    public void createES_Descriptor(MP4DataStream bitstream)
                             throws IOException

Loads the MP4ES_Descriptor from the input bitstream.

Parameters:
  `bitstream` - the input bitstream
Throws:
  `IOException`

#### createDecoderConfigDescriptor

    public void createDecoderConfigDescriptor(MP4DataStream bitstream)
                                       throws IOException

Loads the MP4DecoderConfigDescriptor from the input bitstream.

Parameters:
  `bitstream` - the input bitstream
Throws:
  `IOException`

#### getDSID

    public byte[] getDSID()

#### createDecSpecificInfoDescriptor

    public void createDecSpecificInfoDescriptor(MP4DataStream bitstream)
                                         throws IOException

Loads the MP4DecSpecificInfoDescriptor from the input bitstream.

Parameters:
  `bitstream` - the input bitstream
Throws:
  `IOException`

#### getDecSpecificDataOffset

    public long getDecSpecificDataOffset()

#### getDecSpecificDataSize

    public int getDecSpecificDataSize()

#### lookup

    public MP4Descriptor lookup(int type,
                       int number)

Lookups for a child descriptor with the specified `type`, skips the `number` children with the same type before finding a result.

Parameters:
  `type` - the type of the descriptor.
  `number` - the number of child descriptors to skip
Returns:
  the descriptor which was being searched.

#### getType

    public int getType()

Returns the type of this descriptor.

#### getReaded

    public int getReaded()

Gets the number of data bytes which were read from the stream;

Returns:
  the number of read data bytes.

#### getChildren

    public Vector<MP4Descriptor> getChildren()