1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
13 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.AutoJoinPolicy
15 chrome
.cast
.AutoJoinPolicy
= {
16 TAB_AND_ORIGIN_SCOPED
: 'tab_and_origin_scoped',
17 ORIGIN_SCOPED
: 'origin_scoped',
18 PAGE_SCOPED
: 'page_scoped'
24 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.DefaultActionPolicy
26 chrome
.cast
.DefaultActionPolicy
= {
27 CREATE_SESSION
: 'create_session',
28 CAST_THIS_TAB
: 'cast_this_tab'
34 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Capability
36 chrome
.cast
.Capability
= {
37 VIDEO_OUT
: 'video_out',
38 AUDIO_OUT
: 'audio_out',
46 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ErrorCode
48 chrome
.cast
.ErrorCode
= {
51 API_NOT_INITIALIZED
: 'api_not_initialized',
52 INVALID_PARAMETER
: 'invalid_parameter',
53 EXTENSION_NOT_COMPATIBLE
: 'extension_not_compatible',
54 EXTENSION_MISSING
: 'extension_missing',
55 RECEIVER_UNAVAILABLE
: 'receiver_unavailable',
56 SESSION_ERROR
: 'session_error',
57 CHANNEL_ERROR
: 'channel_error',
58 LOAD_MEDIA_FAILED
: 'load_media_failed'
64 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAvailability
66 chrome
.cast
.ReceiverAvailability
= {
67 AVAILABLE
: 'available',
68 UNAVAILABLE
: 'unavailable'
74 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderPlatform
76 chrome
.cast
.SenderPlatform
= {
85 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverType
87 chrome
.cast
.ReceiverType
= {
96 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverAction
98 chrome
.cast
.ReceiverAction
= {
106 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionStatus
108 chrome
.cast
.SessionStatus
= {
109 CONNECTED
: 'connected',
110 DISCONNECTED
: 'disconnected',
118 chrome
.cast
.media
= {};
123 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaCommand
125 chrome
.cast
.media
.MediaCommand
= {
128 STREAM_VOLUME
: 'stream_volume',
129 STREAM_MUTE
: 'stream_mute'
135 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MetadataType
137 chrome
.cast
.media
.MetadataType
= {
148 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayerState
150 chrome
.cast
.media
.PlayerState
= {
154 BUFFERING
: 'BUFFERING'
160 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.ResumeState
162 chrome
.cast
.media
.ResumeState
= {
163 PLAYBACK_START
: 'PLAYBACK_START',
164 PLAYBACK_PAUSE
: 'PLAYBACK_PAUSE'
170 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StreamType
172 chrome
.cast
.media
.StreamType
= {
173 BUFFERED
: 'BUFFERED',
181 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.IdleReason
183 chrome
.cast
.media
.IdleReason
= {
184 CANCELLED
: 'CANCELLED',
185 INTERRUPTED
: 'INTERRUPTED',
186 FINISHED
: 'FINISHED',
193 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TrackType
195 chrome
.cast
.media
.TrackType
= {
204 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackType
206 chrome
.cast
.media
.TextTrackType
= {
207 SUBTITLES
: 'SUBTITLES',
208 CAPTIONS
: 'CAPTIONS',
209 DESCRIPTIONS
: 'DESCRIPTIONS',
210 CHAPTERS
: 'CHAPTERS',
217 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackEdgeType
219 chrome
.cast
.media
.TextTrackEdgeType
= {
222 DROP_SHADOW
: 'DROP_SHADOW',
224 DEPRESSED
: 'DEPRESSED'
230 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackWindowType
232 chrome
.cast
.media
.TextTrackWindowType
= {
235 ROUNDED_CORNERS
: 'ROUNDED_CORNERS'
241 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontGenericFamily
243 chrome
.cast
.media
.TextTrackFontGenericFamily
= {
244 SANS_SERIF
: 'SANS_SERIF',
245 MONOSPACED_SANS_SERIF
: 'MONOSPACED_SANS_SERIF',
247 MONOSPACED_SERIF
: 'MONOSPACED_SERIF',
250 SMALL_CAPITALS
: 'SMALL_CAPITALS'
256 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackFontStyle
258 chrome
.cast
.media
.TextTrackFontStyle
= {
261 BOLD_ITALIC
: 'BOLD_ITALIC',
267 * @param {!chrome.cast.ErrorCode} code
268 * @param {string=} opt_description
269 * @param {Object=} opt_details
271 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Error
273 chrome
.cast
.Error = function(code
, opt_description
, opt_details
) {}
275 /** @type {!chrome.cast.ErrorCode} */
276 chrome
.cast
.Error
.prototype.code
;
278 /** @type {?string} */
279 chrome
.cast
.Error
.prototype.description
;
281 /** @type {Object} */
282 chrome
.cast
.Error
.prototype.details
;
286 * @param {!chrome.cast.SenderPlatform} platform
288 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SenderApplication
290 chrome
.cast
.SenderApplication = function(platform
) {};
292 /** @type {!chrome.cast.SenderPlatform} */
293 chrome
.cast
.SenderApplication
.prototype.platform
;
295 /** @type {?string} */
296 chrome
.cast
.SenderApplication
.prototype.url
;
298 /** @type {?string} */
299 chrome
.cast
.SenderApplication
.prototype.packageId
;
303 * @param {string} url
305 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Image
307 chrome
.cast
.Image = function(url
) {};
309 /** @type {string} */
310 chrome
.cast
.Image
.prototype.url
;
312 /** @type {?number} */
313 chrome
.cast
.Image
.prototype.height
;
315 /** @type {?number} */
316 chrome
.cast
.Image
.prototype.width
;
320 * @param {?number=} opt_level
321 * @param {?boolean=} opt_muted
323 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Volume
325 chrome
.cast
.Volume = function(opt_level
, opt_muted
) {};
327 /** @type {?number} */
328 chrome
.cast
.Volume
.prototype.level
;
330 /** @type {?boolean} */
331 chrome
.cast
.Volume
.prototype.muted
;
335 * @param {!chrome.cast.SessionRequest} sessionRequest
336 * @param {function(!chrome.cast.Session)} sessionListener
337 * @param {function(!chrome.cast.ReceiverAvailability,Array<Object>)}
339 * @param {chrome.cast.AutoJoinPolicy=} opt_autoJoinPolicy
340 * @param {chrome.cast.DefaultActionPolicy=} opt_defaultActionPolicy
342 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ApiConfig
344 chrome
.cast
.ApiConfig = function(sessionRequest
, sessionListener
,
345 receiverListener
, opt_autoJoinPolicy
, opt_defaultActionPolicy
) {};
347 /** @type {!chrome.cast.SessionRequest} */
348 chrome
.cast
.ApiConfig
.prototype.sessionRequest
;
350 /** @type {function(!chrome.cast.Session)} */
351 chrome
.cast
.ApiConfig
.prototype.sessionListener
;
353 /** @type {function(!chrome.cast.ReceiverAvailability)} */
354 chrome
.cast
.ApiConfig
.prototype.receiverListener
;
356 /** @type {!chrome.cast.AutoJoinPolicy} */
357 chrome
.cast
.ApiConfig
.prototype.autoJoinPolicy
;
359 /** @type {!chrome.cast.DefaultActionPolicy} */
360 chrome
.cast
.ApiConfig
.prototype.defaultActionPolicy
;
364 * @param {string} appId
365 * @param {!Array<chrome.cast.Capability>=} opt_capabilities
366 * @param {number=} opt_timeout
368 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.SessionRequest
370 chrome
.cast
.SessionRequest = function(appId
, opt_capabilities
, opt_timeout
) {};
372 /** @type {string} */
373 chrome
.cast
.SessionRequest
.prototype.appId
;
375 /** @type {!Array<chrome.cast.Capability>} */
376 chrome
.cast
.SessionRequest
.prototype.capabilities
;
378 /** @type {number} */
379 chrome
.cast
.SessionRequest
.prototype.requestSessionTimeout
;
381 /** @type {?string} */
382 chrome
.cast
.SessionRequest
.prototype.language
;
386 * @param {string} label
387 * @param {string} friendlyName
388 * @param {Array<chrome.cast.Capability>=} opt_capabilities
389 * @param {chrome.cast.Volume=} opt_volume
391 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Receiver
393 chrome
.cast
.Receiver
=
394 function(label
, friendlyName
, opt_capabilities
, opt_volume
) {};
396 /** @type {string} */
397 chrome
.cast
.Receiver
.prototype.label
;
399 /** @type {string} */
400 chrome
.cast
.Receiver
.prototype.friendlyName
;
402 /** @type {!Array<!chrome.cast.Capability>} */
403 chrome
.cast
.Receiver
.prototype.capabilities
;
405 /** @type {chrome.cast.Volume} */
406 chrome
.cast
.Receiver
.prototype.volume
;
408 /** @type {!chrome.cast.ReceiverType} */
409 chrome
.cast
.Receiver
.prototype.receiverType
;
411 /** @type {chrome.cast.ReceiverDisplayStatus} */
412 chrome
.cast
.Receiver
.prototype.displayStatus
;
416 * @param {string} statusText
417 * @param {!Array<chrome.cast.Image>} appImages
419 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.ReceiverDisplayStatus
421 chrome
.cast
.ReceiverDisplayStatus = function(statusText
, appImages
) {};
423 /** @type {string} */
424 chrome
.cast
.ReceiverDisplayStatus
.prototype.statusText
;
426 /** @type {!Array<chrome.cast.Image>} */
427 chrome
.cast
.ReceiverDisplayStatus
.prototype.appImages
;
431 * @param {string} sessionId
432 * @param {string} appId
433 * @param {string} displayName
434 * @param {!Array<chrome.cast.Image>} appImages
435 * @param {!chrome.cast.Receiver} receiver
437 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.Session
439 chrome
.cast
.Session
=
440 function(sessionId
, appId
, displayName
, appImages
, receiver
) {};
442 /** @type {string} */
443 chrome
.cast
.Session
.prototype.sessionId
;
445 /** @type {string} */
446 chrome
.cast
.Session
.prototype.appId
;
448 /** @type {string} */
449 chrome
.cast
.Session
.prototype.displayName
;
451 /** @type {?string} */
452 chrome
.cast
.Session
.prototype.statusText
;
454 /** @type {!Array<chrome.cast.Image>} */
455 chrome
.cast
.Session
.prototype.appImages
;
457 /** @type {!chrome.cast.Receiver} */
458 chrome
.cast
.Session
.prototype.receiver
;
460 /** @type {!Array<!chrome.cast.SenderApplication>} The applications. */
461 chrome
.cast
.Session
.prototype.senderApps
;
463 /** @type {!Array<!{name: string}>} The namespaces. */
464 chrome
.cast
.Session
.prototype.namespaces
;
466 /** @type {!Array<!chrome.cast.media.Media>} */
467 chrome
.cast
.Session
.prototype.media
;
469 /** @type {!chrome.cast.SessionStatus} */
470 chrome
.cast
.Session
.prototype.status
;
473 * @param {number} newLevel
474 * @param {function()} successCallback
475 * @param {function(chrome.cast.Error)} errorCallback
477 chrome
.cast
.Session
.prototype.setReceiverVolumeLevel
=
478 function(newLevel
, successCallback
, errorCallback
) {};
481 * @param {boolean} muted
482 * @param {function()} successCallback
483 * @param {function(chrome.cast.Error)} errorCallback
485 chrome
.cast
.Session
.prototype.setReceiverMuted
=
486 function(muted
, successCallback
, errorCallback
) {};
489 * @param {function()} successCallback
490 * @param {function(chrome.cast.Error)} errorCallback
492 chrome
.cast
.Session
.prototype.leave
=
493 function(successCallback
, errorCallback
) {};
496 * @param {function()} successCallback
497 * @param {function(chrome.cast.Error)} errorCallback
499 chrome
.cast
.Session
.prototype.stop
=
500 function(successCallback
, errorCallback
) {};
503 * @param {string} namespace
504 * @param {!Object|string} message
505 * @param {!function()} successCallback
506 * @param {function(!chrome.cast.Error)} errorCallback
508 chrome
.cast
.Session
.prototype.sendMessage
=
509 function(namespace, message
, successCallback
, errorCallback
) {};
512 * @param {function(boolean)} listener
514 chrome
.cast
.Session
.prototype.addUpdateListener = function(listener
) {};
517 * @param {function(boolean)} listener
519 chrome
.cast
.Session
.prototype.removeUpdateListener = function(listener
) {};
522 * @param {string} namespace
523 * @param {function(string,string)} listener
525 chrome
.cast
.Session
.prototype.addMessageListener
=
526 function(namespace, listener
) {};
529 * @param {string} namespace
530 * @param {function(string,string)} listener
532 chrome
.cast
.Session
.prototype.removeMessageListener
=
533 function(namespace, listener
) {};
536 * @param {function(!chrome.cast.media.Media)} listener
538 chrome
.cast
.Session
.prototype.addMediaListener = function(listener
) {};
541 * @param {function(chrome.cast.media.Media)} listener
543 chrome
.cast
.Session
.prototype.removeMediaListener = function(listener
) {};
546 * @param {!chrome.cast.media.LoadRequest} loadRequest
547 * @param {function(!chrome.cast.media.Media)} successCallback
548 * @param {function(!chrome.cast.Error)} errorCallback
550 chrome
.cast
.Session
.prototype.loadMedia
=
551 function(loadRequest
, successCallback
, errorCallback
) {};
556 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.timeout
558 chrome
.cast
.timeout
= {};
562 * @const {!Array<number>}
563 * @see https://developers.google.com/cast/docs/reference/chrome/
569 * @typedef {!function(?chrome.cast.Receiver, !chrome.cast.ReceiverAction)}
571 chrome
.cast
.ReceiverActionListener
;
577 chrome
.cast
.isAvailable
= false;
581 * @param {!chrome.cast.ApiConfig} apiConfig
582 * @param {function()} successCallback
583 * @param {function(chrome.cast.Error)} errorCallback
585 chrome
.cast
.initialize = function(apiConfig
, successCallback
, errorCallback
) {};
589 * @param {function(!chrome.cast.Session)} successCallback
590 * @param {function(chrome.cast.Error)} errorCallback
591 * @param {chrome.cast.SessionRequest=} opt_sessionRequest
592 * @param {string=} opt_label
594 chrome
.cast
.requestSession = function(
595 successCallback
, errorCallback
, opt_sessionRequest
, opt_label
) {};
599 * @param {string} sessionId The id of the session to join.
601 chrome
.cast
.requestSessionById = function(sessionId
) {};
605 * @param {chrome.cast.ReceiverActionListener} listener
607 chrome
.cast
.addReceiverActionListener = function(listener
) {};
611 * @param {chrome.cast.ReceiverActionListener} listener
613 chrome
.cast
.removeReceiverActionListener = function(listener
) {};
617 * @param {string} message The message to log.
619 chrome
.cast
.logMessage = function(message
) {};
623 * @param {!Array<chrome.cast.Receiver>} receivers
624 * @param {function()} successCallback
625 * @param {function(chrome.cast.Error)} errorCallback
627 chrome
.cast
.setCustomReceivers
=
628 function(receivers
, successCallback
, errorCallback
) {};
632 * @param {!chrome.cast.Receiver} receiver
633 * @param {function()} successCallback
634 * @param {function(chrome.cast.Error)} errorCallback
636 chrome
.cast
.setReceiverDisplayStatus
=
637 function(receiver
, successCallback
, errorCallback
) {};
642 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GetStatusRequest
644 chrome
.cast
.media
.GetStatusRequest = function() {};
646 /** @type {Object} */
647 chrome
.cast
.media
.GetStatusRequest
.prototype.customData
;
652 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PauseRequest
654 chrome
.cast
.media
.PauseRequest = function() {};
656 /** @type {Object} */
657 chrome
.cast
.media
.PauseRequest
.prototype.customData
;
662 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PlayRequest
664 chrome
.cast
.media
.PlayRequest = function() {};
666 /** @type {Object} */
667 chrome
.cast
.media
.PlayRequest
.prototype.customData
;
672 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.SeekRequest
674 chrome
.cast
.media
.SeekRequest = function() {};
676 /** @type {?number} */
677 chrome
.cast
.media
.SeekRequest
.prototype.currentTime
;
679 /** @type {?chrome.cast.media.ResumeState} */
680 chrome
.cast
.media
.SeekRequest
.prototype.resumeState
;
682 /** @type {Object} */
683 chrome
.cast
.media
.SeekRequest
.prototype.customData
;
688 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.StopRequest
690 chrome
.cast
.media
.StopRequest = function() {};
692 /** @type {Object} */
693 chrome
.cast
.media
.StopRequest
.prototype.customData
;
697 * @param {!chrome.cast.Volume} volume
699 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.VolumeRequest
701 chrome
.cast
.media
.VolumeRequest = function(volume
) {};
703 /** @type {!chrome.cast.Volume} */
704 chrome
.cast
.media
.VolumeRequest
.prototype.volume
= volume
;
706 /** @type {Object} */
707 chrome
.cast
.media
.VolumeRequest
.prototype.customData
;
711 * @param {!chrome.cast.media.MediaInfo} mediaInfo
713 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.LoadRequest
715 chrome
.cast
.media
.LoadRequest = function(mediaInfo
) {};
717 /** @type {Array<number>} */
718 chrome
.cast
.media
.LoadRequest
.prototype.activeTrackIds
;
720 /** @type {boolean} */
721 chrome
.cast
.media
.LoadRequest
.prototype.autoplay
;
723 /** @type {?number} */
724 chrome
.cast
.media
.LoadRequest
.prototype.currentTime
;
726 /** @type {Object} */
727 chrome
.cast
.media
.LoadRequest
.prototype.customData
;
729 /** @type {!chrome.cast.media.MediaInfo} */
730 chrome
.cast
.media
.LoadRequest
.prototype.media
;
734 * @param {Array<number>=} opt_activeTrackIds
735 * @param {chrome.cast.media.TextTrackStyle=} opt_textTrackStyle
737 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.EditTracksInfoRequest
739 chrome
.cast
.media
.EditTracksInfoRequest
=
740 function(opt_activeTrackIds
, opt_textTrackStyle
) {};
742 /** @type {Array<number>} */
743 chrome
.cast
.media
.EditTracksInfoRequest
.prototype.activeTrackIds
;
745 /** @type {?chrome.cast.media.TextTrackStyle} */
746 chrome
.cast
.media
.EditTracksInfoRequest
.prototype.textTrackStyle
;
751 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.GenericMediaMetadata
753 chrome
.cast
.media
.GenericMediaMetadata = function() {};
755 /** @type {chrome.cast.media.MetadataType} */
756 chrome
.cast
.media
.GenericMediaMetadata
.prototype.metadataType
;
758 /** @type {?string} */
759 chrome
.cast
.media
.GenericMediaMetadata
.prototype.title
;
761 /** @type {?string} */
762 chrome
.cast
.media
.GenericMediaMetadata
.prototype.subtitle
;
764 /** @type {Array<chrome.cast.Image>} */
765 chrome
.cast
.media
.GenericMediaMetadata
.prototype.images
;
767 /** @type {?string} */
768 chrome
.cast
.media
.GenericMediaMetadata
.prototype.releaseDate
;
771 * @type {chrome.cast.media.MetadataType}
772 * @deprecated Please use metadataType instead.
774 chrome
.cast
.media
.GenericMediaMetadata
.prototype.type
;
778 * @deprecated Use releaseDate instead.
780 chrome
.cast
.media
.GenericMediaMetadata
.prototype.releaseYear
;
785 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MovieMediaMetadata
787 chrome
.cast
.media
.MovieMediaMetadata = function() {};
789 /** @type {chrome.cast.media.MetadataType} */
790 chrome
.cast
.media
.MovieMediaMetadata
.prototype.metadataType
;
792 /** @type {?string} */
793 chrome
.cast
.media
.MovieMediaMetadata
.prototype.title
;
795 /** @type {?string} */
796 chrome
.cast
.media
.MovieMediaMetadata
.prototype.studio
;
798 /** @type {?string} */
799 chrome
.cast
.media
.MovieMediaMetadata
.prototype.subtitle
;
801 /** @type {Array<chrome.cast.Image>} */
802 chrome
.cast
.media
.MovieMediaMetadata
.prototype.images
;
804 /** @type {?string} */
805 chrome
.cast
.media
.MovieMediaMetadata
.prototype.releaseDate
;
808 * @type {chrome.cast.media.MetadataType}
809 * @deprecated Please use metadataType instead.
811 chrome
.cast
.media
.MovieMediaMetadata
.prototype.type
;
815 * @deprecated Use releaseDate instead.
817 chrome
.cast
.media
.MovieMediaMetadata
.prototype.releaseYear
;
822 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TvShowMediaMetadata
824 chrome
.cast
.media
.TvShowMediaMetadata = function() {};
826 /** @type {chrome.cast.media.MetadataType} */
827 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.metadataType
;
829 /** @type {?string} */
830 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.seriesTitle
;
832 /** @type {?string} */
833 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.title
;
835 /** @type {?number} */
836 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.season
;
838 /** @type {?number} */
839 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.episode
;
841 /** @type {Array<chrome.cast.Image>} */
842 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.images
;
844 /** @type {?string} */
845 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.originalAirdate
;
848 * @type {chrome.cast.media.MetadataType}
849 * @deprecated Please use metadataType instead.
851 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.type
;
855 * @deprecated Use title instead.
857 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.episodeTitle
;
861 * @deprecated Use season instead.
863 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.seasonNumber
;
867 * @deprecated Use episode instead.
869 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.episodeNumber
;
873 * @deprecated Use originalAirdate instead.
875 chrome
.cast
.media
.TvShowMediaMetadata
.prototype.releaseYear
;
880 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MusicTrackMediaMetadata
882 chrome
.cast
.media
.MusicTrackMediaMetadata = function() {};
885 /** @type {chrome.cast.media.MetadataType} */
886 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.metadataType
;
888 /** @type {?string} */
889 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.albumName
;
891 /** @type {?string} */
892 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.title
;
894 /** @type {?string} */
895 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.albumArtist
;
897 /** @type {?string} */
898 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.artist
;
900 /** @type {?string} */
901 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.composer
;
903 /** @type {?string} */
904 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.songName
;
906 /** @type {?number} */
907 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.trackNumber
;
909 /** @type {?number} */
910 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.discNumber
;
912 /** @type {Array<chrome.cast.Image>} */
913 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.images
;
916 * @type {chrome.cast.media.MetadataType}
917 * @deprecated Please use metadataType instead.
919 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.type
;
923 * @deprecated Use artist instead.
925 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.artistName
;
929 * @deprecated Use releaseDate instead.
931 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.releaseYear
;
936 chrome
.cast
.media
.MusicTrackMediaMetadata
.prototype.releaseDate
;
941 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.PhotoMediaMetadata
943 chrome
.cast
.media
.PhotoMediaMetadata = function() {};
945 /** @type {chrome.cast.media.MetadataType} */
946 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.metadataType
;
948 /** @type {?string} */
949 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.title
;
951 /** @type {?string} */
952 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.artist
;
954 /** @type {?string} */
955 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.location
;
957 /** @type {Array<chrome.cast.Image>} */
958 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.images
;
960 /** @type {?number} */
961 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.latitude
;
963 /** @type {?number} */
964 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.longitude
;
966 /** @type {?number} */
967 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.width
;
969 /** @type {?number} */
970 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.height
;
972 /** @type {?string} */
973 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.creationDateTime
;
976 * @type {chrome.cast.media.MetadataType}
977 * @deprecated Please use metadataType instead.
979 chrome
.cast
.media
.PhotoMediaMetadata
.prototype.type
;
983 * @param {string} contentId
984 * @param {string} contentType
986 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.MediaInfo
988 chrome
.cast
.media
.MediaInfo = function(contentId
, contentType
) {};
990 /** @type {string} */
991 chrome
.cast
.media
.MediaInfo
.prototype.contentId
;
993 /** @type {chrome.cast.media.StreamType} */
994 chrome
.cast
.media
.MediaInfo
.prototype.streamType
;
996 /** @type {string} */
997 chrome
.cast
.media
.MediaInfo
.prototype.contentType
;
1000 chrome
.cast
.media
.MediaInfo
.prototype.metadata
;
1002 /** @type {?number} */
1003 chrome
.cast
.media
.MediaInfo
.prototype.duration
;
1005 /** @type {Array<!chrome.cast.media.Track>} */
1006 chrome
.cast
.media
.MediaInfo
.prototype.tracks
;
1008 /** @type {?chrome.cast.media.TextTrackStyle} */
1009 chrome
.cast
.media
.MediaInfo
.prototype.textTrackStyle
;
1011 /** @type {Object} */
1012 chrome
.cast
.media
.MediaInfo
.prototype.customData
;
1016 * @param {string} sessionId
1017 * @param {number} mediaSessionId
1019 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.Media
1021 chrome
.cast
.media
.Media = function(sessionId
, mediaSessionId
) {};
1023 /** @type {string} */
1024 chrome
.cast
.media
.Media
.prototype.sessionId
;
1026 /** @type {number} */
1027 chrome
.cast
.media
.Media
.prototype.mediaSessionId
;
1029 /** @type {chrome.cast.media.MediaInfo} */
1030 chrome
.cast
.media
.Media
.prototype.media
;
1032 /** @type {number} */
1033 chrome
.cast
.media
.Media
.prototype.playbackRate
;
1035 /** @type {!chrome.cast.media.PlayerState} */
1036 chrome
.cast
.media
.Media
.prototype.playerState
;
1038 /** @type {!Array<!chrome.cast.media.MediaCommand>} */
1039 chrome
.cast
.media
.Media
.prototype.supportedMediaCommands
;
1041 /** @type {!chrome.cast.Volume} */
1042 chrome
.cast
.media
.Media
.prototype.volume
;
1044 /** @type {?chrome.cast.media.IdleReason} */
1045 chrome
.cast
.media
.Media
.prototype.idleReason
;
1047 /** @type {Array<number>} */
1048 chrome
.cast
.media
.Media
.prototype.activeTrackIds
;
1050 /** @type {Object} */
1051 chrome
.cast
.media
.Media
.prototype.customData
;
1055 * @deprecated Use getEstimatedTime instead.
1057 chrome
.cast
.media
.Media
.prototype.currentTime
;
1060 * @param {chrome.cast.media.GetStatusRequest} getStatusRequest
1061 * @param {function()} successCallback
1062 * @param {function(!chrome.cast.Error)} errorCallback
1064 chrome
.cast
.media
.Media
.prototype.getStatus
=
1065 function(getStatusRequest
, successCallback
, errorCallback
) {};
1068 * @param {chrome.cast.media.PlayRequest} playRequest
1069 * @param {function()} successCallback
1070 * @param {function(!chrome.cast.Error)} errorCallback
1072 chrome
.cast
.media
.Media
.prototype.play
=
1073 function(playRequest
, successCallback
, errorCallback
) {};
1076 * @param {chrome.cast.media.PauseRequest} pauseRequest
1077 * @param {function()} successCallback
1078 * @param {function(!chrome.cast.Error)} errorCallback
1080 chrome
.cast
.media
.Media
.prototype.pause
=
1081 function(pauseRequest
, successCallback
, errorCallback
) {};
1084 * @param {!chrome.cast.media.SeekRequest} seekRequest
1085 * @param {function()} successCallback
1086 * @param {function(!chrome.cast.Error)} errorCallback
1088 chrome
.cast
.media
.Media
.prototype.seek
=
1089 function(seekRequest
, successCallback
, errorCallback
) {};
1092 * @param {chrome.cast.media.StopRequest} stopRequest
1093 * @param {function()} successCallback
1094 * @param {function(!chrome.cast.Error)} errorCallback
1096 chrome
.cast
.media
.Media
.prototype.stop
=
1097 function(stopRequest
, successCallback
, errorCallback
) {};
1100 * @param {!chrome.cast.media.VolumeRequest} volumeRequest
1101 * @param {function()} successCallback
1102 * @param {function(!chrome.cast.Error)} errorCallback
1104 chrome
.cast
.media
.Media
.prototype.setVolume
=
1105 function(volumeRequest
, successCallback
, errorCallback
) {};
1108 * @param {!chrome.cast.media.EditTracksInfoRequest} editTracksInfoRequest
1109 * @param {function()} successCallback
1110 * @param {function(!chrome.cast.Error)} errorCallback
1112 chrome
.cast
.media
.Media
.prototype.editTracksInfo
=
1113 function(editTracksInfoRequest
, successCallback
, errorCallback
) {};
1116 * @param {!chrome.cast.media.MediaCommand} command
1119 chrome
.cast
.media
.Media
.prototype.supportsCommand = function(command
) {};
1123 * @suppress {deprecated} Uses currentTime member to compute estimated time.
1125 chrome
.cast
.media
.Media
.prototype.getEstimatedTime = function() {};
1128 * @param {function(boolean)} listener
1130 chrome
.cast
.media
.Media
.prototype.addUpdateListener = function(listener
) {};
1133 * @param {function(boolean)} listener
1135 chrome
.cast
.media
.Media
.prototype.removeUpdateListener = function(listener
) {};
1140 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.timeout
1142 chrome
.cast
.media
.timeout
= {};
1144 /** @type {number} */
1145 chrome
.cast
.media
.timeout
.load
;
1147 /** @type {number} */
1148 chrome
.cast
.media
.timeout
.getStatus
;
1150 /** @type {number} */
1151 chrome
.cast
.media
.timeout
.play
;
1153 /** @type {number} */
1154 chrome
.cast
.media
.timeout
.pause
;
1156 /** @type {number} */
1157 chrome
.cast
.media
.timeout
.seek
;
1159 /** @type {number} */
1160 chrome
.cast
.media
.timeout
.stop
;
1162 /** @type {number} */
1163 chrome
.cast
.media
.timeout
.setVolume
;
1165 /** @type {number} */
1166 chrome
.cast
.media
.timeout
.editTracksInfo
;
1170 * @param {number} trackId
1171 * @param {!chrome.cast.media.TrackType} trackType
1173 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.Track
1175 chrome
.cast
.media
.Track = function(trackId
, trackType
) {};
1177 /** @type {number} */
1178 chrome
.cast
.media
.Track
.prototype.trackId
;
1180 /** @type {?string} */
1181 chrome
.cast
.media
.Track
.prototype.trackContentId
;
1183 /** @type {?string} */
1184 chrome
.cast
.media
.Track
.prototype.trackContentType
;
1186 /** @type {!chrome.cast.media.TrackType} */
1187 chrome
.cast
.media
.Track
.prototype.type
;
1189 /** @type {?string} */
1190 chrome
.cast
.media
.Track
.prototype.name
;
1192 /** @type {?string} */
1193 chrome
.cast
.media
.Track
.prototype.language
;
1195 /** @type {?chrome.cast.media.TextTrackType} */
1196 chrome
.cast
.media
.Track
.prototype.subtype
;
1198 /** @type {Object} */
1199 chrome
.cast
.media
.Track
.prototype.customData
;
1204 * @see https://developers.google.com/cast/docs/reference/chrome/chrome.cast.media.TextTrackStyle
1206 chrome
.cast
.media
.TextTrackStyle = function() {};
1208 /** @type {?string} */
1209 chrome
.cast
.media
.TextTrackStyle
.prototype.foregroundColor
;
1211 /** @type {?string} */
1212 chrome
.cast
.media
.TextTrackStyle
.prototype.backgroundColor
;
1214 /** @type {?chrome.cast.media.TextTrackEdgeType} */
1215 chrome
.cast
.media
.TextTrackStyle
.prototype.edgeType
;
1217 /** @type {?string} */
1218 chrome
.cast
.media
.TextTrackStyle
.prototype.edgeColor
;
1220 /** @type {?chrome.cast.media.TextTrackWindowType} */
1221 chrome
.cast
.media
.TextTrackStyle
.prototype.windowType
;
1223 /** @type {?string} */
1224 chrome
.cast
.media
.TextTrackStyle
.prototype.windowColor
;
1226 /** @type {?number} */
1227 chrome
.cast
.media
.TextTrackStyle
.prototype.windowRoundedCornerRadius
;
1229 /** @type {?number} */
1230 chrome
.cast
.media
.TextTrackStyle
.prototype.fontScale
;
1232 /** @type {?string} */
1233 chrome
.cast
.media
.TextTrackStyle
.prototype.fontFamily
;
1235 /** @type {?chrome.cast.media.TextTrackFontGenericFamily} */
1236 chrome
.cast
.media
.TextTrackStyle
.prototype.fontGenericFamily
;
1238 /** @type {?chrome.cast.media.TextTrackFontStyle} */
1239 chrome
.cast
.media
.TextTrackStyle
.prototype.fontStyle
;
1241 /** @type {Object} */
1242 chrome
.cast
.media
.TextTrackStyle
.prototype.customData
;