code: func (r *Reader) SetPosition(pos int64) error {
  	if r.r.seeker == nil {
  		return errors.New("oggvorbis: reader is not seekable")
  	}
  	r.buffer = nil
  	if pos >= r.length {
  		r.r.lastPacket = true
  		r.position = r.length
  		return nil
  	}
  	start, err := r.r.SeekPageBefore(pos)
  	if err != nil {
  		return err
  	}
  	packet, err := r.r.NextPacket()
  	r.dec.Clear()
  	r.dec.DecodeInto(packet, r.originalBuffer)
  	r.position = start
  	r.toSkip = int(pos-start) * r.Channels()
  	return nil
  }
docs: // SetPosition seeks to a position in samples.
  // It will return an error if the underlying reader is not seekable.