package oggtag /* oggtag is a naive implementation of OGG tag's reader that is just looking for certain tag names ending with an = character, e.g. artist= and title=. */ import ( "bytes" ) // OggGetTag is searching for a certain tag in a given buffer buf and returns // its value. // // It is a simple implementation that doesn't parse a header and instead just // looking for a certain tag preceded with three zero bytes and ends with // an = character. func OggGetTag(buf []byte, tag string) string { tagIdx := bytes.Index(buf, append([]byte{0, 0, 0}, (tag+"=")...)) + 3 tagNameLen := len(tag) + 1 valStart := tagIdx + tagNameLen valLen := int(buf[tagIdx-4]) - tagNameLen return string(buf[valStart : valStart+valLen]) }