diff --git a/ApiClient.js b/ApiClient.js
index 47719df8d2..765cae6128 100644
--- a/ApiClient.js
+++ b/ApiClient.js
@@ -3791,7 +3791,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
* @param {String} userId
* @param {String} itemId
*/
- self.reportPlaybackStart = function (userId, itemId, mediaVersionId, canSeek, queueableMediaTypes) {
+ self.reportPlaybackStart = function (userId, itemId, mediaSourceId, canSeek, queueableMediaTypes) {
if (!userId) {
throw new Error("null userId");
@@ -3810,8 +3810,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
var msg = [itemId, canSeek, queueableMediaTypes];
- if (mediaVersionId) {
- msg.push(mediaVersionId);
+ if (mediaSourceId) {
+ msg.push(mediaSourceId);
}
self.sendWebSocketMessage("PlaybackStart", msg.join('|'));
@@ -3825,8 +3825,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
QueueableMediaTypes: queueableMediaTypes
};
- if (mediaVersionId) {
- params.mediaVersionId = mediaVersionId;
+ if (mediaSourceId) {
+ params.mediaSourceId = mediaSourceId;
}
var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId, params);
@@ -3842,7 +3842,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
* @param {String} userId
* @param {String} itemId
*/
- self.reportPlaybackProgress = function (userId, itemId, mediaVersionId, positionTicks, isPaused, isMuted) {
+ self.reportPlaybackProgress = function (userId, itemId, mediaSourceId, positionTicks, isPaused, isMuted) {
if (!userId) {
throw new Error("null userId");
@@ -3861,7 +3861,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
msgData += "|" + (positionTicks == null ? "" : positionTicks);
msgData += "|" + (isPaused == null ? "" : isPaused);
msgData += "|" + (isMuted == null ? "" : isMuted);
- msgData += "|" + (mediaVersionId == null ? "" : mediaVersionId);
+ msgData += "|" + (mediaSourceId == null ? "" : mediaSourceId);
self.sendWebSocketMessage("PlaybackProgress", msgData);
@@ -3878,8 +3878,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
params.positionTicks = positionTicks;
}
- if (mediaVersionId) {
- params.mediaVersionId = mediaVersionId;
+ if (mediaSourceId) {
+ params.mediaSourceId = mediaSourceId;
}
var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId + "/Progress", params);
@@ -3895,7 +3895,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
* @param {String} userId
* @param {String} itemId
*/
- self.reportPlaybackStopped = function (userId, itemId, mediaVersionId, positionTicks) {
+ self.reportPlaybackStopped = function (userId, itemId, mediaSourceId, positionTicks) {
if (!userId) {
throw new Error("null userId");
@@ -3911,7 +3911,7 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
var msg = itemId;
msg += "|" + (positionTicks == null ? "" : positionTicks);
- msg += "|" + (mediaVersionId == null ? "" : mediaVersionId);
+ msg += "|" + (mediaSourceId == null ? "" : mediaSourceId);
self.sendWebSocketMessage("PlaybackStopped", msg);
@@ -3925,8 +3925,8 @@ MediaBrowser.ApiClient = function ($, navigator, JSON, WebSocket, setTimeout, wi
params.positionTicks = positionTicks;
}
- if (mediaVersionId) {
- params.mediaVersionId = mediaVersionId;
+ if (mediaSourceId) {
+ params.mediaSourceId = mediaSourceId;
}
var url = self.getUrl("Users/" + userId + "/PlayingItems/" + itemId, params);
diff --git a/dashboard-ui/css/librarybrowser.css b/dashboard-ui/css/librarybrowser.css
index 0d148ea157..ba6615ba09 100644
--- a/dashboard-ui/css/librarybrowser.css
+++ b/dashboard-ui/css/librarybrowser.css
@@ -926,7 +926,7 @@ a.itemTag:hover {
background-color: transparent !important;
}
-.mediaVersionIndicator {
+.mediaSourceIndicator {
display: block;
position: absolute;
top: 5px;
diff --git a/dashboard-ui/css/mediaplayer.css b/dashboard-ui/css/mediaplayer.css
index 3ed4d78b89..5070af2039 100644
--- a/dashboard-ui/css/mediaplayer.css
+++ b/dashboard-ui/css/mediaplayer.css
@@ -1,13 +1,13 @@
/* Now playing bar */
.nowPlayingBar {
- padding: 6px 0 24px 0;
+ padding: 6px 0 20px 0;
border-top: 2px solid green;
}
.nowPlayingBar .barBackground {
border-top: 2px solid green;
position: absolute;
- margin: -8px -0.5em -26px !important;
+ margin: -8px -0.5em -22px !important;
width: 100%;
height: 100%;
}
@@ -251,4 +251,4 @@ input[type="range"]::-ms-fill-upper {
.positionSliderContainer {
width: 300px;
}
-}
\ No newline at end of file
+}
diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js
index 2fa7883a9a..ddd8f02ef2 100644
--- a/dashboard-ui/scripts/itemdetailpage.js
+++ b/dashboard-ui/scripts/itemdetailpage.js
@@ -73,7 +73,7 @@
$('#btnPlayExternalTrailer', page).attr('href', '#');
}
- if (user.Configuration.IsAdministrator && item.MediaVersions && item.MediaVersions.length > 1) {
+ if (user.Configuration.IsAdministrator && item.MediaSources && item.MediaSources.length > 1) {
$('.splitVersionContainer', page).show();
} else {
$('.splitVersionContainer', page).hide();
@@ -210,8 +210,8 @@
$('#childrenCollapsible', page).addClass('hide');
}
- if (item.MediaVersions && item.MediaVersions.length) {
- renderMediaVersions(page, item);
+ if (item.MediaSources && item.MediaSources.length) {
+ renderMediaSources(page, item);
}
var chapters = item.Chapters || [];
@@ -243,13 +243,6 @@
renderAdditionalParts(page, item, user);
}
- if (!item.AlternateVersionCount) {
- $('#alternateVersionsCollapsible', page).addClass('hide');
- } else {
- $('#alternateVersionsCollapsible', page).removeClass('hide');
- renderAlternateVersions(page, item, user);
- }
-
$('#themeSongsCollapsible', page).hide();
$('#themeVideosCollapsible', page).hide();
@@ -346,7 +339,7 @@
tabsHtml += '';
}
- if (item.MediaVersions && item.MediaVersions.length) {
+ if (item.MediaSources && item.MediaSources.length) {
tabsHtml += '';
tabsHtml += '';
}
@@ -981,41 +974,6 @@
});
}
- function renderAlternateVersions(page, item, user) {
-
- var url = ApiClient.getUrl("Videos/" + item.Id + "/Versions", {
- userId: user.Id
- });
-
- $.getJSON(url).done(function (items) {
-
- if (items.length) {
-
- $('#alternateVersionsCollapsible', page).show();
-
- var html = LibraryBrowser.getPosterViewHtml({
- items: items.map(function (i) {
- var extended = $.extend({}, item, i);
- extended.Id = item.Id;
- return extended;
- }),
- shape: "portrait",
- context: 'movies',
- useAverageAspectRatio: true,
- showTitle: true,
- centerText: true,
- linkItem: false,
- showProgress: false,
- showUnplayedIndicator: false
- });
-
- $('#alternateVersionsContent', page).html(html).trigger('create');
- } else {
- $('#alternateVersionsCollapsible', page).hide();
- }
- });
- }
-
function renderScenes(page, item, user, limit) {
var html = '';
@@ -1069,26 +1027,26 @@
$('#scenesContent', page).html(html).trigger('create');
}
- function renderMediaVersions(page, item) {
+ function renderMediaSources(page, item) {
- var html = item.MediaVersions.map(function (v) {
+ var html = item.MediaSources.map(function (v) {
- return getMediaVersionHtml(item, v);
+ return getMediaSourceHtml(item, v);
}).join('
');
- if (item.MediaVersions.length > 1) {
+ if (item.MediaSources.length > 1) {
html = '
' + html;
}
$('#mediaInfoContent', page).html(html).trigger('create');
}
- function getMediaVersionHtml(item, version) {
+ function getMediaSourceHtml(item, version) {
var html = '';
- if (version.Name && item.MediaVersions.length > 1) {
+ if (version.Name && item.MediaSources.length > 1) {
html += '' + version.Name + '
';
}
@@ -1334,7 +1292,7 @@
var id = getParameterByName('id');
- Dashboard.confirm("Are you sure you wish to split the versions apart into separate items?", "Split Versions Apart", function (confirmResult) {
+ Dashboard.confirm("Are you sure you wish to split the media sources into separate items?", "Split Media Apart", function (confirmResult) {
if (confirmResult) {
@@ -1342,7 +1300,7 @@
$.ajax({
type: "DELETE",
- url: ApiClient.getUrl("Videos/" + id + "/AlternateVersions")
+ url: ApiClient.getUrl("Videos/" + id + "/AlternateSources")
}).done(function () {
diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js
index 2ee0fbd93d..407fbc525e 100644
--- a/dashboard-ui/scripts/librarybrowser.js
+++ b/dashboard-ui/scripts/librarybrowser.js
@@ -665,11 +665,11 @@
cssClass += ' ' + options.shape + 'PosterItem';
- var mediaVersionCount = item.MediaVersionCount || 1;
+ var mediaSourceCount = item.MediaSourceCount || 1;
var href = options.linkItem === false ? '#' : LibraryBrowser.getHref(item, options.context);
- html += '';
+ html += '';
var style = "";
@@ -700,8 +700,8 @@
html += LibraryBrowser.getPlayedIndicatorHtml(item);
}
- if (mediaVersionCount > 1) {
- html += '' + mediaVersionCount + '
';
+ if (mediaSourceCount > 1) {
+ html += '' + mediaSourceCount + '
';
}
if (item.IsUnidentified) {
html += '';
diff --git a/dashboard-ui/scripts/librarylist.js b/dashboard-ui/scripts/librarylist.js
index 14d49af957..23488ac7a2 100644
--- a/dashboard-ui/scripts/librarylist.js
+++ b/dashboard-ui/scripts/librarylist.js
@@ -175,7 +175,7 @@
function splitVersions(id, page) {
- Dashboard.confirm("Are you sure you wish to split the versions apart into separate items?", "Split Versions Apart", function (confirmResult) {
+ Dashboard.confirm("Are you sure you wish to split the media sources into separate items?", "Split Media Apart", function (confirmResult) {
if (confirmResult) {
@@ -183,7 +183,7 @@
$.ajax({
type: "DELETE",
- url: ApiClient.getUrl("Videos/" + id + "/AlternateVersions")
+ url: ApiClient.getUrl("Videos/" + id + "/AlternateSources")
}).done(function () {
@@ -208,8 +208,8 @@
items.push({ type: 'link', text: 'Images', url: 'edititemimages.html?id=' + id });
- var versionCount = parseInt(elem.getAttribute('data-mediaversioncount') || '0');
-
+ var versionCount = parseInt(elem.getAttribute('data-mediasourcecount') || '0');
+
if (versionCount > 1) {
items.push({ type: 'divider' });
diff --git a/dashboard-ui/scripts/libraryreport.js b/dashboard-ui/scripts/libraryreport.js
index 0cc02dc1a8..94253c6881 100644
--- a/dashboard-ui/scripts/libraryreport.js
+++ b/dashboard-ui/scripts/libraryreport.js
@@ -8,7 +8,7 @@
SortBy: defaultSortBy,
SortOrder: "Ascending",
Recursive: true,
- Fields: "MediaVersions,DateCreated,Settings,Studios",
+ Fields: "MediaSources,DateCreated,Settings,Studios",
StartIndex: 0,
IncludeItemTypes: "Movie",
IsMissing: false,
@@ -207,7 +207,7 @@
function getItemCellsHtml(item, headercells) {
- var primaryVersion = (item.MediaVersions || []).filter(function (v) {
+ var primaryVersion = (item.MediaSources || []).filter(function (v) {
return v.IsPrimaryVersion;
})[0] || {};
diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js
index 3a74bce72f..c9a36eb536 100644
--- a/dashboard-ui/scripts/mediaplayer-video.js
+++ b/dashboard-ui/scripts/mediaplayer-video.js
@@ -1,5 +1,5 @@
(function () {
- videoPlayer = function (mediaPlayer, item, mediaVersion, startPosition, user) {
+ videoPlayer = function (mediaPlayer, item, mediaSource, startPosition, user) {
if (mediaPlayer == null) {
throw new Error("mediaPlayer cannot be null");
}
@@ -15,7 +15,7 @@
var self = mediaPlayer;
var currentItem;
- var currentMediaVersion;
+ var currentMediaSource;
var timeout;
var video;
var initialVolume;
@@ -24,7 +24,7 @@
var remoteFullscreen = false;
self.initVideoPlayer = function () {
- video = playVideo(item, mediaVersion, startPosition, user);
+ video = playVideo(item, mediaSource, startPosition, user);
return video;
};
@@ -374,7 +374,7 @@
function getAudioTracksHtml() {
- var streams = currentMediaVersion.MediaStreams.filter(function (currentStream) {
+ var streams = currentMediaSource.MediaStreams.filter(function (currentStream) {
return currentStream.Type == "Audio";
});
@@ -444,7 +444,7 @@
function getSubtitleTracksHtml() {
- var streams = currentMediaVersion.MediaStreams.filter(function (currentStream) {
+ var streams = currentMediaSource.MediaStreams.filter(function (currentStream) {
return currentStream.Type == "Subtitle";
});
@@ -528,7 +528,7 @@
var currentAudioStreamIndex = getParameterByName('AudioStreamIndex', video.currentSrc);
- var options = getVideoQualityOptions(currentMediaVersion.MediaStreams, currentAudioStreamIndex, transcodingExtension);
+ var options = getVideoQualityOptions(currentMediaSource.MediaStreams, currentAudioStreamIndex, transcodingExtension);
if (isStatic) {
options[0].name = "Direct";
@@ -696,9 +696,9 @@
return options;
};
- function playVideo(item, mediaVersion, startPosition, user) {
+ function playVideo(item, mediaSource, startPosition, user) {
- var mediaStreams = mediaVersion.MediaStreams || [];
+ var mediaStreams = mediaSource.MediaStreams || [];
var baseParams = {
audioChannels: 2,
@@ -707,23 +707,23 @@
AudioStreamIndex: getInitialAudioStreamIndex(mediaStreams, user),
deviceId: ApiClient.deviceId(),
Static: false,
- mediaVersionId: mediaVersion.Id
+ mediaSourceId: mediaSource.Id
};
var mp4Quality = getVideoQualityOptions(mediaStreams).filter(function (opt) {
return opt.selected;
})[0];
- mp4Quality = $.extend(mp4Quality, self.getFinalVideoParams(mediaVersion, mp4Quality.maxWidth, mp4Quality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.mp4'));
+ mp4Quality = $.extend(mp4Quality, self.getFinalVideoParams(mediaSource, mp4Quality.maxWidth, mp4Quality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.mp4'));
var webmQuality = getVideoQualityOptions(mediaStreams).filter(function (opt) {
return opt.selected;
})[0];
- webmQuality = $.extend(webmQuality, self.getFinalVideoParams(mediaVersion, webmQuality.maxWidth, webmQuality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.webm'));
+ webmQuality = $.extend(webmQuality, self.getFinalVideoParams(mediaSource, webmQuality.maxWidth, webmQuality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.webm'));
var m3U8Quality = getVideoQualityOptions(mediaStreams).filter(function (opt) {
return opt.selected;
})[0];
- m3U8Quality = $.extend(m3U8Quality, self.getFinalVideoParams(mediaVersion, mp4Quality.maxWidth, mp4Quality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.mp4'));
+ m3U8Quality = $.extend(m3U8Quality, self.getFinalVideoParams(mediaSource, mp4Quality.maxWidth, mp4Quality.bitrate, baseParams.AudioStreamIndex, baseParams.SubtitleStreamIndex, '.mp4'));
// Webm must be ahead of mp4 due to the issue of mp4 playing too fast in chrome
var prioritizeWebmOverH264 = $.browser.chrome || $.browser.msie;
@@ -883,9 +883,9 @@
videoElement.off("playing.once");
- ApiClient.reportPlaybackStart(Dashboard.getCurrentUserId(), item.Id, mediaVersion.Id, true, item.MediaType);
+ ApiClient.reportPlaybackStart(Dashboard.getCurrentUserId(), item.Id, mediaSource.Id, true, item.MediaType);
- self.startProgressInterval(item.Id, mediaVersion.Id);
+ self.startProgressInterval(item.Id, mediaSource.Id);
}).on("pause", function (e) {
@@ -1001,7 +1001,7 @@
fullscreenExited = false;
currentItem = item;
- currentMediaVersion = mediaVersion;
+ currentMediaSource = mediaSource;
return videoElement[0];
};
diff --git a/dashboard-ui/scripts/mediaplayer.js b/dashboard-ui/scripts/mediaplayer.js
index b67efc3c1d..26be435159 100644
--- a/dashboard-ui/scripts/mediaplayer.js
+++ b/dashboard-ui/scripts/mediaplayer.js
@@ -8,7 +8,7 @@
var currentMediaElement;
var currentProgressInterval;
var currentItem;
- var currentMediaVersion;
+ var currentMediaSource;
var curentDurationTicks;
var canClientSeek;
var currentPlaylistIndex = 0;
@@ -54,7 +54,7 @@
var position = Math.floor(10000000 * endTime) + self.startTimeTicksOffset;
- ApiClient.reportPlaybackStopped(Dashboard.getCurrentUserId(), currentItem.Id, currentMediaVersion.Id, position);
+ ApiClient.reportPlaybackStopped(Dashboard.getCurrentUserId(), currentItem.Id, currentMediaSource.Id, position);
if (currentItem.MediaType == "Video") {
ApiClient.stopActiveEncodings();
@@ -72,7 +72,7 @@
self.nextTrack();
};
- self.startProgressInterval = function (itemId, mediaVersionId) {
+ self.startProgressInterval = function (itemId, mediaSourceId) {
clearProgressInterval();
@@ -81,7 +81,7 @@
currentProgressInterval = setInterval(function () {
if (currentMediaElement) {
- sendProgressUpdate(itemId, mediaVersionId);
+ sendProgressUpdate(itemId, mediaSourceId);
}
}, intervalTime);
@@ -136,7 +136,7 @@
var transcodingExtension = self.getTranscodingExtension();
- var finalParams = self.getFinalVideoParams(currentMediaVersion, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension);
+ var finalParams = self.getFinalVideoParams(currentMediaSource, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension);
currentSrc = replaceQueryString(currentSrc, 'MaxWidth', finalParams.maxWidth);
currentSrc = replaceQueryString(currentSrc, 'VideoBitrate', finalParams.videoBitrate);
currentSrc = replaceQueryString(currentSrc, 'AudioBitrate', finalParams.audioBitrate);
@@ -156,8 +156,8 @@
$(this).off('play.onceafterseek').on('ended.playbackstopped', self.onPlaybackStopped).on('ended.playnext', self.playNextAfterEnded);
- self.startProgressInterval(currentItem.Id, currentMediaVersion.Id);
- sendProgressUpdate(currentItem.Id, currentMediaVersion.Id);
+ self.startProgressInterval(currentItem.Id, currentMediaSource.Id);
+ sendProgressUpdate(currentItem.Id, currentMediaSource.Id);
});
@@ -194,9 +194,9 @@
self.currentTimeElement.html(timeText);
};
- self.canPlayVideoDirect = function (mediaVersion, videoStream, audioStream, subtitleStream, maxWidth, bitrate) {
+ self.canPlayVideoDirect = function (mediaSource, videoStream, audioStream, subtitleStream, maxWidth, bitrate) {
- if (mediaVersion.VideoType != "VideoFile" || mediaVersion.LocationType != "FileSystem") {
+ if (mediaSource.VideoType != "VideoFile" || mediaSource.LocationType != "FileSystem") {
console.log('Transcoding because the content is not a video file');
return false;
}
@@ -229,7 +229,7 @@
return false;
}
- var extension = mediaVersion.Path.substring(mediaVersion.Path.lastIndexOf('.') + 1).toLowerCase();
+ var extension = mediaSource.Path.substring(mediaSource.Path.lastIndexOf('.') + 1).toLowerCase();
if (extension == 'm4v') {
return $.browser.chrome;
@@ -238,9 +238,9 @@
return extension.toLowerCase() == 'mp4';
};
- self.getFinalVideoParams = function (mediaVersion, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension) {
+ self.getFinalVideoParams = function (mediaSource, maxWidth, bitrate, audioStreamIndex, subtitleStreamIndex, transcodingExtension) {
- var mediaStreams = mediaVersion.MediaStreams;
+ var mediaStreams = mediaSource.MediaStreams;
var videoStream = mediaStreams.filter(function (stream) {
return stream.Type === "Video";
@@ -254,7 +254,7 @@
return stream.Index === subtitleStreamIndex;
})[0];
- var canPlayDirect = self.canPlayVideoDirect(mediaVersion, videoStream, audioStream, subtitleStream, maxWidth, bitrate);
+ var canPlayDirect = self.canPlayVideoDirect(mediaSource, videoStream, audioStream, subtitleStream, maxWidth, bitrate);
var audioBitrate = bitrate >= 700000 ? 128000 : 64000;
@@ -404,7 +404,7 @@
return parseInt(localStorage.getItem('preferredVideoBitrate') || '') || 1500000;
};
- function getOptimalMediaVersion(mediaType, versions) {
+ function getOptimalMediaSource(mediaType, versions) {
var optimalVersion;
@@ -449,23 +449,23 @@
if (item.MediaType === "Video") {
currentItem = item;
- currentMediaVersion = getOptimalMediaVersion(item.MediaType, item.MediaVersions);
+ currentMediaSource = getOptimalMediaSource(item.MediaType, item.MediaSources);
- videoPlayer(self, item, currentMediaVersion, startPosition, user);
+ videoPlayer(self, item, currentMediaSource, startPosition, user);
mediaElement = self.initVideoPlayer();
- curentDurationTicks = currentMediaVersion.RunTimeTicks;
+ curentDurationTicks = currentMediaSource.RunTimeTicks;
mediaControls = $("#videoControls");
} else if (item.MediaType === "Audio") {
currentItem = item;
- currentMediaVersion = getOptimalMediaVersion(item.MediaType, item.MediaVersions);
+ currentMediaSource = getOptimalMediaSource(item.MediaType, item.MediaSources);
- mediaElement = playAudio(item, currentMediaVersion, startPosition);
+ mediaElement = playAudio(item, currentMediaSource, startPosition);
mediaControls.show();
- curentDurationTicks = currentMediaVersion.RunTimeTicks;
+ curentDurationTicks = currentMediaSource.RunTimeTicks;
} else {
throw new Error("Unrecognized media type");
@@ -957,7 +957,7 @@
var position = Math.floor(10000000 * endTime) + self.startTimeTicksOffset;
- ApiClient.reportPlaybackStopped(Dashboard.getCurrentUserId(), currentItem.Id, currentMediaVersion.Id, position);
+ ApiClient.reportPlaybackStopped(Dashboard.getCurrentUserId(), currentItem.Id, currentMediaSource.Id, position);
}
});
@@ -984,9 +984,9 @@
return url + '&' + param + "=" + value;
};
- function sendProgressUpdate(itemId, mediaVersionId) {
+ function sendProgressUpdate(itemId, mediaSourceId) {
- ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaVersionId, self.getCurrentTicks(), currentMediaElement.paused, currentMediaElement.volume == 0);
+ ApiClient.reportPlaybackProgress(Dashboard.getCurrentUserId(), itemId, mediaSourceId, self.getCurrentTicks(), currentMediaElement.paused, currentMediaElement.volume == 0);
};
function clearProgressInterval() {
@@ -1008,7 +1008,7 @@
var newPercent = parseInt(this.value);
- var newPositionTicks = (newPercent / 100) * currentMediaVersion.RunTimeTicks;
+ var newPositionTicks = (newPercent / 100) * currentMediaSource.RunTimeTicks;
self.changeStream(Math.floor(newPositionTicks));
};
@@ -1022,7 +1022,7 @@
return d >= 0 && text.lastIndexOf(pattern) === d;
};
- function playAudio(item, mediaVersion, startPositionTicks) {
+ function playAudio(item, mediaSource, startPositionTicks) {
startPositionTicks = startPositionTicks || 0;
@@ -1030,7 +1030,7 @@
audioChannels: 2,
audioBitrate: 128000,
StartTimeTicks: startPositionTicks,
- mediaVersionId: mediaVersion.Id
+ mediaSourceId: mediaSource.Id
};
var mp3Url = ApiClient.getUrl('Audio/' + item.Id + '/stream.mp3', $.extend({}, baseParams, {
@@ -1045,7 +1045,7 @@
audioCodec: 'Vorbis'
}));
- var mediaStreams = mediaVersion.MediaStreams;
+ var mediaStreams = mediaSource.MediaStreams;
var isStatic = false;
var seekParam = isStatic && startPositionTicks ? '#t=' + (startPositionTicks / 10000000) : '';
@@ -1057,11 +1057,11 @@
if (stream.Type == "Audio") {
// Stream statically when possible
- if (endsWith(mediaVersion.Path, ".aac") && stream.BitRate <= 256000) {
+ if (endsWith(mediaSource.Path, ".aac") && stream.BitRate <= 256000) {
aacUrl += "&static=true" + seekParam;
isStatic = true;
}
- else if (endsWith(mediaVersion.Path, ".mp3") && stream.BitRate <= 256000) {
+ else if (endsWith(mediaSource.Path, ".mp3") && stream.BitRate <= 256000) {
mp3Url += "&static=true" + seekParam;
isStatic = true;
}
@@ -1132,9 +1132,9 @@
audioElement.off("play.once");
- ApiClient.reportPlaybackStart(Dashboard.getCurrentUserId(), item.Id, mediaVersion.Id, true, item.MediaType);
+ ApiClient.reportPlaybackStart(Dashboard.getCurrentUserId(), item.Id, mediaSource.Id, true, item.MediaType);
- self.startProgressInterval(item.Id, mediaVersion.Id);
+ self.startProgressInterval(item.Id, mediaSource.Id);
}).on("pause", function () {
@@ -1201,7 +1201,7 @@
return (trunc(titles[0], 30) + "
" + trunc(titles[1], 30)).replace("---", " ");
};
- var getItemFields = "MediaVersions,Chapters";
+ var getItemFields = "MediaSources,Chapters";
}
window.MediaPlayer = new mediaPlayer();
diff --git a/packages.config b/packages.config
index bbc2c0f068..7396527bb3 100644
--- a/packages.config
+++ b/packages.config
@@ -1,4 +1,4 @@
-
+
\ No newline at end of file