[matroska] r862 - trunk/JEBML/src/org/ebml

[email protected]
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;
+  }
+
+}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.