net.sourceforge.jaad.aac.ChannelConfiguration Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of jcodec Show documentation
Show all versions of jcodec Show documentation
Pure Java implementation of video/audio codecs and formats
package net.sourceforge.jaad.aac;
/**
* This class is part of JAAD ( jaadec.sourceforge.net ) that is distributed
* under the Public Domain license. Code changes provided by the JCodec project
* are distributed under FreeBSD license.
*
* All possible channel configurations for AAC.
*
* @author in-somnia
*/
public final class ChannelConfiguration {
public final static ChannelConfiguration CHANNEL_CONFIG_UNSUPPORTED = new ChannelConfiguration(-1, "invalid");
public final static ChannelConfiguration CHANNEL_CONFIG_NONE = new ChannelConfiguration(0, "No channel");
public final static ChannelConfiguration CHANNEL_CONFIG_MONO = new ChannelConfiguration(1, "Mono");
public final static ChannelConfiguration CHANNEL_CONFIG_STEREO = new ChannelConfiguration(2, "Stereo");
public final static ChannelConfiguration CHANNEL_CONFIG_STEREO_PLUS_CENTER = new ChannelConfiguration(3,
"Stereo+Center");
public final static ChannelConfiguration CHANNEL_CONFIG_STEREO_PLUS_CENTER_PLUS_REAR_MONO = new ChannelConfiguration(
4, "Stereo+Center+Rear");
public final static ChannelConfiguration CHANNEL_CONFIG_FIVE = new ChannelConfiguration(5, "Five channels");
public final static ChannelConfiguration CHANNEL_CONFIG_FIVE_PLUS_ONE = new ChannelConfiguration(6,
"Five channels+LF");
public final static ChannelConfiguration CHANNEL_CONFIG_SEVEN_PLUS_ONE = new ChannelConfiguration(8,
"Seven channels+LF");
public static ChannelConfiguration forInt(int i) {
ChannelConfiguration c;
switch (i) {
case 0:
c = CHANNEL_CONFIG_NONE;
break;
case 1:
c = CHANNEL_CONFIG_MONO;
break;
case 2:
c = CHANNEL_CONFIG_STEREO;
break;
case 3:
c = CHANNEL_CONFIG_STEREO_PLUS_CENTER;
break;
case 4:
c = CHANNEL_CONFIG_STEREO_PLUS_CENTER_PLUS_REAR_MONO;
break;
case 5:
c = CHANNEL_CONFIG_FIVE;
break;
case 6:
c = CHANNEL_CONFIG_FIVE_PLUS_ONE;
break;
case 7:
case 8:
c = CHANNEL_CONFIG_SEVEN_PLUS_ONE;
break;
default:
c = CHANNEL_CONFIG_UNSUPPORTED;
break;
}
return c;
}
private final int chCount;
private final String descr;
private ChannelConfiguration(int chCount, String descr) {
this.chCount = chCount;
this.descr = descr;
}
/**
* Returns the number of channels in this configuration.
*/
public int getChannelCount() {
return chCount;
}
/**
* Returns a short description of this configuration.
*
* @return the channel configuration's description
*/
public String getDescription() {
return descr;
}
/**
* Returns a string representation of this channel configuration. The method
* is identical to getDescription()
.
*
* @return the channel configuration's description
*/
@Override
public String toString() {
return descr;
}
}