Fix chrome.cast.media class implementations

This commit is contained in:
hensm
2019-01-12 13:47:49 +00:00
parent 536d170d51
commit 8588b856b5
25 changed files with 89 additions and 52 deletions

View File

@@ -3,6 +3,7 @@
export default class EditTracksInfoRequest {
constructor (opt_activeTrackIds = null, opt_textTrackStyle = null) {
this.activeTrackIds = opt_activeTrackIds;
this.requestId = 0;
this.textTrackStyle = opt_textTrackStyle;
}
}

View File

@@ -1,11 +1,15 @@
"use strict";
import { MetadataType } from "../enums";
export default class GenericMediaMetadata {
constructor () {
this.images = [];
this.metadataType = null;
this.images = null;
this.metadataType = MetadataType.GENERIC;
this.releaseDate = null;
this.releaseYear = null;
this.subtitle = null;
this.title = null;
this.type = MetadataType.GENERIC;
}
}

View File

@@ -2,7 +2,6 @@
export default class GetStatusRequest {
constructor () {
castConsole.info('GetStatusRequest');
this.customData = {};
this.customData = null;
}
}

View File

@@ -2,10 +2,13 @@
export default class LoadRequest {
constructor (mediaInfo) {
this.activeTrackIds = [];
this.autoplay = false;
this.currentTime = 0;
this.customData = {};
this.activeTrackIds = null;
this.autoplay = true;
this.currentTime = null;
this.customData = null;
this.media = mediaInfo;
this.requestId = 0;
this.sessionId = null;
this.type = "LOAD";
}
}

View File

