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.