qmc

package
v0.2.17 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 9, 2025 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadMMKVOrDefault

func LoadMMKVOrDefault(path string, key string, logger *zap.Logger) (result common.QMCKeys, err error)

func NewDecoder

func NewDecoder(p *common.DecoderParams) common.Decoder

func NewQmcCipherDecoder

func NewQmcCipherDecoder(key []byte) (common.StreamDecoder, error)

func NewQmcCipherDecoderFromEKey

func NewQmcCipherDecoderFromEKey(ekey []byte) (common.StreamDecoder, error)

Types

type Decoder

type Decoder struct {
	// contains filtered or unexported fields
}

func (*Decoder) GetAudioMeta

func (d *Decoder) GetAudioMeta(ctx context.Context) (common.AudioMeta, error)

func (*Decoder) GetCoverImage

func (d *Decoder) GetCoverImage(ctx context.Context) ([]byte, error)

func (*Decoder) Read

func (d *Decoder) Read(p []byte) (int, error)

Read implements io.Reader, offer the decrypted audio data. Validate should call before Read to check if the file is valid.

func (*Decoder) Validate

func (d *Decoder) Validate() error

type MusicExTagV1

type MusicExTagV1 struct {
	SongID        uint32 // Song ID
	Unknown1      uint32 // unused & unknown
	Unknown2      uint32 // unused & unknown
	MediaID       string // Media ID
	MediaFileName string // real file name
	Unknown3      uint32 // unused; uninitialized memory?

	// 16 byte at the end of tag.
	// TagSize should be respected when parsing.
	TagSize    uint32 // 19.57: fixed value: 0xC0
	TagVersion uint32 // 19.57: fixed value: 0x01
	TagMagic   []byte // fixed value "musicex\0" (8 bytes)
}

func NewMusicExTag

func NewMusicExTag(f io.ReadSeeker) (*MusicExTagV1, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL