[matroska] r784 - in trunk/RbMatroska: . ebml matroska

[email protected]
Newsgroups gmane.comp.multimedia.matroska.cvs
Message-ID <[email protected]>
Author: mosu
Date: 2004-09-12 13:31:21 +0400 (Sun, 12 Sep 2004)
New Revision: 784

Modified:
   trunk/RbMatroska/ebml.rb
   trunk/RbMatroska/ebml/file.rb
   trunk/RbMatroska/ebml/master.rb
   trunk/RbMatroska/matroska/utils.rb
Log:
Getting rid of Element.@id was not a wise move. Reverted that part of the previous commit.

Modified: trunk/RbMatroska/ebml/file.rb
===================================================================
--- trunk/RbMatroska/ebml/file.rb	2004-09-12 09:09:20 UTC (rev 783)
+++ trunk/RbMatroska/ebml/file.rb	2004-09-12 09:31:21 UTC (rev 784)
@@ -93,7 +93,7 @@
       return nil if (id.class == NilClass)
       size = read_size
       return nil if (size.class == NilClass)
-      return find_class_for_id(id).new(pos, size[0], size[1])
+      return find_class_for_id(id).new(id, pos, size[0], size[1])
     end
 
     def map_ids(namespace = nil)

Modified: trunk/RbMatroska/ebml/master.rb
===================================================================
--- trunk/RbMatroska/ebml/master.rb	2004-09-12 09:09:20 UTC (rev 783)
+++ trunk/RbMatroska/ebml/master.rb	2004-09-12 09:31:21 UTC (rev 784)
@@ -18,8 +18,8 @@
   class Master < Element
     attr_reader :children
 
-    def initialize(pos, data_size, size_length)
-      super(pos, data_size, size_length)
+    def initialize(id, pos, data_size, size_length)
+      super(id, pos, data_size, size_length)
       @children = Array.new
     end
 
@@ -44,7 +44,7 @@
 
     def each(filter = Id.none)
       @children.each do |c|
-        yield(c) if ((filter == Id.none) or (filter == c.class.global_id))
+        yield(c) if ((filter == Id.none) or (filter == c.id))
       end
     end
 
@@ -55,7 +55,7 @@
       else
         id = filter
       end
-      @children.each { |c| return c if (c.class.global_id == id) }
+      @children.each { |c| return c if (c.id == id) }
       return nil
     end
 

Modified: trunk/RbMatroska/ebml.rb
===================================================================
--- trunk/RbMatroska/ebml.rb	2004-09-12 09:09:20 UTC (rev 783)
+++ trunk/RbMatroska/ebml.rb	2004-09-12 09:31:21 UTC (rev 784)
@@ -70,11 +70,13 @@
   end                           # class Id
 
   class Element
+    attr_reader :id
     attr_reader :pos
     attr_reader :data_size
     attr_reader :size_length
 
-    def initialize(pos, data_size, size_length)
+    def initialize(id, pos, data_size, size_length)
+      @id = id
       @pos = pos
       @data_size = data_size
       @size_length = size_length
@@ -85,11 +87,11 @@
     end
 
     def head_size
-      return self.class.global_id.size + @size_length
+      return @id.size + @size_length
     end
 
     def element_size
-      return self.class.global_id.size + @data_size +
+      return @id.size + @data_size +
         (@size_length == -1 ? Ebml.coded_size(@data_size) : @size_length)
     end
 
@@ -108,8 +110,8 @@
     end
 
     def to_s
-      return sprintf("[%s @ 0x%08x size 0x%08x]", self.class.global_id.to_s,
-                      @pos, element_size)
+      return sprintf("[%s @ 0x%08x size 0x%08x]", id.to_s, @pos,
+                      @element_size)
     end
   end
 

Modified: trunk/RbMatroska/matroska/utils.rb
===================================================================
--- trunk/RbMatroska/matroska/utils.rb	2004-09-12 09:09:20 UTC (rev 783)
+++ trunk/RbMatroska/matroska/utils.rb	2004-09-12 09:31:21 UTC (rev 784)
@@ -60,9 +60,8 @@
 
           segelement = f.read_element_head
           while ((segelement != nil) and
-                  (fully or (segelement.class.global_id !=
-                              Matroska::Cluster.global_id)))
-            add_element(segelement.class.global_id, segelement.pos)
+                  (fully or (segelement.id != Matroska::Cluster.global_id)))
+            add_element(segelement.id, segelement.pos)
             segelement.skip(f)
             segelement = f.read_element_head
           end                   # while (segelement...
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.