Unbewohnte
3 years ago
4 changed files with 60 additions and 13 deletions
@ -0,0 +1,11 @@
|
||||
package id3ed |
||||
|
||||
// ID3v1
|
||||
const ID3v1IDENTIFIER string = "TAG" |
||||
const ID3v1SIZE int = 128 // bytes
|
||||
const ID3v1INVALIDGENRE int = 255 |
||||
|
||||
//ID3v2
|
||||
const ID3v2IDENTIFIER string = "ID3" |
||||
const ID3v2HEADERSIZE int = 10 // bytes
|
||||
const ID3v2MAXSIZE int = 268435456 // bytes (256 MB)
|
@ -0,0 +1,38 @@
|
||||
package id3ed |
||||
|
||||
//////////////////////////////////////
|
||||
//(ᗜˬᗜ)~⭐//Under construction//(ᗜ‸ᗜ)//
|
||||
//////////////////////////////////////
|
||||
|
||||
import ( |
||||
"bytes" |
||||
"fmt" |
||||
"io" |
||||
) |
||||
|
||||
type Header struct { |
||||
Identifier string |
||||
Version int |
||||
Flags int |
||||
Size int64 |
||||
} |
||||
|
||||
func GetHeader(rs io.ReadSeeker) (*Header, error) { |
||||
var header Header |
||||
|
||||
rs.Seek(0, io.SeekStart) |
||||
|
||||
identifier, err := read(rs, 3) |
||||
if err != nil { |
||||
return nil, err |
||||
} |
||||
// check if ID3v2 is used
|
||||
if !bytes.Equal([]byte(ID3v2IDENTIFIER), identifier) { |
||||
return nil, fmt.Errorf("does not use ID3v2") |
||||
} |
||||
////
|
||||
|
||||
header.Identifier = string(identifier) |
||||
|
||||
return &header, nil |
||||
} |
Loading…
Reference in new issue