mirror of
https://git.um-react.app/um/cli.git
synced 2025-11-28 11:43:02 +00:00
Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0b3ad0d97c | ||
|
|
c87204c78a |
@@ -149,12 +149,18 @@ func (d *Decoder) readMetaData() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (d *Decoder) readCoverData() error {
|
func (d *Decoder) readCoverData() error {
|
||||||
bCoverCRC := make([]byte, 4)
|
bCoverFrameLen := make([]byte, 4)
|
||||||
if _, err := io.ReadFull(d.rd, bCoverCRC); err != nil {
|
if _, err := io.ReadFull(d.rd, bCoverFrameLen); err != nil {
|
||||||
return fmt.Errorf("ncm read cover crc: %w", err)
|
return fmt.Errorf("ncm read cover length: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
bCoverLen := make([]byte, 4) //
|
coverFrameStartOffset, err := d.rd.Seek(0, io.SeekCurrent)
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("ncm fetch cover frame start offset: %w", err)
|
||||||
|
}
|
||||||
|
coverFrameLen := binary.LittleEndian.Uint32(bCoverFrameLen)
|
||||||
|
|
||||||
|
bCoverLen := make([]byte, 4)
|
||||||
if _, err := io.ReadFull(d.rd, bCoverLen); err != nil {
|
if _, err := io.ReadFull(d.rd, bCoverLen); err != nil {
|
||||||
return fmt.Errorf("ncm read cover length: %w", err)
|
return fmt.Errorf("ncm read cover length: %w", err)
|
||||||
}
|
}
|
||||||
@@ -166,7 +172,10 @@ func (d *Decoder) readCoverData() error {
|
|||||||
}
|
}
|
||||||
d.cover = coverBuf
|
d.cover = coverBuf
|
||||||
|
|
||||||
return nil
|
offsetAudioData := coverFrameStartOffset + int64(coverFrameLen) + 4
|
||||||
|
_, err = d.rd.Seek(offsetAudioData, io.SeekStart)
|
||||||
|
|
||||||
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Decoder) parseMeta() error {
|
func (d *Decoder) parseMeta() error {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ import (
|
|||||||
"unlock-music.dev/cli/internal/utils"
|
"unlock-music.dev/cli/internal/utils"
|
||||||
)
|
)
|
||||||
|
|
||||||
var AppVersion = "v0.2.1"
|
var AppVersion = "v0.2.2"
|
||||||
|
|
||||||
var logger, _ = logging.NewZapLogger() // TODO: inject logger to application, instead of using global logger
|
var logger, _ = logging.NewZapLogger() // TODO: inject logger to application, instead of using global logger
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user