[matroska] r862 - trunk/JEBML/src/org/ebml
| Newsgroups | gmane.comp.multimedia.matroska.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: jcsston
Date: 2004-10-04 12:43:39 +0400 (Mon, 04 Oct 2004)
New Revision: 862
Added:
trunk/JEBML/src/org/ebml/SignedIntegerElement.java
trunk/JEBML/src/org/ebml/UnsignedIntegerElement.java
Log:
These didn't get included in the last commit.
Renamed to have Element endings.
Added: trunk/JEBML/src/org/ebml/SignedIntegerElement.java
===================================================================
--- trunk/JEBML/src/org/ebml/SignedIntegerElement.java 2004-10-04 05:07:12 UTC (rev 861)
+++ trunk/JEBML/src/org/ebml/SignedIntegerElement.java 2004-10-04 08:43:39 UTC (rev 862)
@@ -0,0 +1,42 @@
+/*
+ * SignedInteger.java
+ *
+ * Created on February 17, 2003, 1:54 PM
+ */
+
+package org.ebml;
+
+/**
+ * Basic class for the Signed Integer EBML data type.
+ * @author John Cannon
+ */
+public class SignedIntegerElement
+ extends BinaryElement {
+
+ public SignedIntegerElement(byte[] typeID) {
+ super(typeID);
+ }
+
+ public void setValue(long value) {
+ //System.out.println(Long.toHexString(value));
+ setData(packInt(value));
+ /*for (int i = 0; i < data.length; i++) {
+ System.out.print(Integer.toHexString(data[i]) + ", ");
+ }
+ System.out.print("\n");*/
+ }
+
+ public long getValue() {
+ long l = 0;
+ long tmp = 0;
+ l |= ((long)data[0] << (56 - ((8 - data.length) * 8)));
+ for (int i = 1; i < data.length; i++) {
+ tmp = ((long)data[data.length - i]) << 56;
+ tmp >>>= 56 - (8 * (i - 1));
+ l |= tmp;
+ }
+ //System.out.println(Long.toHexString(l));
+ return l;
+ }
+
+}
Added: trunk/JEBML/src/org/ebml/UnsignedIntegerElement.java
===================================================================
--- trunk/JEBML/src/org/ebml/UnsignedIntegerElement.java 2004-10-04 05:07:12 UTC (rev 861)
+++ trunk/JEBML/src/org/ebml/UnsignedIntegerElement.java 2004-10-04 08:43:39 UTC (rev 862)
@@ -0,0 +1,35 @@
+/*
+ * UnsignedIntegerElement.java
+ *
+ * Created on February 15, 2003, 6:27 PM
+ */
+
+package org.ebml;
+
+/**
+ * Basic class for the Unsigned Integer data type in EBML.
+ * @author John Cannon
+ */
+public class UnsignedIntegerElement
+ extends org.ebml.BinaryElement {
+
+ public UnsignedIntegerElement(byte[] typeID) {
+ super(typeID);
+ }
+
+ public void setValue(long value) {
+ setData(packIntUnsigned(value));
+ }
+
+ public long getValue() {
+ long l = 0;
+ long tmp = 0;
+ for (int i = 0; i < data.length; i++) {
+ tmp = ((long)data[data.length - 1 - i]) << 56;
+ tmp >>>= (56 - (i * 8));
+ l |= tmp;
+ }
+ return l;
+ }
+
+}