Documentation ¶
Index ¶
- func DetectAlgorithm(cpu *pem.Block, pu *pem.Block, sig []byte) *channel.HashAlgorithm
- func DownloadManifest(log hclog.Logger, certService string, certServiceSalt string) (map[string]string, error)
- func GetPort(addr net.Addr) int
- func MakeCertManifestPath(certManifestDir string, timestamp string) (*string, error)
- func NewLogger(name string) hclog.Logger
- func PrintCertificate(bytes []byte)
- func PrintManifest(manifest map[string]string)
- func ReadManifest(log hclog.Logger, certManifest string, fixNewlines bool) (map[string]string, error)
- func VerifySignature(manifest map[string]string, useSha256 bool)
- type Advertisement
- type Answer
- type Application
- type Audio
- type CastChannel
- type CastFeedback
- type CastTransport
- type Client
- type ClientConnection
- type Constraints
- type Decrypter
- type Device
- type DeviceInfoResponse
- type Dimensions
- type DiscoveryMessage
- type Display
- type GetAppAvailabilityRequest
- type GetAppAvailabilityResponse
- type GetStatusResponse
- type Namespace
- type Offer
- type Receiver
- type ReceiverMessage
- type Server
- type Session
- type SetupData
- type SetupDeviceInfo
- type SetupMessage
- type SetupResponse
- type Status
- type Stream
- type Subscription
- type SupportedStream
- type Transport
- type Video
- type Volume
- type WebrtcMessage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DetectAlgorithm ¶
func DownloadManifest ¶
func MakeCertManifestPath ¶
func PrintCertificate ¶
func PrintCertificate(bytes []byte)
func PrintManifest ¶
func ReadManifest ¶
func VerifySignature ¶
Types ¶
type Advertisement ¶
type Advertisement struct {
// contains filtered or unexported fields
}
func NewAdvertisement ¶
func NewAdvertisement(device *Device, port int) *Advertisement
func (*Advertisement) Stop ¶
func (advertisement *Advertisement) Stop()
type Application ¶
type CastChannel ¶
type CastChannel struct { Messages chan *channel.CastMessage // contains filtered or unexported fields }
func CreateCastChannel ¶
func CreateCastChannel(conn net.Conn, log hclog.Logger) CastChannel
func (*CastChannel) Send ¶
func (castChannel *CastChannel) Send(castMessage *channel.CastMessage) bool
type CastFeedback ¶
type CastFeedback struct { ReceiverSSRC uint32 SenderSSRC uint32 CkPtFrameId uint8 LossFields uint8 CurrentPlayoutDelay uint16 }
func (*CastFeedback) Header ¶
func (feedback *CastFeedback) Header() rtcp.Header
func (*CastFeedback) Marshal ¶
func (feedback *CastFeedback) Marshal() ([]byte, error)
func (*CastFeedback) String ¶
func (feedback *CastFeedback) String() string
func (*CastFeedback) Unmarshal ¶
func (feedback *CastFeedback) Unmarshal(rawPacket []byte) error
type CastTransport ¶
type CastTransport interface { HandleCastMessage(message *channel.CastMessage) TransportId() string }
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) SendMessage ¶
func (client *Client) SendMessage(castMessage *channel.CastMessage)
type ClientConnection ¶
type ClientConnection struct {
// contains filtered or unexported fields
}
func NewClientConnection ¶
type Constraints ¶
type Decrypter ¶
type Decrypter struct {
// contains filtered or unexported fields
}
func NewDecrypter ¶
type Device ¶
type Device struct { AvailableApps []string DeviceModel string FriendlyName string Id string Sessions map[string]*Session Udn string // contains filtered or unexported fields }
func (*Device) DisplayImage ¶
type DeviceInfoResponse ¶
type DeviceInfoResponse struct { *DiscoveryMessage ControlNotifications int `json:"controlNotifications"` DeviceCapabilities int `json:"deviceCapabilities"` DeviceIconUrl string `json:"deviceIconUrl"` DeviceId string `json:"deviceId"` DeviceModel string `json:"deviceModel"` FriendlyName string `json:"friendlyName"` ReceiverMetricsId string `json:"receiverMetricsId"` WifiProximityId string `json:"wifiProximityId"` }
type Dimensions ¶
type DiscoveryMessage ¶
type Display ¶
type Display struct { Dimensions Dimensions `json:"dimensions"` AspectRatio string `json:"aspectRatio"` Scaling string `json:"scaling"` }
type GetAppAvailabilityRequest ¶
type GetAppAvailabilityRequest struct { *ReceiverMessage AppId []string `json:"appId"` }
type GetAppAvailabilityResponse ¶
type GetAppAvailabilityResponse struct { *ReceiverMessage Availability map[string]string `json:"availability"` }
type GetStatusResponse ¶
type GetStatusResponse struct { *ReceiverMessage Status Status `json:"status"` }
type Offer ¶
type Offer struct { CastMode string `json:"castMode"` ReceiverGetStatus bool `json:"receiverGetStatus"` SupportedStreams []SupportedStream `json:"supportedStreams"` }
type Receiver ¶
type Receiver struct {
// contains filtered or unexported fields
}
func (*Receiver) HandleCastMessage ¶
func (receiver *Receiver) HandleCastMessage(castMessage *channel.CastMessage)
func (*Receiver) TransportId ¶
type ReceiverMessage ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
func (*Server) StopListening ¶
func (server *Server) StopListening()
type Session ¶
type Session struct { AppId string DisplayName string SessionId string StatusText string // contains filtered or unexported fields }
func NewSession ¶
func (*Session) HandleCastMessage ¶
func (session *Session) HandleCastMessage(castMessage *channel.CastMessage)
func (*Session) Namespaces ¶
func (*Session) TransportId ¶
type SetupData ¶
type SetupData struct { DeviceInfo SetupDeviceInfo `json:"device_info"` Name string `json:"name"` Version int `json:"version"` }
type SetupDeviceInfo ¶
type SetupDeviceInfo struct {
SsdpUdn string `json:"ssdp_udn"`
}
type SetupMessage ¶
type SetupResponse ¶
type SetupResponse struct { *SetupMessage Data SetupData `json:"data"` ResponseCode int `json:"response_code"` ResponseString string `json:"response_string"` }
type Status ¶
type Status struct { Applications []Application `json:"applications"` IsActiveInput bool `json:"isActiveInput"` Volume Volume `json:"volume"` }
type Subscription ¶
type Subscription struct {
// contains filtered or unexported fields
}
type SupportedStream ¶
type Video ¶
type Video struct { MaxDimensions *Dimensions `json:"maxDimensions"` MinDimensions *Dimensions `json:"minDimensions"` }
type WebrtcMessage ¶
Source Files ¶
Click to show internal directories.
Click to hide internal directories.