code: func GetLength(in io.ReadSeeker) (int64, *Format, error) {
  	r := oggReader{source: in, seeker: in}
  	var dec vorbis.Decoder
  	p, err := r.NextPacket()
  	if err != nil {
  		return 0, nil, err
  	}
  	err = dec.ReadHeader(p)
  	if err != nil {
  		return 0, nil, err
  	}
  	format := &Format{
  		SampleRate: dec.SampleRate(),
  		Channels:   dec.Channels(),
  		Bitrate:    dec.Bitrate,
  	}
  	length, err := r.LastPosition()
  	return length, format, err
  }
docs: // GetLength returns the length of the file in samples and the audio format.