package fcast const ( DefaultPort = 46899 ) type PlayMessage struct { Container string `json:"container"` Url string `json:"url,omitempty"` Content string `json:"content,omitempty"` Time int `json:"time"` // start time of playback (s) Speed float32 `json:"speed,omitempty"` // 1=100%, 1 is default Headers map[string]string `json:"headers,omitempty"` // headers to be passed to the server when requesting media } type SeekMessage struct { Time int `json:"time"` // time to seek in seconds } type PlaybackUpdateMessage struct { GenerationTime int64 `json:"generationTime"` // generation time in UNIX (ms) Time float32 `json:"time"` // current time playing (s) Duration float32 `json:"duration"` State PlaybackState `json:"state"` } type SetVolumeMessage struct { Volume float32 `json:"volume"` // range: 0-1 } type VolumeUpdateMessage struct { GenerationTime int64 `json:"generationTime"` Volume float32 `json:"volume"` // range: 0-1 } type SetSpeedMessage struct { Speed float32 `json:"speed"` } type PlaybackErrorMessage struct { Message string `json:"message"` } type VersionMessage struct { Version float32 `json:"version"` } type PauseMessage struct{} type ResumeMessage struct{} type StopMessage struct{} type PingMessage struct{} type PongMessage struct{} type PlaybackState uint8 const ( Play OpCode = 1 Pause OpCode = 2 Resume OpCode = 3 Stop OpCode = 4 Seek OpCode = 5 PlaybackUpdate OpCode = 6 VolumeUpdate OpCode = 7 SetVolume OpCode = 8 PlaybackError OpCode = 9 SetSpeed OpCode = 10 Version OpCode = 11 Ping OpCode = 12 Pong OpCode = 13 ) const ( Idle PlaybackState = 0 Playing PlaybackState = 1 Paused PlaybackState = 2 )