# File lib/ogginfo.rb, line 39
  def initialize(filename, charset = "utf-8")
    @filename = filename
    @charset = charset
    @length = nil
    @bitrate = nil
    filesize = File.size(@filename)
    File.open(@filename) do |file|
      begin
        info = read_headers(file)
        @samplerate = info[:samplerate]
        @nominal_bitrate = info[:nominal_bitrate]
        @channels = info[:channels]
        @tag = info[:tag]
        # filesize is used to calculate bitrate
        # but we don't want to include the headers
        @filesize = file.stat.size - file.pos
      rescue Ogg::StreamError => se
        raise(OggInfoError, se.message, se.backtrace)
      end
    end

    convert_tag_charset("utf-8", @charset)
    @original_tag = @tag.dup
  end