76 lines
1.9 KiB
Go
76 lines
1.9 KiB
Go
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
|
|
)
|