parent
1aa5731225
commit
d5031e1935
@ -0,0 +1,12 @@
|
||||
package common
|
||||
|
||||
type NewDecoderFunc func([]byte) Decoder
|
||||
|
||||
var decoderRegistry = make(map[string][]NewDecoderFunc)
|
||||
|
||||
func RegisterDecoder(ext string, dispatchFunc NewDecoderFunc) {
|
||||
decoderRegistry[ext] = append(decoderRegistry[ext], dispatchFunc)
|
||||
}
|
||||
func GetDecoder(ext string) []NewDecoderFunc {
|
||||
return decoderRegistry[ext]
|
||||
}
|
@ -0,0 +1,41 @@
|
||||
package common
|
||||
|
||||
type RawDecoder struct {
|
||||
file []byte
|
||||
}
|
||||
|
||||
func NewRawDecoder(file []byte) Decoder {
|
||||
return &RawDecoder{file: file}
|
||||
}
|
||||
|
||||
func (d RawDecoder) Validate() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d RawDecoder) Decode() error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d RawDecoder) GetCoverImage() []byte {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (d RawDecoder) GetAudioData() []byte {
|
||||
return d.file
|
||||
}
|
||||
|
||||
func (d RawDecoder) GetAudioExt() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (d RawDecoder) GetMeta() Meta {
|
||||
return nil
|
||||
}
|
||||
|
||||
func init() {
|
||||
RegisterDecoder("mp3", NewRawDecoder)
|
||||
RegisterDecoder("flac", NewRawDecoder)
|
||||
RegisterDecoder("wav", NewRawDecoder)
|
||||
RegisterDecoder("ogg", NewRawDecoder)
|
||||
RegisterDecoder("m4a", NewRawDecoder)
|
||||
}
|
Loading…
Reference in New Issue