package org.jcodec.containers.mps;
import java.util.ArrayList;
import java.util.List;
public final class MTSStreamType {
private final static List<MTSStreamType> _values = new ArrayList<MTSStreamType>();
public final static MTSStreamType RESERVED = new MTSStreamType(0x0, false, false);
public final static MTSStreamType VIDEO_MPEG1 = new MTSStreamType(0x01, true, false);
public final static MTSStreamType VIDEO_MPEG2 = new MTSStreamType(0x02, true, false);
public final static MTSStreamType AUDIO_MPEG1 = new MTSStreamType(0x03, false, true);
public final static MTSStreamType AUDIO_MPEG2 = new MTSStreamType(0x04, false, true);
public final static MTSStreamType PRIVATE_SECTION = new MTSStreamType(0x05, false, false);
public final static MTSStreamType PRIVATE_DATA = new MTSStreamType(0x06, false, false);
public final static MTSStreamType MHEG = new MTSStreamType(0x7, false, false);
public final static MTSStreamType DSM_CC = new MTSStreamType(0x8, false, false);
public final static MTSStreamType ATM_SYNC = new MTSStreamType(0x9, false, false);
public final static MTSStreamType DSM_CC_A = new MTSStreamType(0xa, false, false);
public final static MTSStreamType DSM_CC_B = new MTSStreamType(0xb, false, false);
public final static MTSStreamType DSM_CC_C = new MTSStreamType(0xc, false, false);
public final static MTSStreamType DSM_CC_D = new MTSStreamType(0xd, false, false);
public final static MTSStreamType MPEG_AUX = new MTSStreamType(0xe, false, false);
public final static MTSStreamType AUDIO_AAC_ADTS = new MTSStreamType(0x0f, false, true);
public final static MTSStreamType VIDEO_MPEG4 = new MTSStreamType(0x10, true, false);
public final static MTSStreamType AUDIO_AAC_LATM = new MTSStreamType(0x11, false, true);
public final static MTSStreamType FLEXMUX_PES = new MTSStreamType(0x12, false, false);
public final static MTSStreamType FLEXMUX_SEC = new MTSStreamType(0x13, false, false);
public final static MTSStreamType DSM_CC_SDP = new MTSStreamType(0x14, false, false);
public final static MTSStreamType META_PES = new MTSStreamType(0x15, false, false);
public final static MTSStreamType META_SEC = new MTSStreamType(0x16, false, false);
public final static MTSStreamType DSM_CC_DATA_CAROUSEL = new MTSStreamType(0x17, false, false);
public final static MTSStreamType DSM_CC_OBJ_CAROUSEL = new MTSStreamType(0x18, false, false);
public final static MTSStreamType DSM_CC_SDP1 = new MTSStreamType(0x19, false, false);
public final static MTSStreamType IPMP = new MTSStreamType(0x1a, false, false);
public final static MTSStreamType VIDEO_H264 = new MTSStreamType(0x1b, true, false);
public final static MTSStreamType AUDIO_AAC_RAW = new MTSStreamType(0x1c, false, true);
public final static MTSStreamType SUBS = new MTSStreamType(0x1d, false, false);
public final static MTSStreamType AUX_3D = new MTSStreamType(0x1e, false, false);
public final static MTSStreamType VIDEO_AVC_SVC = new MTSStreamType(0x1f, true, false);
public final static MTSStreamType VIDEO_AVC_MVC = new MTSStreamType(0x20, true, false);
public final static MTSStreamType VIDEO_J2K = new MTSStreamType(0x21, true, false);
public final static MTSStreamType VIDEO_MPEG2_3D = new MTSStreamType(0x22, true, false);
public final static MTSStreamType VIDEO_H264_3D = new MTSStreamType(0x23, true, false);
public final static MTSStreamType VIDEO_CAVS = new MTSStreamType(0x42, false, true);
public final static MTSStreamType IPMP_STREAM = new MTSStreamType(0x7f, false, false);
public final static MTSStreamType AUDIO_AC3 = new MTSStreamType(0x81, false, true);
public final static MTSStreamType AUDIO_DTS = new MTSStreamType(0x8a, false, true);
private int tag;
private boolean video;
private boolean audio;
private MTSStreamType(int tag, boolean video, boolean audio) {
this.tag = tag;
this.video = video;
this.audio = audio;
_values.add(this);
}
public static MTSStreamType[] values() {
return _values.toArray(new MTSStreamType[0]);
}
public static MTSStreamType fromTag(int streamTypeTag) {
MTSStreamType[] values = values();
for (int i = 0; i < values.length; i++) {
MTSStreamType streamType = values[i];
if (streamType.tag == streamTypeTag)
return streamType;
}
return null;
}
public int getTag() {
return tag;
}
public boolean isVideo() {
return video;
}
public boolean isAudio() {
return audio;
}
}