|
|
|
@ -18806,6 +18806,7 @@ class PlayController {
|
|
|
|
|
this.playViaPlexPlayer = async (movieID) => {
|
|
|
|
|
const { playQueueID, playQueueSelectedMetadataItemID } = await this.plexPlayerCreateQueue(movieID);
|
|
|
|
|
const url = `${this.plex.protocol}://${this.plex.ip}:${this.plex.port}/player/playback/playMedia?address=${this.plex.ip}&commandID=1&containerKey=/playQueues/${playQueueID}?window=100%26own=1&key=/library/metadata/${playQueueSelectedMetadataItemID}&machineIdentifier=${await this.plex.getServerID()}&offset=0&port=${this.plex.port}&token=${this.plex.token}&type=video&protocol=${this.plex.protocol}`;
|
|
|
|
|
try {
|
|
|
|
|
const plexResponse = await axios({
|
|
|
|
|
method: 'post',
|
|
|
|
|
url,
|
|
|
|
@ -18820,6 +18821,15 @@ class PlayController {
|
|
|
|
|
if (!lodash.includes(plexResponse.data, 'status="OK"')) {
|
|
|
|
|
throw Error('Error while asking plex to play a movie - target device not available.');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
catch (err) {
|
|
|
|
|
if (lodash.includes(err.message, '404')) {
|
|
|
|
|
throw Error('Defined plexPlayer is currently not available for playback.');
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
throw err;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
this.playViaKodi = async (data, type) => {
|
|
|
|
|
if (type === 'movie') {
|
|
|
|
|