func AcquireWidevineLicense(mediaData *Media, userData *User, body []byte) ([]byte, error)
func ParsePath(rawUrl string) (string, error)
https://watch.plex.tv/embed/movie/memento-2000 https://watch.plex.tv/movie/memento-2000 https://watch.plex.tv/watch/movie/memento-2000
type MatchContainer struct { Metadata []MatchItem `json:"Metadata"` }
func GetMetadataMatches(urlPath string, userData *User) (*MatchContainer, error)
type MatchItem struct { Key string `json:"key"` RatingKey string `json:"ratingKey"` Title string `json:"title"` Type string `json:"type"` }
type Media struct { Id string `json:"id"` Protocol string `json:"protocol"` Part []VodPart `json:"Part"` }
func (*Media) CachePath() string
func (m *Media) GetManifest(userData *User) *url.URL
type MetadataItem struct { Title string `json:"title"` Media []Media `json:"Media"` }
type User struct { Id int `json:"id"` Uuid string `json:"uuid"` AuthToken string `json:"authToken"` }
func CreateUser() (*User, error)
func (*User) CachePath() string
type VodMetadata struct { Metadata []MetadataItem `json:"Metadata"` }
func GetVodMetadata(match *MatchItem, userData *User) (*VodMetadata, error)
func (vod *VodMetadata) GetDash() (*Media, error)
type VodPart struct { Id string `json:"id"` Key string `json:"key"` License string `json:"license"` }