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