mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-11-15 09:59:06 -07:00
add additional playlist buttons
This commit is contained in:
parent
515f21cc4f
commit
0f508dab47
@ -14,7 +14,6 @@ using ServiceStack.Text.Controller;
|
||||
using ServiceStack.Web;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Globalization;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
@ -341,7 +340,7 @@ namespace MediaBrowser.Api.Images
|
||||
ImageIndex = imageIndex,
|
||||
ImageType = info.Type,
|
||||
ImageTag = _imageProcessor.GetImageCacheTag(item, info),
|
||||
Size = info.Length ?? fileInfo.Length,
|
||||
Size = fileInfo.Length,
|
||||
Width = Convert.ToInt32(size.Width),
|
||||
Height = Convert.ToInt32(size.Height)
|
||||
};
|
||||
@ -365,7 +364,21 @@ namespace MediaBrowser.Api.Images
|
||||
_libraryManager.RootFolder :
|
||||
_libraryManager.GetItemById(request.Id);
|
||||
|
||||
return GetImage(request, item);
|
||||
return GetImage(request, item, false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the specified request.
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Head(GetItemImage request)
|
||||
{
|
||||
var item = string.IsNullOrEmpty(request.Id) ?
|
||||
_libraryManager.RootFolder :
|
||||
_libraryManager.GetItemById(request.Id);
|
||||
|
||||
return GetImage(request, item, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -377,7 +390,7 @@ namespace MediaBrowser.Api.Images
|
||||
{
|
||||
var item = _userManager.Users.First(i => i.Id == request.Id);
|
||||
|
||||
return GetImage(request, item);
|
||||
return GetImage(request, item, false);
|
||||
}
|
||||
|
||||
public object Get(GetItemByNameImage request)
|
||||
@ -387,7 +400,7 @@ namespace MediaBrowser.Api.Images
|
||||
|
||||
var item = GetItemByName(request.Name, type, _libraryManager);
|
||||
|
||||
return GetImage(request, item);
|
||||
return GetImage(request, item, false);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@ -484,10 +497,10 @@ namespace MediaBrowser.Api.Images
|
||||
/// </summary>
|
||||
/// <param name="request">The request.</param>
|
||||
/// <param name="item">The item.</param>
|
||||
/// <param name="isHeadRequest">if set to <c>true</c> [is head request].</param>
|
||||
/// <returns>System.Object.</returns>
|
||||
/// <exception cref="ResourceNotFoundException">
|
||||
/// </exception>
|
||||
public object GetImage(ImageRequest request, IHasImages item)
|
||||
/// <exception cref="ResourceNotFoundException"></exception>
|
||||
public object GetImage(ImageRequest request, IHasImages item, bool isHeadRequest)
|
||||
{
|
||||
var imageInfo = GetImageInfo(request, item);
|
||||
|
||||
@ -534,7 +547,8 @@ namespace MediaBrowser.Api.Images
|
||||
supportedImageEnhancers,
|
||||
contentType,
|
||||
cacheDuration,
|
||||
responseHeaders)
|
||||
responseHeaders,
|
||||
isHeadRequest)
|
||||
.Result;
|
||||
}
|
||||
|
||||
@ -544,7 +558,8 @@ namespace MediaBrowser.Api.Images
|
||||
List<IImageEnhancer> enhancers,
|
||||
string contentType,
|
||||
TimeSpan? cacheDuration,
|
||||
IDictionary<string,string> headers)
|
||||
IDictionary<string,string> headers,
|
||||
bool isHeadRequest)
|
||||
{
|
||||
var cropwhitespace = request.Type == ImageType.Logo || request.Type == ImageType.Art;
|
||||
|
||||
@ -574,7 +589,7 @@ namespace MediaBrowser.Api.Images
|
||||
|
||||
var file = await _imageProcessor.ProcessImage(options).ConfigureAwait(false);
|
||||
|
||||
return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers);
|
||||
return ResultFactory.GetStaticFileResult(Request, file, contentType, cacheDuration, FileShare.Read, headers, isHeadRequest);
|
||||
}
|
||||
|
||||
private string GetMimeType(ImageOutputFormat format, string path)
|
||||
|
@ -1309,8 +1309,7 @@ namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
Path = file.FullName,
|
||||
Type = type,
|
||||
DateModified = FileSystem.GetLastWriteTimeUtc(file),
|
||||
Length = ((FileInfo)file).Length
|
||||
DateModified = FileSystem.GetLastWriteTimeUtc(file)
|
||||
});
|
||||
}
|
||||
else
|
||||
@ -1421,14 +1420,11 @@ namespace MediaBrowser.Controller.Entities
|
||||
return null;
|
||||
}
|
||||
|
||||
var info = new FileInfo(path);
|
||||
|
||||
return new ItemImageInfo
|
||||
{
|
||||
Path = path,
|
||||
DateModified = FileSystem.GetLastWriteTimeUtc(info),
|
||||
Type = imageType,
|
||||
Length = info.Length
|
||||
DateModified = FileSystem.GetLastWriteTimeUtc(path),
|
||||
Type = imageType
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -10,7 +10,5 @@ namespace MediaBrowser.Controller.Entities
|
||||
public ImageType Type { get; set; }
|
||||
|
||||
public DateTime DateModified { get; set; }
|
||||
|
||||
public long? Length { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -636,18 +636,26 @@ namespace MediaBrowser.Dlna.Didl
|
||||
|
||||
if (!_profile.EnableAlbumArtInDidl)
|
||||
{
|
||||
return;
|
||||
if (!(item is Photo) && !(item is Video))
|
||||
{
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
AddImageResElement(item, element, 4096, 4096, "jpg");
|
||||
AddImageResElement(item, element, 4096, 4096, "png");
|
||||
AddImageResElement(item, element, 1024, 768, "jpg");
|
||||
AddImageResElement(item, element, 640, 480, "jpg");
|
||||
AddImageResElement(item, element, 160, 160, "jpg");
|
||||
AddImageResElement(item, element, 160, 160, "png");
|
||||
AddImageResElement(item, element, 4096, 4096, "jpg", "JPEG_LRG");
|
||||
AddImageResElement(item, element, 4096, 4096, "png", "PNG_LRG");
|
||||
AddImageResElement(item, element, 1024, 768, "jpg", "JPEG_MED");
|
||||
AddImageResElement(item, element, 640, 480, "jpg", "JPEG_SM");
|
||||
AddImageResElement(item, element, 160, 160, "jpg", "JPEG_TN");
|
||||
AddImageResElement(item, element, 160, 160, "png", "PNG_TN");
|
||||
}
|
||||
|
||||
private void AddImageResElement(BaseItem item, XmlElement element, int maxWidth, int maxHeight, string format)
|
||||
private void AddImageResElement(BaseItem item,
|
||||
XmlElement element,
|
||||
int maxWidth,
|
||||
int maxHeight,
|
||||
string format,
|
||||
string org_Pn)
|
||||
{
|
||||
var imageInfo = GetImageInfo(item);
|
||||
|
||||
@ -667,7 +675,8 @@ namespace MediaBrowser.Dlna.Didl
|
||||
var width = albumartUrlInfo.Width;
|
||||
var height = albumartUrlInfo.Height;
|
||||
|
||||
var contentFeatures = new ContentFeatureBuilder(_profile).BuildImageHeader(format, width, height, imageInfo.IsDirectStream);
|
||||
var contentFeatures = new ContentFeatureBuilder(_profile)
|
||||
.BuildImageHeader(format, width, height, imageInfo.IsDirectStream, org_Pn);
|
||||
|
||||
res.SetAttribute("protocolInfo", String.Format(
|
||||
"http-get:*:{0}:{1}",
|
||||
@ -675,14 +684,6 @@ namespace MediaBrowser.Dlna.Didl
|
||||
contentFeatures
|
||||
));
|
||||
|
||||
res.SetAttribute("colorDepth", "24");
|
||||
|
||||
if (imageInfo.IsDirectStream)
|
||||
{
|
||||
var length = imageInfo.ItemImageInfo.Length ?? new FileInfo(imageInfo.File).Length;
|
||||
res.SetAttribute("size", length.ToString(_usCulture));
|
||||
}
|
||||
|
||||
if (width.HasValue && height.HasValue)
|
||||
{
|
||||
res.SetAttribute("resolution", string.Format("{0}x{1}", width.Value, height.Value));
|
||||
|
@ -15,15 +15,15 @@ namespace MediaBrowser.Model.Dlna
|
||||
public string BuildImageHeader(string container,
|
||||
int? width,
|
||||
int? height,
|
||||
bool isDirectStream)
|
||||
bool isDirectStream,
|
||||
string orgPn = null)
|
||||
{
|
||||
string orgOp = ";DLNA.ORG_OP=" + DlnaMaps.GetImageOrgOpValue();
|
||||
|
||||
// 0 = native, 1 = transcoded
|
||||
var orgCi = isDirectStream ? ";DLNA.ORG_CI=0" : ";DLNA.ORG_CI=1";
|
||||
|
||||
DlnaFlags flagValue = DlnaFlags.StreamingTransferMode |
|
||||
DlnaFlags.BackgroundTransferMode |
|
||||
DlnaFlags flagValue = DlnaFlags.BackgroundTransferMode |
|
||||
DlnaFlags.InteractiveTransferMode |
|
||||
DlnaFlags.DlnaV15;
|
||||
|
||||
@ -34,7 +34,10 @@ namespace MediaBrowser.Model.Dlna
|
||||
width,
|
||||
height);
|
||||
|
||||
string orgPn = mediaProfile == null ? null : mediaProfile.OrgPn;
|
||||
if (string.IsNullOrEmpty(orgPn))
|
||||
{
|
||||
orgPn = mediaProfile == null ? null : mediaProfile.OrgPn;
|
||||
}
|
||||
|
||||
if (string.IsNullOrEmpty(orgPn))
|
||||
{
|
||||
@ -66,10 +69,10 @@ namespace MediaBrowser.Model.Dlna
|
||||
DlnaFlags.InteractiveTransferMode |
|
||||
DlnaFlags.DlnaV15;
|
||||
|
||||
if (isDirectStream)
|
||||
{
|
||||
flagValue = flagValue | DlnaFlags.ByteBasedSeek;
|
||||
}
|
||||
//if (isDirectStream)
|
||||
//{
|
||||
// flagValue = flagValue | DlnaFlags.ByteBasedSeek;
|
||||
//}
|
||||
//else if (runtimeTicks.HasValue)
|
||||
//{
|
||||
// flagValue = flagValue | DlnaFlags.TimeBasedSeek;
|
||||
@ -125,10 +128,10 @@ namespace MediaBrowser.Model.Dlna
|
||||
DlnaFlags.InteractiveTransferMode |
|
||||
DlnaFlags.DlnaV15;
|
||||
|
||||
if (isDirectStream)
|
||||
{
|
||||
flagValue = flagValue | DlnaFlags.ByteBasedSeek;
|
||||
}
|
||||
//if (isDirectStream)
|
||||
//{
|
||||
// flagValue = flagValue | DlnaFlags.ByteBasedSeek;
|
||||
//}
|
||||
//else if (runtimeTicks.HasValue)
|
||||
//{
|
||||
// flagValue = flagValue | DlnaFlags.TimeBasedSeek;
|
||||
|
@ -123,7 +123,8 @@
|
||||
"HeaderMyViews": "My Views",
|
||||
"HeaderLibraryFolders": "Media Folders",
|
||||
"HeaderLatestMedia": "Latest Media",
|
||||
"ButtonMore": "More...",
|
||||
"ButtonMoreItems": "More...",
|
||||
"ButtonMore": "More",
|
||||
"HeaderFavoriteMovies": "Favorite Movies",
|
||||
"HeaderFavoriteShows": "Favorite Shows",
|
||||
"HeaderFavoriteEpisodes": "Favorite Episodes",
|
||||
|
@ -964,5 +964,6 @@
|
||||
"OptionReportBooks": "Books",
|
||||
"OptionReportArtists": "Artists",
|
||||
"OptionReportAlbums": "Albums",
|
||||
"OptionReportAdultVideos": "Adult videos"
|
||||
"OptionReportAdultVideos": "Adult videos",
|
||||
"ButtonMore": "More"
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common.Internal</id>
|
||||
<version>3.0.424</version>
|
||||
<version>3.0.425</version>
|
||||
<title>MediaBrowser.Common.Internal</title>
|
||||
<authors>Luke</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
@ -12,7 +12,7 @@
|
||||
<description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
|
||||
<copyright>Copyright © Media Browser 2013</copyright>
|
||||
<dependencies>
|
||||
<dependency id="MediaBrowser.Common" version="3.0.424" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.425" />
|
||||
<dependency id="NLog" version="3.1.0.0" />
|
||||
<dependency id="SimpleInjector" version="2.5.2" />
|
||||
<dependency id="sharpcompress" version="0.10.2" />
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Common</id>
|
||||
<version>3.0.424</version>
|
||||
<version>3.0.425</version>
|
||||
<title>MediaBrowser.Common</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Model.Signed</id>
|
||||
<version>3.0.424</version>
|
||||
<version>3.0.425</version>
|
||||
<title>MediaBrowser.Model - Signed Edition</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
|
@ -2,7 +2,7 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>MediaBrowser.Server.Core</id>
|
||||
<version>3.0.424</version>
|
||||
<version>3.0.425</version>
|
||||
<title>Media Browser.Server.Core</title>
|
||||
<authors>Media Browser Team</authors>
|
||||
<owners>ebr,Luke,scottisafool</owners>
|
||||
@ -12,7 +12,7 @@
|
||||
<description>Contains core components required to build plugins for Media Browser Server.</description>
|
||||
<copyright>Copyright © Media Browser 2013</copyright>
|
||||
<dependencies>
|
||||
<dependency id="MediaBrowser.Common" version="3.0.424" />
|
||||
<dependency id="MediaBrowser.Common" version="3.0.425" />
|
||||
</dependencies>
|
||||
</metadata>
|
||||
<files>
|
||||
|
Loading…
Reference in New Issue
Block a user