import "41.neocities.org/media/canal"
type Byte[T any] []byte
type Fields []string
func (f *Fields) New(address string) error
func (f Fields) ObjectIds() string
type Play struct { Drm struct { LicenseUrl string } Message string Url string // MPD }
func (p *Play) Unmarshal(data Byte[Play]) error
func (p *Play) Widevine(data []byte) ([]byte, error)
type Session struct { Message string Token string }
func (s *Session) Play(object_id string) (Byte[Play], error)
type Ticket struct { Message string Ticket string }
func (t *Ticket) New() error
func (t *Ticket) Token(username, password string) (Byte[Token], error)
type Token struct { Label string SsoToken string }
func (t Token) Session() (*Session, error)
func (t *Token) Unmarshal(data Byte[Token]) error
canal.go