Documentation
¶
Index ¶
- Constants
- type AppAvailabilityRequest
- type AppAvailabilityResponse
- type ApplicationSession
- type ConnectionController
- type Controller
- type HeartbeatController
- type LaunchRequest
- type LoadMediaCommand
- type LoadURLCommand
- type MediaCommand
- type MediaController
- func (c *MediaController) Close() error
- func (c *MediaController) GetStatus(ctx context.Context) (*MediaStatusResponse, error)
- func (c *MediaController) LoadMedia(ctx context.Context, media MediaItem, currentTime int, autoplay bool, ...) (*api.CastMessage, error)
- func (c *MediaController) Pause(ctx context.Context) (*api.CastMessage, error)
- func (c *MediaController) Play(ctx context.Context) (*api.CastMessage, error)
- func (c *MediaController) SetDestinationID(id string)
- func (c *MediaController) Start(ctx context.Context) error
- func (c *MediaController) Stop(ctx context.Context) (*api.CastMessage, error)
- type MediaItem
- type MediaStatus
- type MediaStatusMedia
- type MediaStatusResponse
- type Namespace
- type ReceiverController
- func (c *ReceiverController) GetAppAvailability(ctx context.Context, appId string) (bool, error)
- func (c *ReceiverController) GetStatus(ctx context.Context) (*ReceiverStatus, error)
- func (c *ReceiverController) GetVolume(ctx context.Context) (*Volume, error)
- func (c *ReceiverController) LaunchApp(ctx context.Context, appId string) (*ReceiverStatus, error)
- func (c *ReceiverController) QuitApp(ctx context.Context) (*api.CastMessage, error)
- func (c *ReceiverController) SetVolume(ctx context.Context, volume *Volume) (*api.CastMessage, error)
- func (c *ReceiverController) Start(ctx context.Context) error
- type ReceiverStatus
- type StatusResponse
- type URLController
- type URLStatus
- type URLStatusResponse
- type URLStatusURL
- type Volume
Constants ¶
View Source
const NamespaceMedia = "urn:x-cast:com.google.cast.media"
View Source
const NamespaceURL = "urn:x-cast:com.url.cast"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppAvailabilityRequest ¶
type AppAvailabilityRequest struct { net.PayloadHeaders AppId []*string `json:"appId"` }
type AppAvailabilityResponse ¶
type AppAvailabilityResponse struct { net.PayloadHeaders Availability map[string]string `json:"availability"` }
type ApplicationSession ¶
type ApplicationSession struct { AppID *string `json:"appId,omitempty"` DisplayName *string `json:"displayName,omitempty"` Namespaces []*Namespace `json:"namespaces"` SessionID *string `json:"sessionId,omitempty"` StatusText *string `json:"statusText,omitempty"` TransportId *string `json:"transportId,omitempty"` }
type ConnectionController ¶
type ConnectionController struct {
// contains filtered or unexported fields
}
func NewConnectionController ¶
func NewConnectionController(conn *net.Connection, eventsCh chan events.Event, sourceId, destinationId string) *ConnectionController
func (*ConnectionController) Close ¶
func (c *ConnectionController) Close() error
type Controller ¶
type HeartbeatController ¶
type HeartbeatController struct {
// contains filtered or unexported fields
}
func NewHeartbeatController ¶
func NewHeartbeatController(conn *net.Connection, eventsCh chan events.Event, sourceId, destinationId string) *HeartbeatController
func (*HeartbeatController) Stop ¶
func (c *HeartbeatController) Stop()
type LaunchRequest ¶
type LaunchRequest struct { net.PayloadHeaders AppId string `json:"appId"` }
type LoadMediaCommand ¶
type LoadMediaCommand struct { net.PayloadHeaders Media MediaItem `json:"media"` CurrentTime int `json:"currentTime"` Autoplay bool `json:"autoplay"` CustomData interface{} `json:"customData"` }
type LoadURLCommand ¶
type LoadURLCommand struct { net.PayloadHeaders URL string `json:"url"` Type string `json:"type"` }
type MediaCommand ¶
type MediaCommand struct { net.PayloadHeaders MediaSessionID int `json:"mediaSessionId"` }
type MediaController ¶
type MediaController struct { DestinationID string MediaSessionID int // contains filtered or unexported fields }
func NewMediaController ¶
func NewMediaController(conn *net.Connection, eventsCh chan events.Event, sourceId, destinationID string) *MediaController
func (*MediaController) Close ¶
func (c *MediaController) Close() error
func (*MediaController) GetStatus ¶
func (c *MediaController) GetStatus(ctx context.Context) (*MediaStatusResponse, error)
func (*MediaController) LoadMedia ¶
func (c *MediaController) LoadMedia(ctx context.Context, media MediaItem, currentTime int, autoplay bool, customData interface{}) (*api.CastMessage, error)
func (*MediaController) Pause ¶
func (c *MediaController) Pause(ctx context.Context) (*api.CastMessage, error)
func (*MediaController) Play ¶
func (c *MediaController) Play(ctx context.Context) (*api.CastMessage, error)
func (*MediaController) SetDestinationID ¶
func (c *MediaController) SetDestinationID(id string)
func (*MediaController) Stop ¶
func (c *MediaController) Stop(ctx context.Context) (*api.CastMessage, error)
type MediaStatus ¶
type MediaStatus struct { net.PayloadHeaders MediaSessionID int `json:"mediaSessionId"` PlaybackRate float64 `json:"playbackRate"` PlayerState string `json:"playerState"` CurrentTime float64 `json:"currentTime"` SupportedMediaCommands int `json:"supportedMediaCommands"` Volume *Volume `json:"volume,omitempty"` Media *MediaStatusMedia `json:"media"` CustomData map[string]interface{} `json:"customData"` RepeatMode string `json:"repeatMode"` IdleReason string `json:"idleReason"` }
type MediaStatusMedia ¶
type MediaStatusResponse ¶
type MediaStatusResponse struct { net.PayloadHeaders Status []*MediaStatus `json:"status,omitempty"` }
type ReceiverController ¶
type ReceiverController struct {
// contains filtered or unexported fields
}
func NewReceiverController ¶
func NewReceiverController(conn *net.Connection, eventsCh chan events.Event, sourceId, destinationId string) *ReceiverController
func (*ReceiverController) GetAppAvailability ¶
func (*ReceiverController) GetStatus ¶
func (c *ReceiverController) GetStatus(ctx context.Context) (*ReceiverStatus, error)
func (*ReceiverController) GetVolume ¶
func (c *ReceiverController) GetVolume(ctx context.Context) (*Volume, error)
func (*ReceiverController) LaunchApp ¶
func (c *ReceiverController) LaunchApp(ctx context.Context, appId string) (*ReceiverStatus, error)
func (*ReceiverController) QuitApp ¶
func (c *ReceiverController) QuitApp(ctx context.Context) (*api.CastMessage, error)
func (*ReceiverController) SetVolume ¶
func (c *ReceiverController) SetVolume(ctx context.Context, volume *Volume) (*api.CastMessage, error)
type ReceiverStatus ¶
type ReceiverStatus struct { net.PayloadHeaders Applications []*ApplicationSession `json:"applications"` Volume *Volume `json:"volume,omitempty"` }
func (*ReceiverStatus) GetSessionByAppId ¶
func (s *ReceiverStatus) GetSessionByAppId(appId string) *ApplicationSession
func (*ReceiverStatus) GetSessionByNamespace ¶
func (s *ReceiverStatus) GetSessionByNamespace(namespace string) *ApplicationSession
type StatusResponse ¶
type StatusResponse struct { net.PayloadHeaders Status *ReceiverStatus `json:"status,omitempty"` }
type URLController ¶
type URLController struct { DestinationID string URLSessionID int // contains filtered or unexported fields }
func NewURLController ¶
func NewURLController(conn *net.Connection, eventsCh chan events.Event, sourceId, destinationID string) *URLController
func (*URLController) GetStatus ¶
func (c *URLController) GetStatus(ctx context.Context) (*URLStatusResponse, error)
func (*URLController) LoadURL ¶
func (c *URLController) LoadURL(ctx context.Context, url string) (*api.CastMessage, error)
func (*URLController) SetDestinationID ¶
func (c *URLController) SetDestinationID(id string)
type URLStatus ¶
type URLStatus struct { net.PayloadHeaders URLSessionID int `json:"mediaSessionId"` PlaybackRate float64 `json:"playbackRate"` PlayerState string `json:"playerState"` CurrentTime float64 `json:"currentTime"` SupportedURLCommands int `json:"supportedURLCommands"` Volume *Volume `json:"volume,omitempty"` URL *URLStatusURL `json:"media"` CustomData map[string]interface{} `json:"customData"` RepeatMode string `json:"repeatMode"` IdleReason string `json:"idleReason"` }
type URLStatusResponse ¶
type URLStatusResponse struct { net.PayloadHeaders Status []*URLStatus `json:"status,omitempty"` }
type URLStatusURL ¶
Click to show internal directories.
Click to hide internal directories.