controllers

package
v0.0.0-...-db5e915 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 3, 2019 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

View Source
const NamespaceMedia = "urn:x-cast:com.google.cast.media"

Variables

This section is empty.

Functions

This section is empty.

Types

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

func (*ConnectionController) Start

func (c *ConnectionController) Start(ctx context.Context) error

type Controller

type Controller interface {
	Start(ctx context.Context) error
}

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) Start

func (c *HeartbeatController) Start(ctx context.Context) error

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 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) GetStatus

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 (*MediaController) SetDestinationID

func (c *MediaController) SetDestinationID(id string)

func (*MediaController) Start

func (c *MediaController) Start(ctx context.Context) error

func (*MediaController) Stop

type MediaItem

type MediaItem struct {
	ContentId   string `json:"contentId"`
	StreamType  string `json:"streamType"`
	ContentType string `json:"contentType"`
}

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 MediaStatusMedia struct {
	ContentId   string  `json:"contentId"`
	StreamType  string  `json:"streamType"`
	ContentType string  `json:"contentType"`
	Duration    float64 `json:"duration"`
}

type MediaStatusResponse

type MediaStatusResponse struct {
	net.PayloadHeaders
	Status []*MediaStatus `json:"status,omitempty"`
}

type Namespace

type Namespace struct {
	Name string `json:"name"`
}

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) 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)

func (*ReceiverController) Start

func (c *ReceiverController) Start(ctx context.Context) 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 Volume

type Volume struct {
	Level *float64 `json:"level,omitempty"`
	Muted *bool    `json:"muted,omitempty"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL