interface.go 438 B

123456789101112131415161718192021222324252627282930
  1. package common
  2. import (
  3. "context"
  4. "io"
  5. )
  6. type StreamDecoder interface {
  7. Decrypt(buf []byte, offset int)
  8. }
  9. type Decoder interface {
  10. Validate() error
  11. io.Reader
  12. }
  13. type CoverImageGetter interface {
  14. GetCoverImage(ctx context.Context) ([]byte, error)
  15. }
  16. type AudioMeta interface {
  17. GetArtists() []string
  18. GetTitle() string
  19. GetAlbum() string
  20. }
  21. type AudioMetaGetter interface {
  22. GetAudioMeta(ctx context.Context) (AudioMeta, error)
  23. }