commit
e3a1c13e7c
|
@ -556,33 +556,28 @@ namespace MediaBrowser.MediaEncoding.Encoder
|
||||||
{
|
{
|
||||||
var codec = request.VideoCodec;
|
var codec = request.VideoCodec;
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(codec))
|
if (string.Equals(codec, "h264", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
if (string.Equals(codec, "h264", StringComparison.OrdinalIgnoreCase))
|
return "libx264";
|
||||||
{
|
}
|
||||||
return "libx264";
|
if (string.Equals(codec, "h265", StringComparison.OrdinalIgnoreCase))
|
||||||
}
|
{
|
||||||
if (string.Equals(codec, "h265", StringComparison.OrdinalIgnoreCase))
|
return "libx265";
|
||||||
{
|
}
|
||||||
return "libx265";
|
if (string.Equals(codec, "vpx", StringComparison.OrdinalIgnoreCase))
|
||||||
}
|
{
|
||||||
if (string.Equals(codec, "vpx", StringComparison.OrdinalIgnoreCase))
|
return "libvpx";
|
||||||
{
|
}
|
||||||
return "libvpx";
|
if (string.Equals(codec, "wmv", StringComparison.OrdinalIgnoreCase))
|
||||||
}
|
{
|
||||||
if (string.Equals(codec, "wmv", StringComparison.OrdinalIgnoreCase))
|
return "wmv2";
|
||||||
{
|
}
|
||||||
return "wmv2";
|
if (string.Equals(codec, "theora", StringComparison.OrdinalIgnoreCase))
|
||||||
}
|
{
|
||||||
if (string.Equals(codec, "theora", StringComparison.OrdinalIgnoreCase))
|
return "libtheora";
|
||||||
{
|
|
||||||
return "libtheora";
|
|
||||||
}
|
|
||||||
|
|
||||||
return codec.ToLower();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return "copy";
|
return (codec ?? string.Empty).ToLower();
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static bool CanStreamCopyVideo(EncodingJobOptions request, MediaStream videoStream)
|
internal static bool CanStreamCopyVideo(EncodingJobOptions request, MediaStream videoStream)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
using System.ComponentModel;
|
using MediaBrowser.Model.Dto;
|
||||||
using System.Diagnostics;
|
|
||||||
using System.Runtime.Serialization;
|
|
||||||
using MediaBrowser.Model.Dto;
|
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using System;
|
|
||||||
using System.Collections.Generic;
|
|
||||||
using MediaBrowser.Model.Extensions;
|
using MediaBrowser.Model.Extensions;
|
||||||
using MediaBrowser.Model.Library;
|
using MediaBrowser.Model.Library;
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
namespace MediaBrowser.Model.LiveTv
|
namespace MediaBrowser.Model.LiveTv
|
||||||
{
|
{
|
||||||
|
|
|
@ -160,10 +160,25 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
{
|
{
|
||||||
Users = await LoadUsers().ConfigureAwait(false);
|
Users = await LoadUsers().ConfigureAwait(false);
|
||||||
|
|
||||||
foreach (var user in Users.ToList())
|
var users = Users.ToList();
|
||||||
|
|
||||||
|
foreach (var user in users)
|
||||||
{
|
{
|
||||||
await DoPolicyMigration(user).ConfigureAwait(false);
|
await DoPolicyMigration(user).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If there are no local users with admin rights, make them all admins
|
||||||
|
if (!users.Any(i => i.Policy.IsAdministrator))
|
||||||
|
{
|
||||||
|
foreach (var user in users)
|
||||||
|
{
|
||||||
|
if (!user.ConnectLinkType.HasValue || user.ConnectLinkType.Value == UserLinkType.LinkedUser)
|
||||||
|
{
|
||||||
|
user.Policy.IsAdministrator = true;
|
||||||
|
await UpdateUserPolicy(user, user.Policy, false).ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<bool> AuthenticateUser(string username, string passwordSha1, string remoteEndPoint)
|
public Task<bool> AuthenticateUser(string username, string passwordSha1, string remoteEndPoint)
|
||||||
|
@ -331,7 +346,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
user.Policy.IsHidden = user.Configuration.IsHidden;
|
user.Policy.IsHidden = user.Configuration.IsHidden;
|
||||||
user.Policy.MaxParentalRating = user.Configuration.MaxParentalRating;
|
user.Policy.MaxParentalRating = user.Configuration.MaxParentalRating;
|
||||||
|
|
||||||
await UpdateUserPolicy(user.Id.ToString("N"), user.Policy);
|
await UpdateUserPolicy(user, user.Policy, false);
|
||||||
|
|
||||||
user.Configuration.HasMigratedToPolicy = true;
|
user.Configuration.HasMigratedToPolicy = true;
|
||||||
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
|
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
|
||||||
|
@ -867,12 +882,6 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
userPolicy = _jsonSerializer.DeserializeFromString<UserPolicy>(json);
|
userPolicy = _jsonSerializer.DeserializeFromString<UserPolicy>(json);
|
||||||
}
|
}
|
||||||
|
|
||||||
var updateConfig = user.Policy.IsAdministrator != userPolicy.IsAdministrator ||
|
|
||||||
user.Policy.EnableLiveTvManagement != userPolicy.EnableLiveTvManagement ||
|
|
||||||
user.Policy.EnableLiveTvAccess != userPolicy.EnableLiveTvAccess ||
|
|
||||||
user.Policy.EnableMediaPlayback != userPolicy.EnableMediaPlayback ||
|
|
||||||
user.Policy.EnableContentDeletion != userPolicy.EnableContentDeletion;
|
|
||||||
|
|
||||||
var path = GetPolifyFilePath(user);
|
var path = GetPolifyFilePath(user);
|
||||||
|
|
||||||
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
Directory.CreateDirectory(Path.GetDirectoryName(path));
|
||||||
|
@ -883,16 +892,13 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||||
user.Policy = userPolicy;
|
user.Policy = userPolicy;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (updateConfig)
|
user.Configuration.IsAdministrator = user.Policy.IsAdministrator;
|
||||||
{
|
user.Configuration.EnableLiveTvManagement = user.Policy.EnableLiveTvManagement;
|
||||||
user.Configuration.IsAdministrator = user.Policy.IsAdministrator;
|
user.Configuration.EnableLiveTvAccess = user.Policy.EnableLiveTvAccess;
|
||||||
user.Configuration.EnableLiveTvManagement = user.Policy.EnableLiveTvManagement;
|
user.Configuration.EnableMediaPlayback = user.Policy.EnableMediaPlayback;
|
||||||
user.Configuration.EnableLiveTvAccess = user.Policy.EnableLiveTvAccess;
|
user.Configuration.EnableContentDeletion = user.Policy.EnableContentDeletion;
|
||||||
user.Configuration.EnableMediaPlayback = user.Policy.EnableMediaPlayback;
|
|
||||||
user.Configuration.EnableContentDeletion = user.Policy.EnableContentDeletion;
|
|
||||||
|
|
||||||
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
|
await UpdateConfiguration(user, user.Configuration, true).ConfigureAwait(false);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DeleteUserPolicy(User user)
|
private void DeleteUserPolicy(User user)
|
||||||
|
|
|
@ -29,7 +29,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly ITVSeriesManager _tvSeriesManager;
|
private readonly ITVSeriesManager _tvSeriesManager;
|
||||||
private readonly IMediaEncoder MediaEncoder;
|
private readonly IMediaEncoder _mediaEncoder;
|
||||||
|
|
||||||
public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder)
|
public SyncJobProcessor(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder)
|
||||||
{
|
{
|
||||||
|
@ -39,7 +39,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_tvSeriesManager = tvSeriesManager;
|
_tvSeriesManager = tvSeriesManager;
|
||||||
MediaEncoder = mediaEncoder;
|
_mediaEncoder = mediaEncoder;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task EnsureJobItems(SyncJob job)
|
public async Task EnsureJobItems(SyncJob job)
|
||||||
|
@ -412,7 +412,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
jobItem.Status = SyncJobItemStatus.Converting;
|
jobItem.Status = SyncJobItemStatus.Converting;
|
||||||
await _syncRepo.Update(jobItem).ConfigureAwait(false);
|
await _syncRepo.Update(jobItem).ConfigureAwait(false);
|
||||||
|
|
||||||
jobItem.OutputPath = await MediaEncoder.EncodeVideo(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken);
|
jobItem.OutputPath = await _mediaEncoder.EncodeVideo(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -456,7 +456,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
||||||
jobItem.Status = SyncJobItemStatus.Converting;
|
jobItem.Status = SyncJobItemStatus.Converting;
|
||||||
await _syncRepo.Update(jobItem).ConfigureAwait(false);
|
await _syncRepo.Update(jobItem).ConfigureAwait(false);
|
||||||
|
|
||||||
jobItem.OutputPath = await MediaEncoder.EncodeAudio(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken);
|
jobItem.OutputPath = await _mediaEncoder.EncodeAudio(new EncodingJobOptions(streamInfo, profile), new Progress<double>(), cancellationToken);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
|
||||||
//[assembly: AssemblyVersion("3.0.*")]
|
//[assembly: AssemblyVersion("3.0.*")]
|
||||||
[assembly: AssemblyVersion("3.0.5482.0")]
|
[assembly: AssemblyVersion("3.0.5482.1")]
|
||||||
|
|
Loading…
Reference in New Issue
Block a user