summaryrefslogtreecommitdiff
path: root/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2012-09-20 16:00:17 -0700
committerTeng-Hui Zhu <ztenghui@google.com>2012-09-20 16:25:28 -0700
commitdd9eb897ee7c7b507cbdcf80263bb4b5de6966bf (patch)
treea0f3b67524d3e7beeca5e30878f349d58a65b705 /isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn
parent8436c0da2d787a33439f14e9273ea647f346fa9b (diff)
downloadmp4parser-dd9eb897ee7c7b507cbdcf80263bb4b5de6966bf.tar.gz
Initial drop the compilable version of mp4parser, with least modification
bug:7093055 Change-Id: Id9b1b4ec91e26ae6e9fd75d86696aa30f30897b3
Diffstat (limited to 'isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn')
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/all-wcprops41
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/entries232
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/BaseMediaInfoAtom.java.svn-base110
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderAtom.java.svn-base28
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderTextAtom.java.svn-base130
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/QuicktimeTextSampleEntry.java.svn-base237
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TaptAtom.java.svn-base16
-rw-r--r--isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TimeCodeBox.java.svn-base54
8 files changed, 848 insertions, 0 deletions
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/all-wcprops b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/all-wcprops
new file mode 100644
index 0000000..458d104
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/all-wcprops
@@ -0,0 +1,41 @@
+K 25
+svn:wc:ra_dav:version-url
+V 84
+/svn/!svn/ver/727/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple
+END
+TimeCodeBox.java
+K 25
+svn:wc:ra_dav:version-url
+V 101
+/svn/!svn/ver/684/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/TimeCodeBox.java
+END
+QuicktimeTextSampleEntry.java
+K 25
+svn:wc:ra_dav:version-url
+V 114
+/svn/!svn/ver/690/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/QuicktimeTextSampleEntry.java
+END
+GenericMediaHeaderAtom.java
+K 25
+svn:wc:ra_dav:version-url
+V 112
+/svn/!svn/ver/684/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/GenericMediaHeaderAtom.java
+END
+BaseMediaInfoAtom.java
+K 25
+svn:wc:ra_dav:version-url
+V 107
+/svn/!svn/ver/687/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/BaseMediaInfoAtom.java
+END
+TaptAtom.java
+K 25
+svn:wc:ra_dav:version-url
+V 98
+/svn/!svn/ver/727/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/TaptAtom.java
+END
+GenericMediaHeaderTextAtom.java
+K 25
+svn:wc:ra_dav:version-url
+V 116
+/svn/!svn/ver/685/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/GenericMediaHeaderTextAtom.java
+END
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/entries b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/entries
new file mode 100644
index 0000000..ad474c2
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/entries
@@ -0,0 +1,232 @@
+10
+
+dir
+778
+http://mp4parser.googlecode.com/svn/trunk/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple
+http://mp4parser.googlecode.com/svn
+
+
+
+2012-08-08T07:05:08.133759Z
+727
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+7decde4b-c250-0410-a0da-51896bc88be6
+
+TimeCodeBox.java
+file
+
+
+
+
+2012-09-14T17:27:51.197229Z
+c584657a6b97bbddc67e006ea6425bb6
+2012-06-24T14:45:45.932648Z
+684
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1498
+
+QuicktimeTextSampleEntry.java
+file
+
+
+
+
+2012-09-14T17:27:51.197229Z
+9fb53b7189ae88149477c073fb987599
+2012-06-24T21:27:52.519961Z
+690
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+6202
+
+GenericMediaHeaderAtom.java
+file
+
+
+
+
+2012-09-14T17:27:51.207229Z
+2eba5114788056352adb0e5e7d8cee33
+2012-06-24T14:45:45.932648Z
+684
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+890
+
+BaseMediaInfoAtom.java
+file
+
+
+
+
+2012-09-14T17:27:51.207229Z
+6119ba316b09d48ed85824b96f2b68b1
+2012-06-24T19:53:06.650023Z
+687
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2695
+
+TaptAtom.java
+file
+
+
+
+
+2012-09-14T17:27:51.207229Z
+9eed1655d1a9f0c187071c0bf6ff61bc
+2012-08-08T07:05:08.133759Z
+727
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+327
+
+GenericMediaHeaderTextAtom.java
+file
+
+
+
+
+2012-09-14T17:27:51.207229Z
+b06b279065c7b8475ade9558fa8227c9
+2012-06-24T15:08:14.651658Z
+685
+Sebastian.Annies@gmail.com
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+2866
+
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/BaseMediaInfoAtom.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/BaseMediaInfoAtom.java.svn-base
new file mode 100644
index 0000000..706569e
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/BaseMediaInfoAtom.java.svn-base
@@ -0,0 +1,110 @@
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.coremedia.iso.IsoTypeReader;
+import com.coremedia.iso.IsoTypeWriter;
+import com.googlecode.mp4parser.AbstractFullBox;
+
+import java.nio.ByteBuffer;
+
+public class BaseMediaInfoAtom extends AbstractFullBox {
+ public static final String TYPE = "gmin";
+
+ short graphicsMode = 64;
+ int opColorR = 32768;
+ int opColorG = 32768;
+ int opColorB = 32768;
+ short balance;
+ short reserved;
+
+ public BaseMediaInfoAtom() {
+ super(TYPE);
+ }
+
+ @Override
+ protected long getContentSize() {
+ return 16;
+ }
+
+ @Override
+ protected void getContent(ByteBuffer byteBuffer) {
+ writeVersionAndFlags(byteBuffer);
+ byteBuffer.putShort(graphicsMode);
+ IsoTypeWriter.writeUInt16(byteBuffer, opColorR);
+ IsoTypeWriter.writeUInt16(byteBuffer,opColorG );
+ IsoTypeWriter.writeUInt16(byteBuffer,opColorB );
+ byteBuffer.putShort(balance);
+ byteBuffer.putShort(reserved);
+ }
+
+ @Override
+ protected void _parseDetails(ByteBuffer content) {
+ parseVersionAndFlags(content);
+ graphicsMode = content.getShort();
+ opColorR = IsoTypeReader.readUInt16(content);
+ opColorG = IsoTypeReader.readUInt16(content);
+ opColorB = IsoTypeReader.readUInt16(content);
+ balance = content.getShort();
+ reserved = content.getShort();
+
+ }
+
+ public short getGraphicsMode() {
+ return graphicsMode;
+ }
+
+ public void setGraphicsMode(short graphicsMode) {
+ this.graphicsMode = graphicsMode;
+ }
+
+ public int getOpColorR() {
+ return opColorR;
+ }
+
+ public void setOpColorR(int opColorR) {
+ this.opColorR = opColorR;
+ }
+
+ public int getOpColorG() {
+ return opColorG;
+ }
+
+ public void setOpColorG(int opColorG) {
+ this.opColorG = opColorG;
+ }
+
+ public int getOpColorB() {
+ return opColorB;
+ }
+
+ public void setOpColorB(int opColorB) {
+ this.opColorB = opColorB;
+ }
+
+ public short getBalance() {
+ return balance;
+ }
+
+ public void setBalance(short balance) {
+ this.balance = balance;
+ }
+
+ public short getReserved() {
+ return reserved;
+ }
+
+ public void setReserved(short reserved) {
+ this.reserved = reserved;
+ }
+
+ @Override
+ public String toString() {
+ return "BaseMediaInfoAtom{" +
+ "graphicsMode=" + graphicsMode +
+ ", opColorR=" + opColorR +
+ ", opColorG=" + opColorG +
+ ", opColorB=" + opColorB +
+ ", balance=" + balance +
+ ", reserved=" + reserved +
+ '}';
+ }
+}
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderAtom.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderAtom.java.svn-base
new file mode 100644
index 0000000..ac2033f
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderAtom.java.svn-base
@@ -0,0 +1,28 @@
+/*
+ * Copyright 2012 Sebastian Annies, Hamburg
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.googlecode.mp4parser.AbstractContainerBox;
+
+public class GenericMediaHeaderAtom extends AbstractContainerBox {
+
+ public static final String TYPE = "gmhd";
+
+ public GenericMediaHeaderAtom() {
+ super(TYPE);
+ }
+
+}
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderTextAtom.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderTextAtom.java.svn-base
new file mode 100644
index 0000000..fd52dc9
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/GenericMediaHeaderTextAtom.java.svn-base
@@ -0,0 +1,130 @@
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.googlecode.mp4parser.AbstractBox;
+
+import java.nio.ByteBuffer;
+
+/**
+ * Undocumented atom in the gmhd atom of text tracks.
+ */
+public class GenericMediaHeaderTextAtom extends AbstractBox {
+
+ public static final String TYPE = "text";
+
+ int unknown_1 = 65536;
+ int unknown_2;
+ int unknown_3;
+ int unknown_4;
+ int unknown_5 = 65536;
+ int unknown_6;
+ int unknown_7;
+ int unknown_8;
+ int unknown_9 = 1073741824;
+
+ public GenericMediaHeaderTextAtom() {
+ super(TYPE);
+ }
+
+ @Override
+ protected long getContentSize() {
+ return 36;
+ }
+
+ @Override
+ protected void getContent(ByteBuffer byteBuffer) {
+ byteBuffer.putInt(unknown_1);
+ byteBuffer.putInt(unknown_2);
+ byteBuffer.putInt(unknown_3);
+ byteBuffer.putInt(unknown_4);
+ byteBuffer.putInt(unknown_5);
+ byteBuffer.putInt(unknown_6);
+ byteBuffer.putInt(unknown_7);
+ byteBuffer.putInt(unknown_8);
+ byteBuffer.putInt(unknown_9);
+ }
+
+ @Override
+ protected void _parseDetails(ByteBuffer content) {
+ unknown_1 = content.getInt();
+ unknown_2 = content.getInt();
+ unknown_3 = content.getInt();
+ unknown_4 = content.getInt();
+ unknown_5 = content.getInt();
+ unknown_6 = content.getInt();
+ unknown_7 = content.getInt();
+ unknown_8 = content.getInt();
+ unknown_9 = content.getInt();
+ }
+
+ public int getUnknown_1() {
+ return unknown_1;
+ }
+
+ public void setUnknown_1(int unknown_1) {
+ this.unknown_1 = unknown_1;
+ }
+
+ public int getUnknown_2() {
+ return unknown_2;
+ }
+
+ public void setUnknown_2(int unknown_2) {
+ this.unknown_2 = unknown_2;
+ }
+
+ public int getUnknown_3() {
+ return unknown_3;
+ }
+
+ public void setUnknown_3(int unknown_3) {
+ this.unknown_3 = unknown_3;
+ }
+
+ public int getUnknown_4() {
+ return unknown_4;
+ }
+
+ public void setUnknown_4(int unknown_4) {
+ this.unknown_4 = unknown_4;
+ }
+
+ public int getUnknown_5() {
+ return unknown_5;
+ }
+
+ public void setUnknown_5(int unknown_5) {
+ this.unknown_5 = unknown_5;
+ }
+
+ public int getUnknown_6() {
+ return unknown_6;
+ }
+
+ public void setUnknown_6(int unknown_6) {
+ this.unknown_6 = unknown_6;
+ }
+
+ public int getUnknown_7() {
+ return unknown_7;
+ }
+
+ public void setUnknown_7(int unknown_7) {
+ this.unknown_7 = unknown_7;
+ }
+
+ public int getUnknown_8() {
+ return unknown_8;
+ }
+
+ public void setUnknown_8(int unknown_8) {
+ this.unknown_8 = unknown_8;
+ }
+
+ public int getUnknown_9() {
+ return unknown_9;
+ }
+
+ public void setUnknown_9(int unknown_9) {
+ this.unknown_9 = unknown_9;
+ }
+}
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/QuicktimeTextSampleEntry.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/QuicktimeTextSampleEntry.java.svn-base
new file mode 100644
index 0000000..8784fc6
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/QuicktimeTextSampleEntry.java.svn-base
@@ -0,0 +1,237 @@
+/*
+ * Copyright 2012 Sebastian Annies, Hamburg
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.coremedia.iso.IsoTypeReader;
+import com.coremedia.iso.IsoTypeWriter;
+import com.coremedia.iso.boxes.sampleentry.SampleEntry;
+
+import java.nio.ByteBuffer;
+
+/**
+ * Entry type for timed text samples defined in the timed text specification (ISO/IEC 14496-17).
+ */
+public class QuicktimeTextSampleEntry extends SampleEntry {
+
+ public static final String TYPE = "text";
+
+ int displayFlags;
+ int textJustification;
+
+ int backgroundR;
+ int backgroundG;
+ int backgroundB;
+
+ long defaultTextBox;
+ long reserved1;
+
+ short fontNumber;
+ short fontFace;
+ byte reserved2;
+ short reserved3;
+
+ int foregroundR = 65535;
+ int foregroundG = 65535;
+ int foregroundB = 65535;
+
+ String fontName = "";
+
+ public QuicktimeTextSampleEntry() {
+ super(TYPE);
+ }
+
+ @Override
+ public void _parseDetails(ByteBuffer content) {
+ _parseReservedAndDataReferenceIndex(content);
+
+ displayFlags = content.getInt();
+ textJustification = content.getInt();
+ backgroundR = IsoTypeReader.readUInt16(content);
+ backgroundG = IsoTypeReader.readUInt16(content);
+ backgroundB = IsoTypeReader.readUInt16(content);
+ defaultTextBox = IsoTypeReader.readUInt64(content);
+ reserved1 = IsoTypeReader.readUInt64(content);
+ fontNumber = content.getShort();
+ fontFace = content.getShort();
+ reserved2 = content.get();
+ reserved3 = content.getShort();
+ foregroundR = IsoTypeReader.readUInt16(content);
+ foregroundG = IsoTypeReader.readUInt16(content);
+ foregroundB = IsoTypeReader.readUInt16(content);
+
+ if (content.remaining() > 0) {
+ int length = IsoTypeReader.readUInt8(content);
+ byte[] myFontName = new byte[length];
+ content.get(myFontName);
+ fontName = new String(myFontName);
+ } else {
+ fontName = null;
+ }
+ }
+
+
+ protected long getContentSize() {
+ return 52 + (fontName != null ? fontName.length() : 0);
+ }
+
+
+ public int getDisplayFlags() {
+ return displayFlags;
+ }
+
+ public void setDisplayFlags(int displayFlags) {
+ this.displayFlags = displayFlags;
+ }
+
+ public int getTextJustification() {
+ return textJustification;
+ }
+
+ public void setTextJustification(int textJustification) {
+ this.textJustification = textJustification;
+ }
+
+ public int getBackgroundR() {
+ return backgroundR;
+ }
+
+ public void setBackgroundR(int backgroundR) {
+ this.backgroundR = backgroundR;
+ }
+
+ public int getBackgroundG() {
+ return backgroundG;
+ }
+
+ public void setBackgroundG(int backgroundG) {
+ this.backgroundG = backgroundG;
+ }
+
+ public int getBackgroundB() {
+ return backgroundB;
+ }
+
+ public void setBackgroundB(int backgroundB) {
+ this.backgroundB = backgroundB;
+ }
+
+ public long getDefaultTextBox() {
+ return defaultTextBox;
+ }
+
+ public void setDefaultTextBox(long defaultTextBox) {
+ this.defaultTextBox = defaultTextBox;
+ }
+
+ public long getReserved1() {
+ return reserved1;
+ }
+
+ public void setReserved1(long reserved1) {
+ this.reserved1 = reserved1;
+ }
+
+ public short getFontNumber() {
+ return fontNumber;
+ }
+
+ public void setFontNumber(short fontNumber) {
+ this.fontNumber = fontNumber;
+ }
+
+ public short getFontFace() {
+ return fontFace;
+ }
+
+ public void setFontFace(short fontFace) {
+ this.fontFace = fontFace;
+ }
+
+ public byte getReserved2() {
+ return reserved2;
+ }
+
+ public void setReserved2(byte reserved2) {
+ this.reserved2 = reserved2;
+ }
+
+ public short getReserved3() {
+ return reserved3;
+ }
+
+ public void setReserved3(short reserved3) {
+ this.reserved3 = reserved3;
+ }
+
+ public int getForegroundR() {
+ return foregroundR;
+ }
+
+ public void setForegroundR(int foregroundR) {
+ this.foregroundR = foregroundR;
+ }
+
+ public int getForegroundG() {
+ return foregroundG;
+ }
+
+ public void setForegroundG(int foregroundG) {
+ this.foregroundG = foregroundG;
+ }
+
+ public int getForegroundB() {
+ return foregroundB;
+ }
+
+ public void setForegroundB(int foregroundB) {
+ this.foregroundB = foregroundB;
+ }
+
+ public String getFontName() {
+ return fontName;
+ }
+
+ public void setFontName(String fontName) {
+ this.fontName = fontName;
+ }
+
+ @Override
+ protected void getContent(ByteBuffer byteBuffer) {
+ _writeReservedAndDataReferenceIndex(byteBuffer);
+ byteBuffer.putInt(displayFlags);
+ byteBuffer.putInt(textJustification);
+ IsoTypeWriter.writeUInt16(byteBuffer, backgroundR);
+ IsoTypeWriter.writeUInt16(byteBuffer, backgroundG);
+ IsoTypeWriter.writeUInt16(byteBuffer, backgroundB);
+ IsoTypeWriter.writeUInt64(byteBuffer, defaultTextBox);
+ IsoTypeWriter.writeUInt64(byteBuffer, reserved1);
+ byteBuffer.putShort(fontNumber);
+ byteBuffer.putShort(fontFace);
+ byteBuffer.put(reserved2);
+ byteBuffer.putShort(reserved3);
+
+ IsoTypeWriter.writeUInt16(byteBuffer, foregroundR);
+ IsoTypeWriter.writeUInt16(byteBuffer, foregroundG);
+ IsoTypeWriter.writeUInt16(byteBuffer, foregroundB);
+ if (fontName != null) {
+ IsoTypeWriter.writeUInt8(byteBuffer, fontName.length());
+ byteBuffer.put(fontName.getBytes());
+ }
+
+ }
+
+
+}
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TaptAtom.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TaptAtom.java.svn-base
new file mode 100644
index 0000000..4fcea56
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TaptAtom.java.svn-base
@@ -0,0 +1,16 @@
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.googlecode.mp4parser.AbstractContainerBox;
+
+/**
+ * Don't know what it is but it is obviously a container box.
+ */
+public class TaptAtom extends AbstractContainerBox {
+ public static final String TYPE = "tapt";
+
+ public TaptAtom() {
+ super(TYPE);
+ }
+
+
+}
diff --git a/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TimeCodeBox.java.svn-base b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TimeCodeBox.java.svn-base
new file mode 100644
index 0000000..e15c9f0
--- /dev/null
+++ b/isoparser/src/main/java/com/googlecode/mp4parser/boxes/apple/.svn/text-base/TimeCodeBox.java.svn-base
@@ -0,0 +1,54 @@
+/*
+ * Copyright 2012 Sebastian Annies, Hamburg
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.googlecode.mp4parser.boxes.apple;
+
+import com.coremedia.iso.boxes.Box;
+import com.coremedia.iso.boxes.sampleentry.SampleEntry;
+
+import java.nio.ByteBuffer;
+
+public class TimeCodeBox extends SampleEntry {
+ byte[] data;
+
+
+ public TimeCodeBox() {
+ super("tmcd");
+ }
+
+ @Override
+ protected long getContentSize() {
+ long size = 26;
+ for (Box box : boxes) {
+ size += box.getSize();
+ }
+ return size;
+ }
+
+ @Override
+ public void _parseDetails(ByteBuffer content) {
+ _parseReservedAndDataReferenceIndex(content);
+ data = new byte[18];
+ content.get(data);
+ _parseChildBoxes(content);
+ }
+
+ @Override
+ protected void getContent(ByteBuffer byteBuffer) {
+ _writeReservedAndDataReferenceIndex(byteBuffer);
+ byteBuffer.put(data);
+ _writeChildBoxes(byteBuffer);
+ }
+}