diff --git a/dashboard-ui/bower_components/emby-webcomponents/.bower.json b/dashboard-ui/bower_components/emby-webcomponents/.bower.json index 0e9b4ea90e..6605440c2e 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/.bower.json +++ b/dashboard-ui/bower_components/emby-webcomponents/.bower.json @@ -16,12 +16,12 @@ }, "devDependencies": {}, "ignore": [], - "version": "1.3.21", - "_release": "1.3.21", + "version": "1.3.25", + "_release": "1.3.25", "_resolution": { "type": "version", - "tag": "1.3.21", - "commit": "efe918d27e7c9a2c8373494bccf437f5273150c9" + "tag": "1.3.25", + "commit": "004eca200cd748222897d11f6bd92a29899d7945" }, "_source": "https://github.com/MediaBrowser/emby-webcomponents.git", "_target": "^1.2.0", diff --git a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js index 6886f5dd19..c59e533dc4 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js +++ b/dashboard-ui/bower_components/emby-webcomponents/browserdeviceprofile.js @@ -170,6 +170,8 @@ define(['browser'], function (browser) { return function (options) { options = options || {}; + var physicalAudioChannels = options.audioChannels || 2; + var bitrateSetting = getMaxBitrate(); var videoTestElement = document.createElement('video'); @@ -314,7 +316,10 @@ define(['browser'], function (browser) { AudioCodec: videoAudioCodecs.join(','), VideoCodec: 'h264', Context: 'Streaming', - CopyTimestamps: true + CopyTimestamps: true, + // If audio transcoding is needed, limit channels to number of physical audio channels + // Trying to transcode to 5 channels when there are only 2 speakers generally does not sound good + MaxAudioChannels: physicalAudioChannels.toString() }); } @@ -337,9 +342,9 @@ define(['browser'], function (browser) { AudioCodec: videoAudioCodecs.join(','), VideoCodec: 'h264', Context: 'Streaming', - Protocol: 'http', - // If audio transcoding is needed, limit to 2 channel - MaxAudioChannels: '2' + Protocol: 'http' + // Edit: Can't use this in firefox because we're seeing situations of no sound when downmixing from 6 channel to 2 + //MaxAudioChannels: physicalAudioChannels.toString() }); } @@ -351,7 +356,10 @@ define(['browser'], function (browser) { AudioCodec: 'vorbis', VideoCodec: 'vpx', Context: 'Streaming', - Protocol: 'http' + Protocol: 'http', + // If audio transcoding is needed, limit channels to number of physical audio channels + // Trying to transcode to 5 channels when there are only 2 speakers generally does not sound good + MaxAudioChannels: physicalAudioChannels.toString() }); } @@ -361,7 +369,10 @@ define(['browser'], function (browser) { AudioCodec: videoAudioCodecs.join(','), VideoCodec: 'h264', Context: 'Streaming', - Protocol: 'http' + Protocol: 'http', + // If audio transcoding is needed, limit channels to number of physical audio channels + // Trying to transcode to 5 channels when there are only 2 speakers generally does not sound good + MaxAudioChannels: physicalAudioChannels.toString() }); profile.TranscodingProfiles.push({ @@ -403,6 +414,11 @@ define(['browser'], function (browser) { Property: 'AudioChannels', Value: videoAudioChannels }, + { + Condition: 'LessThanEqual', + Property: 'AudioBitrate', + Value: '128000' + }, { Condition: 'Equals', Property: 'IsSecondaryAudio', diff --git a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js index b5d11d830c..305fb12543 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js +++ b/dashboard-ui/bower_components/emby-webcomponents/itemcontextmenu.js @@ -18,6 +18,14 @@ define(['apphost', 'globalize', 'connectionManager'], function (appHost, globali }); } + if (user.Policy.IsAdministrator) { + + commands.push({ + name: globalize.translate('Refresh'), + id: 'refresh' + }); + } + if (item.Type != 'Timer' && user.Policy.EnablePublicSharing && appHost.supports('sharing')) { commands.push({ name: globalize.translate('Share'), @@ -56,6 +64,11 @@ define(['apphost', 'globalize', 'connectionManager'], function (appHost, globali reject(); }); + break; + } + case 'refresh': + { + refresh(apiClient, itemId); break; } case 'share': @@ -75,6 +88,23 @@ define(['apphost', 'globalize', 'connectionManager'], function (appHost, globali }); } + function refresh(apiClient, itemId) { + + apiClient.refreshItem(itemId, { + + Recursive: true, + ImageRefreshMode: 'FullRefresh', + MetadataRefreshMode: 'FullRefresh', + ReplaceAllImages: false, + ReplaceAllMetadata: true + + }); + + require(['toast'], function (toast) { + toast(globalize.translate('sharedcomponents#RefreshQueued')); + }); + } + function show(options) { return getCommands(options).then(function (commands) { diff --git a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json index 117e8a92bd..fe6db4e19a 100644 --- a/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json +++ b/dashboard-ui/bower_components/emby-webcomponents/strings/en-US.json @@ -47,5 +47,7 @@ "FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.", "Record": "Record", "Download": "Download", - "Advanced": "Advanced" + "Advanced": "Advanced", + "Refresh": "Refresh", + "RefreshQueued": "Refresh queued" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/iron-selector/.bower.json b/dashboard-ui/bower_components/iron-selector/.bower.json index e5306ccfc9..1da99816d3 100644 --- a/dashboard-ui/bower_components/iron-selector/.bower.json +++ b/dashboard-ui/bower_components/iron-selector/.bower.json @@ -36,7 +36,7 @@ "tag": "v1.5.1", "commit": "e3e34408fad8f7cde59c4255cf3fe90f7dcf91d8" }, - "_source": "git://github.com/PolymerElements/iron-selector.git", + "_source": "git://github.com/polymerelements/iron-selector.git", "_target": "^1.0.0", - "_originalSource": "PolymerElements/iron-selector" + "_originalSource": "polymerelements/iron-selector" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-behaviors/.bower.json b/dashboard-ui/bower_components/paper-behaviors/.bower.json index a6b333d335..2b04bf9f8a 100644 --- a/dashboard-ui/bower_components/paper-behaviors/.bower.json +++ b/dashboard-ui/bower_components/paper-behaviors/.bower.json @@ -45,7 +45,7 @@ "tag": "v1.0.11", "commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5" }, - "_source": "git://github.com/polymerelements/paper-behaviors.git", + "_source": "git://github.com/PolymerElements/paper-behaviors.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-behaviors" + "_originalSource": "PolymerElements/paper-behaviors" } \ No newline at end of file diff --git a/dashboard-ui/bower_components/paper-ripple/.bower.json b/dashboard-ui/bower_components/paper-ripple/.bower.json index 2f654d71c6..157225ee71 100644 --- a/dashboard-ui/bower_components/paper-ripple/.bower.json +++ b/dashboard-ui/bower_components/paper-ripple/.bower.json @@ -32,14 +32,14 @@ "iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0" }, "ignore": [], - "homepage": "https://github.com/polymerelements/paper-ripple", + "homepage": "https://github.com/PolymerElements/paper-ripple", "_release": "1.0.5", "_resolution": { "type": "version", "tag": "v1.0.5", "commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5" }, - "_source": "git://github.com/polymerelements/paper-ripple.git", + "_source": "git://github.com/PolymerElements/paper-ripple.git", "_target": "^1.0.0", - "_originalSource": "polymerelements/paper-ripple" + "_originalSource": "PolymerElements/paper-ripple" } \ No newline at end of file diff --git a/dashboard-ui/scripts/itemdetailpage.js b/dashboard-ui/scripts/itemdetailpage.js index 68df3223a5..0a4ee9d5e0 100644 --- a/dashboard-ui/scripts/itemdetailpage.js +++ b/dashboard-ui/scripts/itemdetailpage.js @@ -1557,6 +1557,10 @@ attributes.push(createAttribute(Globalize.translate('MediaInfoTimestamp'), version.Timestamp)); } + if (stream.DisplayTitle) { + attributes.push(createAttribute('Title', stream.DisplayTitle)); + } + html += attributes.join('
'); html += ''; diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index c8d763ef7b..7d3d2797c6 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -110,7 +110,7 @@ } var opt = { - name: name, + name: stream.DisplayTitle || name, id: stream.Index }; @@ -229,7 +229,7 @@ } var opt = { - name: name, + name: stream.DisplayTitle || name, id: stream.Index };