@@ -19,26 +19,21 @@ export default class Media {
constructor (sessionId, mediaSessionId, _internalSessionId) {
this._id = uuid();
this.activeTrackIds = [];
this.currentItemId = 1;
this.customData = {};
this.activeTrackIds = null;
this.currentItemId = null;
this.customData = null;
this.currentTime = 0;
this.idleReason = null;
this.items = [];
this.items = null;
this.loadingItemId = null;
this.media = null;
this.mediaSessionId = mediaSessionId;
this.playbackRate = 1;
this.playerState = PlayerState.PAUSED;
this.playerState = PlayerState.IDLE;
this.preloadedItemId = null;
this.RepeatMode = RepeatMode.OFF;
this.repeatMode = RepeatMode.OFF;
this.sessionId = sessionId;
this.supportedMediaCommands = [
MediaCommand.PAUSE
, MediaCommand.SEEK
, MediaCommand.STREAM_VOLUME
, MediaCommand.STREAM_MUTE
];
this.supportedMediaCommands = [];
this.volume = new Volume();
this._sendMessage("bridge:bridgemedia/initialize", {

View File

@@ -6,11 +6,11 @@ export default class MediaInfo {
constructor (contentId, contentType) {
this.contentId = contentId;
this.contentType = contentType;
this.customData = {};
this.customData = null;
this.duration = null;
this.metadata = null;
this.streamType = StreamType.BUFFERED;
this.textTrackStyle = null;
this.tracks = [];
this.tracks = null;
}
}

View File

@@ -1,12 +1,16 @@
"use strict";
import { MetadataType } from "../enums";
export default class MovieMediaMetadata {
constructor () {
this.images = [];
this.metadataType = null;
this.images = null;
this.metadataType = MetadataType.MOVIE;
this.releaseDate = null;
this.releaseYear = null;
this.studio = null;
this.subtitle = null;
this.title = null;
this.type = MetadataType.MOVIE;
}
}

View File

@@ -1,17 +1,22 @@
"use strict";
import { MetadataType } from "../enums";
export default class MusicTrackMediaMetadata {
constructor () {
this.albumArtist = null;
this.albumName = null;
this.artist = null;
this.artistName = null;
this.composer = null;
this.discNumber = null;
this.images = [];
this.metadataType = this.type = 3;
this.images = null;
this.metadataType = MetadataType.MUSIC_TRACK;
this.releaseDate = null;
this.releaseYear = null;
this.songName = null;
this.title = null;
this.trackNumber = null;
this.type = MetadataType.MUSIC_TRACK;
}
}

View File

@@ -2,6 +2,6 @@
export default class PauseRequest {
constructor () {
this.customData = {};
this.customData = null;
}
}

View File

@@ -1,16 +1,19 @@
"use strict";
import { MetadataType } from "../enums";
export default class PhotoMediaMetadata {
constructor () {
this.artist = null;
this.creationDateTime = null;
this.height = null;
this.images = [];
this.images = null;
this.latitude = null;
this.location = null;
this.longitude = null;
this.metadataType = null;
this.metadataType = MetadataType.PHOTO;
this.title = null;
this.type = MetadataType.PHOTO;
this.width = null;
}
}

View File

@@ -2,6 +2,6 @@
export default class PlayRequest {
constructor () {
this.customData = {};
this.customData = null;
}
}

View File

@@ -2,8 +2,11 @@
export default class QueueInsertItemsRequest {
constructor (itemsToInsert) {
this.customData = {};
this.customData = null;
this.insertBefore = null;
this.items = itemsToInsert;
this.requestId = null;
this.sessionId = null;
this.type = "QUEUE_INSERT";
}
}

View File

@@ -2,12 +2,13 @@
export default class QueueItem {
constructor (mediaInfo) {
this.activeTrackIds = [];
this.autoplay = false;
this.customData = {};
this.activeTrackIds = null;
this.autoplay = true;
this.customData = null;
this.itemId = null;
this.media = mediaInfo;
this.preloadTime = 10;
this.playbackDuration = null;
this.preloadTime = 0;
this.startTime = 0;
}
}

View File

@@ -4,9 +4,12 @@ import { RepeatMode } from "../enums";
export default class QueueLoadRequest {
constructor (items) {
this.customData = {};
this.customData = null;
this.items = items;
this.repeatMode = RepeatMode.OFF;
this.requestId = null;
this.sessionId = null;
this.startIndex = 0;
this.type = "QUEUE_LOAD";
}
}

View File

@@ -2,7 +2,10 @@
export default class QueueRemoveItemsRequest {
constructor (itemIdsToRemove) {
this.customData = {};
this.customData = null;
this.itemIds = itemIdsToRemove;
this.requestId = null;
this.sessionId = null;
this.type = "QUEUE_REMOVE";
}
}

View File

@@ -2,9 +2,11 @@
export default class QueueReorderItemsRequest {
constructor (itemIdsToReorder) {
this.customData = {};
this.type = "QUEUE_REORDER";
this.customData = null;
this.insertBefore = null;
this.itemIds = itemIdsToReorder;
this.requestId = null;
this.sessionId = null;
this.type = "QUEUE_REORDER";
}
}

View File

@@ -2,10 +2,10 @@
export default class QueueSetPropertiesRequest {
constructor () {
this.type = "QUEUE_UPDATE";
this.customData = {};
this.customData = null;
this.repeatMode = null;
this.sessionId = null;
this.requestId = null;
this.sessionId = null;
this.type = "QUEUE_UPDATE";
}
}

View File

@@ -1,8 +1,11 @@
"use strict";
export default class QueueUpdateItemsRequest {
constructor () {
this.customData = {};
this.items = [];
constructor (itemsToUpdate) {
this.customData = null;
this.items = itemsToUpdate;
this.requestId = null;
this.sessionId = null;
this.type = "QUEUE_UPDATE";
}
}

View File

@@ -3,7 +3,7 @@
export default class SeekRequest {
constructor () {
this.currentTime = null;
this.customData = {};
this.customData = null;
this.resumeState = null;
}
}

View File

@@ -2,6 +2,6 @@
export default class StopRequest {
constructor () {
this.customData = {};
this.customData = null;
}
}

View File

@@ -3,7 +3,7 @@
export default class TextTrackStyle {
constructor () {
this.backgroundColor = null;
this.customData = {};
this.customData = null;
this.edgeColor = null;
this.edgeType = null;
this.fontFamily = null;

View File

@@ -2,7 +2,7 @@
export default class Track {
constructor (trackId, trackType) {
this.customData = {};
this.customData = null;
this.language = null;
this.name = null;
this.subtype = null;

View File

@@ -1,13 +1,20 @@
"use strict";
import { MetadataType } from "../enums";
export default class TvShowMediaMetadata {
constructor () {
this.episode = null;
this.images = [];
this.metadataType = null;
this.episodeNumber = null;
this.episodeTitle = null;
this.images = null;
this.metadataType = MetadataType.TV_SHOW;
this.originalAirdate = null;
this.releaseYear = null;
this.season = null;
this.seasonNumber = null;
this.seriesTitle = null;
this.title = null;
this.type = MetadataType.TV_SHOW;
}
}

View File

@@ -2,7 +2,7 @@
export default class VolumeRequest {
constructor (volume) {
this.customData = null;
this.volume = volume;
this.customData = {};
}
}

View File

@@ -6,6 +6,7 @@ describe("chrome.cast.media.Media", () => {
expect(media.activeTrackIds).toBe(null);
expect(media.currentItemId).toBe(null);
expect(media.currentTime).toBe(0);
expect(media.customData).toBe(null);
expect(media.idleReason).toBe(null);
expect(media.items).toBe(null);