@ -1,4 +1,5 @@
using MediaBrowser.Controller.Entities ;
using MediaBrowser.Controller.Drawing ;
using MediaBrowser.Controller.Entities ;
using MediaBrowser.Controller.Library ;
using MediaBrowser.Controller.Providers ;
using MediaBrowser.Model.Entities ;
@ -17,10 +18,12 @@ namespace MediaBrowser.Providers.Photos
public class PhotoProvider : ICustomMetadataProvider < Photo > , IHasItemChangeMonitor
{
private readonly ILogger _logger ;
private readonly IImageProcessor _imageProcessor ;
public PhotoProvider ( ILogger logger )
public PhotoProvider ( ILogger logger , IImageProcessor imageProcessor )
{
_logger = logger ;
_imageProcessor = imageProcessor ;
}
public Task < ItemUpdateType > FetchAsync ( Photo item , MetadataRefreshOptions options , CancellationToken cancellationToken )
@ -140,9 +143,18 @@ namespace MediaBrowser.Providers.Photos
}
var imageInfo = item . GetImageInfo ( ImageType . Primary , 0 ) ;
try
{
var size = _imageProcessor . GetImageSize ( imageInfo . Path , imageInfo . DateModified ) ;
item . Width = Convert . ToInt32 ( size . Width ) ;
item . Height = Convert . ToInt32 ( size . Height ) ;
}
catch
{
item . Height = imageInfo . Height ;
item . Width = imageInfo . Width ;
}
const ItemUpdateType result = ItemUpdateType . ImageUpdate | ItemUpdateType . MetadataImport ;
return Task . FromResult ( result ) ;