summaryrefslogtreecommitdiff
path: root/isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base
diff options
context:
space:
mode:
Diffstat (limited to 'isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base')
-rw-r--r--isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base163
1 files changed, 163 insertions, 0 deletions
diff --git a/isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base b/isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base
new file mode 100644
index 0000000..781af49
--- /dev/null
+++ b/isoparser/src/main/java/com/coremedia/iso/boxes/apple/.svn/text-base/AppleLosslessSpecificBox.java.svn-base
@@ -0,0 +1,163 @@
+package com.coremedia.iso.boxes.apple;
+
+import com.coremedia.iso.IsoTypeReader;
+import com.coremedia.iso.IsoTypeWriter;
+import com.googlecode.mp4parser.AbstractFullBox;
+
+import java.nio.ByteBuffer;
+
+/**
+ *
+ */
+public final class AppleLosslessSpecificBox extends AbstractFullBox {
+
+ public static final String TYPE = "alac";
+ /*
+ Extradata: 32bit size 32bit tag (=alac) 32bit zero?
+ 32bit max sample per frame 8bit ?? (zero?) 8bit sample
+ size 8bit history mult 8bit initial history 8bit kmodifier
+ 8bit channels? 16bit ?? 32bit max coded frame size 32bit
+ bitrate? 32bit samplerate
+ */
+ private long maxSamplePerFrame; // 32bi
+ private int unknown1; // 8bit
+ private int sampleSize; // 8bit
+ private int historyMult; // 8bit
+ private int initialHistory; // 8bit
+ private int kModifier; // 8bit
+ private int channels; // 8bit
+ private int unknown2; // 16bit
+ private long maxCodedFrameSize; // 32bit
+ private long bitRate; // 32bit
+ private long sampleRate; // 32bit
+
+ public long getMaxSamplePerFrame() {
+ return maxSamplePerFrame;
+ }
+
+ public void setMaxSamplePerFrame(int maxSamplePerFrame) {
+ this.maxSamplePerFrame = maxSamplePerFrame;
+ }
+
+ public int getUnknown1() {
+ return unknown1;
+ }
+
+ public void setUnknown1(int unknown1) {
+ this.unknown1 = unknown1;
+ }
+
+ public int getSampleSize() {
+ return sampleSize;
+ }
+
+ public void setSampleSize(int sampleSize) {
+ this.sampleSize = sampleSize;
+ }
+
+ public int getHistoryMult() {
+ return historyMult;
+ }
+
+ public void setHistoryMult(int historyMult) {
+ this.historyMult = historyMult;
+ }
+
+ public int getInitialHistory() {
+ return initialHistory;
+ }
+
+ public void setInitialHistory(int initialHistory) {
+ this.initialHistory = initialHistory;
+ }
+
+ public int getKModifier() {
+ return kModifier;
+ }
+
+ public void setKModifier(int kModifier) {
+ this.kModifier = kModifier;
+ }
+
+ public int getChannels() {
+ return channels;
+ }
+
+ public void setChannels(int channels) {
+ this.channels = channels;
+ }
+
+ public int getUnknown2() {
+ return unknown2;
+ }
+
+ public void setUnknown2(int unknown2) {
+ this.unknown2 = unknown2;
+ }
+
+ public long getMaxCodedFrameSize() {
+ return maxCodedFrameSize;
+ }
+
+ public void setMaxCodedFrameSize(int maxCodedFrameSize) {
+ this.maxCodedFrameSize = maxCodedFrameSize;
+ }
+
+ public long getBitRate() {
+ return bitRate;
+ }
+
+ public void setBitRate(int bitRate) {
+ this.bitRate = bitRate;
+ }
+
+ public long getSampleRate() {
+ return sampleRate;
+ }
+
+ public void setSampleRate(int sampleRate) {
+ this.sampleRate = sampleRate;
+ }
+
+
+ @Override
+ public void _parseDetails(ByteBuffer content) {
+ parseVersionAndFlags(content);
+ maxSamplePerFrame = IsoTypeReader.readUInt32(content);
+ unknown1 = IsoTypeReader.readUInt8(content);
+ sampleSize = IsoTypeReader.readUInt8(content);
+ historyMult = IsoTypeReader.readUInt8(content);
+ initialHistory = IsoTypeReader.readUInt8(content);
+ kModifier = IsoTypeReader.readUInt8(content);
+ channels = IsoTypeReader.readUInt8(content);
+ unknown2 = IsoTypeReader.readUInt16(content);
+ maxCodedFrameSize = IsoTypeReader.readUInt32(content);
+ bitRate = IsoTypeReader.readUInt32(content);
+ sampleRate = IsoTypeReader.readUInt32(content);
+ }
+
+ @Override
+ protected void getContent(ByteBuffer byteBuffer) {
+ writeVersionAndFlags(byteBuffer);
+ IsoTypeWriter.writeUInt32(byteBuffer, maxSamplePerFrame);
+ IsoTypeWriter.writeUInt8(byteBuffer, unknown1);
+ IsoTypeWriter.writeUInt8(byteBuffer, sampleSize);
+ IsoTypeWriter.writeUInt8(byteBuffer, historyMult);
+ IsoTypeWriter.writeUInt8(byteBuffer, initialHistory);
+ IsoTypeWriter.writeUInt8(byteBuffer, kModifier);
+ IsoTypeWriter.writeUInt8(byteBuffer, channels);
+ IsoTypeWriter.writeUInt16(byteBuffer, unknown2);
+ IsoTypeWriter.writeUInt32(byteBuffer, maxCodedFrameSize);
+ IsoTypeWriter.writeUInt32(byteBuffer, bitRate);
+ IsoTypeWriter.writeUInt32(byteBuffer, sampleRate);
+ }
+
+ public AppleLosslessSpecificBox() {
+ super("alac");
+ }
+
+ protected long getContentSize() {
+ return 28;
+ }
+
+}