mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
add DisplayTitle to media streams
This commit is contained in:
parent
e54e1697fd
commit
5712b78c3e
9 changed files with 72 additions and 20 deletions
|
@ -16,12 +16,12 @@
|
||||||
},
|
},
|
||||||
"devDependencies": {},
|
"devDependencies": {},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"version": "1.3.21",
|
"version": "1.3.25",
|
||||||
"_release": "1.3.21",
|
"_release": "1.3.25",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "1.3.21",
|
"tag": "1.3.25",
|
||||||
"commit": "efe918d27e7c9a2c8373494bccf437f5273150c9"
|
"commit": "004eca200cd748222897d11f6bd92a29899d7945"
|
||||||
},
|
},
|
||||||
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
"_source": "https://github.com/MediaBrowser/emby-webcomponents.git",
|
||||||
"_target": "^1.2.0",
|
"_target": "^1.2.0",
|
||||||
|
|
|
@ -170,6 +170,8 @@ define(['browser'], function (browser) {
|
||||||
return function (options) {
|
return function (options) {
|
||||||
|
|
||||||
options = options || {};
|
options = options || {};
|
||||||
|
var physicalAudioChannels = options.audioChannels || 2;
|
||||||
|
|
||||||
var bitrateSetting = getMaxBitrate();
|
var bitrateSetting = getMaxBitrate();
|
||||||
|
|
||||||
var videoTestElement = document.createElement('video');
|
var videoTestElement = document.createElement('video');
|
||||||
|
@ -314,7 +316,10 @@ define(['browser'], function (browser) {
|
||||||
AudioCodec: videoAudioCodecs.join(','),
|
AudioCodec: videoAudioCodecs.join(','),
|
||||||
VideoCodec: 'h264',
|
VideoCodec: 'h264',
|
||||||
Context: 'Streaming',
|
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(','),
|
AudioCodec: videoAudioCodecs.join(','),
|
||||||
VideoCodec: 'h264',
|
VideoCodec: 'h264',
|
||||||
Context: 'Streaming',
|
Context: 'Streaming',
|
||||||
Protocol: 'http',
|
Protocol: 'http'
|
||||||
// If audio transcoding is needed, limit to 2 channel
|
// Edit: Can't use this in firefox because we're seeing situations of no sound when downmixing from 6 channel to 2
|
||||||
MaxAudioChannels: '2'
|
//MaxAudioChannels: physicalAudioChannels.toString()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -351,7 +356,10 @@ define(['browser'], function (browser) {
|
||||||
AudioCodec: 'vorbis',
|
AudioCodec: 'vorbis',
|
||||||
VideoCodec: 'vpx',
|
VideoCodec: 'vpx',
|
||||||
Context: 'Streaming',
|
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(','),
|
AudioCodec: videoAudioCodecs.join(','),
|
||||||
VideoCodec: 'h264',
|
VideoCodec: 'h264',
|
||||||
Context: 'Streaming',
|
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({
|
profile.TranscodingProfiles.push({
|
||||||
|
@ -403,6 +414,11 @@ define(['browser'], function (browser) {
|
||||||
Property: 'AudioChannels',
|
Property: 'AudioChannels',
|
||||||
Value: videoAudioChannels
|
Value: videoAudioChannels
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
Condition: 'LessThanEqual',
|
||||||
|
Property: 'AudioBitrate',
|
||||||
|
Value: '128000'
|
||||||
|
},
|
||||||
{
|
{
|
||||||
Condition: 'Equals',
|
Condition: 'Equals',
|
||||||
Property: 'IsSecondaryAudio',
|
Property: 'IsSecondaryAudio',
|
||||||
|
|
|
@ -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')) {
|
if (item.Type != 'Timer' && user.Policy.EnablePublicSharing && appHost.supports('sharing')) {
|
||||||
commands.push({
|
commands.push({
|
||||||
name: globalize.translate('Share'),
|
name: globalize.translate('Share'),
|
||||||
|
@ -56,6 +64,11 @@ define(['apphost', 'globalize', 'connectionManager'], function (appHost, globali
|
||||||
reject();
|
reject();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case 'refresh':
|
||||||
|
{
|
||||||
|
refresh(apiClient, itemId);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case 'share':
|
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) {
|
function show(options) {
|
||||||
|
|
||||||
return getCommands(options).then(function (commands) {
|
return getCommands(options).then(function (commands) {
|
||||||
|
|
|
@ -47,5 +47,7 @@
|
||||||
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
"FeatureRequiresEmbyPremiere": "This feature requires an active Emby Premiere subscription.",
|
||||||
"Record": "Record",
|
"Record": "Record",
|
||||||
"Download": "Download",
|
"Download": "Download",
|
||||||
"Advanced": "Advanced"
|
"Advanced": "Advanced",
|
||||||
|
"Refresh": "Refresh",
|
||||||
|
"RefreshQueued": "Refresh queued"
|
||||||
}
|
}
|
|
@ -36,7 +36,7 @@
|
||||||
"tag": "v1.5.1",
|
"tag": "v1.5.1",
|
||||||
"commit": "e3e34408fad8f7cde59c4255cf3fe90f7dcf91d8"
|
"commit": "e3e34408fad8f7cde59c4255cf3fe90f7dcf91d8"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/PolymerElements/iron-selector.git",
|
"_source": "git://github.com/polymerelements/iron-selector.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "PolymerElements/iron-selector"
|
"_originalSource": "polymerelements/iron-selector"
|
||||||
}
|
}
|
|
@ -45,7 +45,7 @@
|
||||||
"tag": "v1.0.11",
|
"tag": "v1.0.11",
|
||||||
"commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5"
|
"commit": "e3c1ab0c72905b58fb4d9adc2921ea73b5c085a5"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/paper-behaviors.git",
|
"_source": "git://github.com/PolymerElements/paper-behaviors.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/paper-behaviors"
|
"_originalSource": "PolymerElements/paper-behaviors"
|
||||||
}
|
}
|
|
@ -32,14 +32,14 @@
|
||||||
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0"
|
"iron-test-helpers": "PolymerElements/iron-test-helpers#^1.0.0"
|
||||||
},
|
},
|
||||||
"ignore": [],
|
"ignore": [],
|
||||||
"homepage": "https://github.com/polymerelements/paper-ripple",
|
"homepage": "https://github.com/PolymerElements/paper-ripple",
|
||||||
"_release": "1.0.5",
|
"_release": "1.0.5",
|
||||||
"_resolution": {
|
"_resolution": {
|
||||||
"type": "version",
|
"type": "version",
|
||||||
"tag": "v1.0.5",
|
"tag": "v1.0.5",
|
||||||
"commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5"
|
"commit": "d72e7a9a8ab518b901ed18dde492df3b87a93be5"
|
||||||
},
|
},
|
||||||
"_source": "git://github.com/polymerelements/paper-ripple.git",
|
"_source": "git://github.com/PolymerElements/paper-ripple.git",
|
||||||
"_target": "^1.0.0",
|
"_target": "^1.0.0",
|
||||||
"_originalSource": "polymerelements/paper-ripple"
|
"_originalSource": "PolymerElements/paper-ripple"
|
||||||
}
|
}
|
|
@ -1557,6 +1557,10 @@
|
||||||
attributes.push(createAttribute(Globalize.translate('MediaInfoTimestamp'), version.Timestamp));
|
attributes.push(createAttribute(Globalize.translate('MediaInfoTimestamp'), version.Timestamp));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stream.DisplayTitle) {
|
||||||
|
attributes.push(createAttribute('Title', stream.DisplayTitle));
|
||||||
|
}
|
||||||
|
|
||||||
html += attributes.join('<br/>');
|
html += attributes.join('<br/>');
|
||||||
|
|
||||||
html += '</div>';
|
html += '</div>';
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var opt = {
|
var opt = {
|
||||||
name: name,
|
name: stream.DisplayTitle || name,
|
||||||
id: stream.Index
|
id: stream.Index
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -229,7 +229,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
var opt = {
|
var opt = {
|
||||||
name: name,
|
name: stream.DisplayTitle || name,
|
||||||
id: stream.Index
|
id: stream.Index
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue