mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Additional cast params
This commit is contained in:
parent
424718b05a
commit
3f50019539
4 changed files with 27 additions and 19 deletions
26
ApiClient.js
26
ApiClient.js
|
@ -3846,7 +3846,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
||||||
* @param {String} userId
|
* @param {String} userId
|
||||||
* @param {String} itemId
|
* @param {String} itemId
|
||||||
*/
|
*/
|
||||||
self.reportPlaybackProgress = function (userId, itemId, mediaSourceId, positionTicks, isPaused, isMuted) {
|
self.reportPlaybackProgress = function (userId, itemId, mediaSourceId, params) {
|
||||||
|
|
||||||
if (!userId) {
|
if (!userId) {
|
||||||
throw new Error("null userId");
|
throw new Error("null userId");
|
||||||
|
@ -3862,25 +3862,29 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
|
||||||
|
|
||||||
var msgData = itemId;
|
var msgData = itemId;
|
||||||
|
|
||||||
msgData += "|" + (positionTicks == null ? "" : positionTicks);
|
msgData += "|" + (params.positionTicks == null ? "" : params.positionTicks);
|
||||||
msgData += "|" + (isPaused == null ? "" : isPaused);
|
msgData += "|" + (params.isPaused == null ? "" : params.isPaused);
|
||||||
msgData += "|" + (isMuted == null ? "" : isMuted);
|
msgData += "|" + (params.isMuted == null ? "" : params.isMuted);
|
||||||
msgData += "|" + (mediaSourceId == null ? "" : mediaSourceId);
|
msgData += "|" + (mediaSourceId == null ? "" : mediaSourceId);
|
||||||
|
|
||||||
|
msgData += "|" + (params.audioStreamIndex == null ? "" : params.audioStreamIndex);
|
||||||
|
msgData += "|" + (params.subtitleStreamIndex == null ? "" : params.subtitleStreamIndex);
|
||||||
|
msgData += "|" + (params.volumeLevel == null ? "" : params.volumeLevel);
|
||||||
|
|
||||||
self.sendWebSocketMessage("PlaybackProgress", msgData);
|
self.sendWebSocketMessage("PlaybackProgress", msgData);
|
||||||
|
|
||||||
deferred.resolveWith(null, []);
|
deferred.resolveWith(null, []);
|
||||||
return deferred.promise();
|
return deferred.promise();
|
||||||
}
|
}
|
||||||
|
|
||||||
var params = {
|
////var params = {
|
||||||
isPaused: isPaused,
|
//// isPaused: isPaused,
|
||||||
isMuted: isMuted
|
//// isMuted: isMuted
|
||||||
};
|
////};
|
||||||
|
|
||||||
if (positionTicks) {
|
////if (positionTicks) {
|
||||||
params.positionTicks = positionTicks;
|
//// params.positionTicks = positionTicks;
|
||||||
}
|
////}
|
||||||
|
|
||||||
if (mediaSourceId) {
|
if (mediaSourceId) {
|
||||||
params.mediaSourceId = mediaSourceId;
|
params.mediaSourceId = mediaSourceId;
|
||||||
|
|
|
@ -89,7 +89,7 @@
|
||||||
|
|
||||||
// v1 Id AE4DA10A
|
// v1 Id AE4DA10A
|
||||||
// v2 Id 472F0435
|
// v2 Id 472F0435
|
||||||
var applicationID = 'AE4DA10A';
|
var applicationID = '472F0435';
|
||||||
|
|
||||||
// request session
|
// request session
|
||||||
var sessionRequest = new chrome.cast.SessionRequest(applicationID);
|
var sessionRequest = new chrome.cast.SessionRequest(applicationID);
|
||||||
|
@ -420,7 +420,7 @@
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
function getCustomData(item, mediaSourceId, startTimeTicks) {
|
function getCustomData(item, mediaSourceId, startTimeTicks, audioStreamIndex, subtitleStreamIndex) {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
|
||||||
|
@ -429,7 +429,9 @@
|
||||||
userId: Dashboard.getCurrentUserId(),
|
userId: Dashboard.getCurrentUserId(),
|
||||||
deviceName: ApiClient.deviceName(),
|
deviceName: ApiClient.deviceName(),
|
||||||
//deviceId: ApiClient.deviceId(),
|
//deviceId: ApiClient.deviceId(),
|
||||||
startTimeTicks: startTimeTicks || 0
|
startTimeTicks: startTimeTicks || 0,
|
||||||
|
audioStreamIndex: audioStreamIndex,
|
||||||
|
subtitleStreamIndex: subtitleStreamIndex
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -613,7 +615,7 @@
|
||||||
|
|
||||||
var castMediaInfo = new chrome.cast.media.MediaInfo(streamUrl);
|
var castMediaInfo = new chrome.cast.media.MediaInfo(streamUrl);
|
||||||
|
|
||||||
castMediaInfo.customData = getCustomData(item, mediaInfo.mediaSource.Id, startTimeTicks);
|
castMediaInfo.customData = getCustomData(item, mediaInfo.mediaSource.Id, startTimeTicks, audioStreamIndex, subtitleStreamIndex);
|
||||||
castMediaInfo.metadata = getMetadata(item);
|
castMediaInfo.metadata = getMetadata(item);
|
||||||
|
|
||||||
if (mediaInfo.streamContainer == 'm3u8') {
|
if (mediaInfo.streamContainer == 'm3u8') {
|
||||||
|
@ -630,8 +632,8 @@
|
||||||
|
|
||||||
this.castPlayerState = PLAYER_STATE.LOADING;
|
this.castPlayerState = PLAYER_STATE.LOADING;
|
||||||
this.session.loadMedia(request,
|
this.session.loadMedia(request,
|
||||||
this.onMediaDiscovered.bind(this, 'loadMedia'),
|
this.onMediaDiscovered.bind(this, 'loadMedia'),
|
||||||
this.onLoadMediaError.bind(this));
|
this.onLoadMediaError.bind(this));
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -950,7 +950,7 @@
|
||||||
|
|
||||||
function sendProgressUpdate(itemId, mediaSourceId) {
|
function sendProgressUpdate(itemId, mediaSourceId) {
|
||||||
|
|
||||||
ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaSourceId, self.getCurrentTicks(), currentMediaElement.paused, currentMediaElement.volume == 0);
|
ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaSourceId, { positionTicks: self.getCurrentTicks(), isPaused: currentMediaElement.paused, isMuted: currentMediaElement.volume == 0 });
|
||||||
}
|
}
|
||||||
|
|
||||||
function clearProgressInterval() {
|
function clearProgressInterval() {
|
||||||
|
|
|
@ -349,7 +349,7 @@
|
||||||
|
|
||||||
// don't display the current session
|
// don't display the current session
|
||||||
sessions = sessions.filter(function (s) {
|
sessions = sessions.filter(function (s) {
|
||||||
return s.DeviceId != deviceId && s.SupportsRemoteControl;
|
return s.DeviceId != deviceId && (s.SupportsRemoteControl || s.Client == "Chromecast");
|
||||||
});
|
});
|
||||||
|
|
||||||
var elem = $('#selectSession', popup);
|
var elem = $('#selectSession', popup);
|
||||||
|
@ -403,6 +403,8 @@
|
||||||
self.showMenu = function (options) {
|
self.showMenu = function (options) {
|
||||||
ApiClient.getSessions(sessionQuery).done(function (sessions) {
|
ApiClient.getSessions(sessionQuery).done(function (sessions) {
|
||||||
|
|
||||||
|
console.log("showMenu", sessions);
|
||||||
|
|
||||||
showMenu(sessions, options);
|
showMenu(sessions, options);
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue