mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 13:57:14 -04:00
fixed dlna port
This commit is contained in:
parent
f1acaaee3e
commit
f12d8b0c18
@ -25,5 +25,11 @@ namespace MediaBrowser.Controller
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value><c>true</c> if [supports automatic run at startup]; otherwise, <c>false</c>.</value>
|
/// <value><c>true</c> if [supports automatic run at startup]; otherwise, <c>false</c>.</value>
|
||||||
bool SupportsAutoRunAtStartup { get; }
|
bool SupportsAutoRunAtStartup { get; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the HTTP server port.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The HTTP server port.</value>
|
||||||
|
int HttpServerPort { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Controller;
|
||||||
using MediaBrowser.Controller.Dlna;
|
using MediaBrowser.Controller.Dlna;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
@ -13,7 +14,6 @@ using System.Linq;
|
|||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Timers;
|
using System.Timers;
|
||||||
using Timer = System.Timers.Timer;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Dlna.PlayTo
|
namespace MediaBrowser.Dlna.PlayTo
|
||||||
{
|
{
|
||||||
@ -29,8 +29,11 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly IDlnaManager _dlnaManager;
|
private readonly IDlnaManager _dlnaManager;
|
||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
|
private readonly IServerApplicationHost _appHost;
|
||||||
private bool _playbackStarted = false;
|
private bool _playbackStarted = false;
|
||||||
|
|
||||||
|
private int UpdateTimerIntervalMs = 1000;
|
||||||
|
|
||||||
public bool SupportsMediaRemoteControl
|
public bool SupportsMediaRemoteControl
|
||||||
{
|
{
|
||||||
get { return true; }
|
get { return true; }
|
||||||
@ -47,7 +50,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, INetworkManager networkManager, IDlnaManager dlnaManager, IUserManager userManager)
|
public PlayToController(SessionInfo session, ISessionManager sessionManager, IItemRepository itemRepository, ILibraryManager libraryManager, ILogger logger, INetworkManager networkManager, IDlnaManager dlnaManager, IUserManager userManager, IServerApplicationHost appHost)
|
||||||
{
|
{
|
||||||
_session = session;
|
_session = session;
|
||||||
_itemRepository = itemRepository;
|
_itemRepository = itemRepository;
|
||||||
@ -56,6 +59,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
_networkManager = networkManager;
|
_networkManager = networkManager;
|
||||||
_dlnaManager = dlnaManager;
|
_dlnaManager = dlnaManager;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
|
_appHost = appHost;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,14 +70,12 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
_device.CurrentIdChanged += Device_CurrentIdChanged;
|
_device.CurrentIdChanged += Device_CurrentIdChanged;
|
||||||
_device.Start();
|
_device.Start();
|
||||||
|
|
||||||
_updateTimer = new Timer(1000);
|
_updateTimer = new System.Threading.Timer(updateTimer_Elapsed, null, UpdateTimerIntervalMs, UpdateTimerIntervalMs);
|
||||||
_updateTimer.Elapsed += updateTimer_Elapsed;
|
|
||||||
_updateTimer.Start();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Device EventHandlers & Update Timer
|
#region Device EventHandlers & Update Timer
|
||||||
|
|
||||||
Timer _updateTimer;
|
System.Threading.Timer _updateTimer;
|
||||||
|
|
||||||
async void Device_PlaybackChanged(object sender, TransportStateEventArgs e)
|
async void Device_PlaybackChanged(object sender, TransportStateEventArgs e)
|
||||||
{
|
{
|
||||||
@ -124,27 +126,23 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Handles the Elapsed event of the updateTimer control.
|
/// Handles the Elapsed event of the updateTimer control.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="sender">The source of the event.</param>
|
/// <param name="state">The state.</param>
|
||||||
/// <param name="e">The <see cref="ElapsedEventArgs"/> instance containing the event data.</param>
|
private async void updateTimer_Elapsed(object state)
|
||||||
async void updateTimer_Elapsed(object sender, ElapsedEventArgs e)
|
|
||||||
{
|
{
|
||||||
if (_disposed)
|
if (_disposed)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
((Timer)sender).Stop();
|
if (IsSessionActive)
|
||||||
|
|
||||||
|
|
||||||
if (!IsSessionActive)
|
|
||||||
{
|
{
|
||||||
//Session is inactive, mark it for Disposal and don't start the elapsed timer.
|
|
||||||
await _sessionManager.ReportSessionEnded(this._session.Id);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
await ReportProgress().ConfigureAwait(false);
|
await ReportProgress().ConfigureAwait(false);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_updateTimer.Change(Timeout.Infinite, Timeout.Infinite);
|
||||||
|
|
||||||
if (!_disposed && IsSessionActive)
|
//Session is inactive, mark it for Disposal and don't start the elapsed timer.
|
||||||
((Timer)sender).Start();
|
await _sessionManager.ReportSessionEnded(_session.Id);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -387,7 +385,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
|
|
||||||
"http",
|
"http",
|
||||||
_networkManager.GetLocalIpAddresses().FirstOrDefault() ?? "localhost",
|
_networkManager.GetLocalIpAddresses().FirstOrDefault() ?? "localhost",
|
||||||
"8096"
|
_appHost.HttpServerPort
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -493,8 +491,8 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
{
|
{
|
||||||
if (!_disposed)
|
if (!_disposed)
|
||||||
{
|
{
|
||||||
_updateTimer.Stop();
|
|
||||||
_disposed = true;
|
_disposed = true;
|
||||||
|
_updateTimer.Dispose();
|
||||||
_device.Dispose();
|
_device.Dispose();
|
||||||
_logger.Log(LogSeverity.Debug, "Controller disposed");
|
_logger.Log(LogSeverity.Debug, "Controller disposed");
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Controller;
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Dlna;
|
using MediaBrowser.Controller.Dlna;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
@ -32,8 +33,9 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly IDlnaManager _dlnaManager;
|
private readonly IDlnaManager _dlnaManager;
|
||||||
private readonly IServerConfigurationManager _config;
|
private readonly IServerConfigurationManager _config;
|
||||||
|
private readonly IServerApplicationHost _appHost;
|
||||||
|
|
||||||
public PlayToManager(ILogger logger, IServerConfigurationManager config, ISessionManager sessionManager, IHttpClient httpClient, IItemRepository itemRepository, ILibraryManager libraryManager, INetworkManager networkManager, IUserManager userManager, IDlnaManager dlnaManager)
|
public PlayToManager(ILogger logger, IServerConfigurationManager config, ISessionManager sessionManager, IHttpClient httpClient, IItemRepository itemRepository, ILibraryManager libraryManager, INetworkManager networkManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost)
|
||||||
{
|
{
|
||||||
_locations = new ConcurrentDictionary<string, DateTime>();
|
_locations = new ConcurrentDictionary<string, DateTime>();
|
||||||
_tokenSource = new CancellationTokenSource();
|
_tokenSource = new CancellationTokenSource();
|
||||||
@ -46,6 +48,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
_networkManager = networkManager;
|
_networkManager = networkManager;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_dlnaManager = dlnaManager;
|
_dlnaManager = dlnaManager;
|
||||||
|
_appHost = appHost;
|
||||||
_config = config;
|
_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -227,7 +230,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
|
|
||||||
if (controller == null)
|
if (controller == null)
|
||||||
{
|
{
|
||||||
sessionInfo.SessionController = controller = new PlayToController(sessionInfo, _sessionManager, _itemRepository, _libraryManager, _logger, _networkManager, _dlnaManager, _userManager);
|
sessionInfo.SessionController = controller = new PlayToController(sessionInfo, _sessionManager, _itemRepository, _libraryManager, _logger, _networkManager, _dlnaManager, _userManager, _appHost);
|
||||||
}
|
}
|
||||||
|
|
||||||
controller.Init(device);
|
controller.Init(device);
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
|
using MediaBrowser.Controller;
|
||||||
using MediaBrowser.Controller.Configuration;
|
using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Controller.Dlna;
|
using MediaBrowser.Controller.Dlna;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
@ -22,8 +23,9 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
private readonly INetworkManager _networkManager;
|
private readonly INetworkManager _networkManager;
|
||||||
private readonly IUserManager _userManager;
|
private readonly IUserManager _userManager;
|
||||||
private readonly IDlnaManager _dlnaManager;
|
private readonly IDlnaManager _dlnaManager;
|
||||||
|
private readonly IServerApplicationHost _appHost;
|
||||||
|
|
||||||
public PlayToServerEntryPoint(ILogManager logManager, IServerConfigurationManager config, ISessionManager sessionManager, IHttpClient httpClient, IItemRepository itemRepo, ILibraryManager libraryManager, INetworkManager networkManager, IUserManager userManager, IDlnaManager dlnaManager)
|
public PlayToServerEntryPoint(ILogManager logManager, IServerConfigurationManager config, ISessionManager sessionManager, IHttpClient httpClient, IItemRepository itemRepo, ILibraryManager libraryManager, INetworkManager networkManager, IUserManager userManager, IDlnaManager dlnaManager, IServerApplicationHost appHost)
|
||||||
{
|
{
|
||||||
_config = config;
|
_config = config;
|
||||||
_sessionManager = sessionManager;
|
_sessionManager = sessionManager;
|
||||||
@ -33,6 +35,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
_networkManager = networkManager;
|
_networkManager = networkManager;
|
||||||
_userManager = userManager;
|
_userManager = userManager;
|
||||||
_dlnaManager = dlnaManager;
|
_dlnaManager = dlnaManager;
|
||||||
|
_appHost = appHost;
|
||||||
_logger = logManager.GetLogger("PlayTo");
|
_logger = logManager.GetLogger("PlayTo");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,7 +72,7 @@ namespace MediaBrowser.Dlna.PlayTo
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
_manager = new PlayToManager(_logger, _config, _sessionManager, _httpClient, _itemRepo, _libraryManager, _networkManager, _userManager, _dlnaManager);
|
_manager = new PlayToManager(_logger, _config, _sessionManager, _httpClient, _itemRepo, _libraryManager, _networkManager, _userManager, _dlnaManager, _appHost);
|
||||||
_manager.Start();
|
_manager.Start();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
@ -861,7 +861,7 @@ namespace MediaBrowser.ServerApplication
|
|||||||
ItemsByNamePath = ApplicationPaths.ItemsByNamePath,
|
ItemsByNamePath = ApplicationPaths.ItemsByNamePath,
|
||||||
CachePath = ApplicationPaths.CachePath,
|
CachePath = ApplicationPaths.CachePath,
|
||||||
MacAddress = GetMacAddress(),
|
MacAddress = GetMacAddress(),
|
||||||
HttpServerPortNumber = ServerConfigurationManager.Configuration.HttpServerPortNumber,
|
HttpServerPortNumber = HttpServerPort,
|
||||||
OperatingSystem = Environment.OSVersion.ToString(),
|
OperatingSystem = Environment.OSVersion.ToString(),
|
||||||
CanSelfRestart = CanSelfRestart,
|
CanSelfRestart = CanSelfRestart,
|
||||||
CanSelfUpdate = CanSelfUpdate,
|
CanSelfUpdate = CanSelfUpdate,
|
||||||
@ -874,6 +874,11 @@ namespace MediaBrowser.ServerApplication
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int HttpServerPort
|
||||||
|
{
|
||||||
|
get { return ServerConfigurationManager.Configuration.HttpServerPortNumber; }
|
||||||
|
}
|
||||||
|
|
||||||
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
|
private readonly CultureInfo _usCulture = new CultureInfo("en-US");
|
||||||
private string GetWanAddress()
|
private string GetWanAddress()
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user