mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-03 06:18:28 +01:00
update recording fields
This commit is contained in:
@@ -52,6 +52,7 @@ namespace Rssdp.Infrastructure
|
||||
private int _MulticastTtl;
|
||||
|
||||
private bool _IsShared;
|
||||
private readonly bool _enableMultiSocketBinding;
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -75,8 +76,8 @@ namespace Rssdp.Infrastructure
|
||||
/// Minimum constructor.
|
||||
/// </summary>
|
||||
/// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
|
||||
public SsdpCommunicationsServer(ISocketFactory socketFactory, INetworkManager networkManager, ILogger logger)
|
||||
: this(socketFactory, 0, SsdpConstants.SsdpDefaultMulticastTimeToLive, networkManager, logger)
|
||||
public SsdpCommunicationsServer(ISocketFactory socketFactory, INetworkManager networkManager, ILogger logger, bool enableMultiSocketBinding)
|
||||
: this(socketFactory, 0, SsdpConstants.SsdpDefaultMulticastTimeToLive, networkManager, logger, enableMultiSocketBinding)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -85,7 +86,7 @@ namespace Rssdp.Infrastructure
|
||||
/// </summary>
|
||||
/// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
|
||||
/// <exception cref="System.ArgumentOutOfRangeException">The <paramref name="multicastTimeToLive"/> argument is less than or equal to zero.</exception>
|
||||
public SsdpCommunicationsServer(ISocketFactory socketFactory, int localPort, int multicastTimeToLive, INetworkManager networkManager, ILogger logger)
|
||||
public SsdpCommunicationsServer(ISocketFactory socketFactory, int localPort, int multicastTimeToLive, INetworkManager networkManager, ILogger logger, bool enableMultiSocketBinding)
|
||||
{
|
||||
if (socketFactory == null) throw new ArgumentNullException("socketFactory");
|
||||
if (multicastTimeToLive <= 0) throw new ArgumentOutOfRangeException("multicastTimeToLive", "multicastTimeToLive must be greater than zero.");
|
||||
@@ -102,6 +103,7 @@ namespace Rssdp.Infrastructure
|
||||
_MulticastTtl = multicastTimeToLive;
|
||||
_networkManager = networkManager;
|
||||
_logger = logger;
|
||||
_enableMultiSocketBinding = enableMultiSocketBinding;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -199,16 +201,22 @@ namespace Rssdp.Infrastructure
|
||||
if (fromLocalIpAddress.AddressFamily == IpAddressFamily.InterNetwork)
|
||||
{
|
||||
sockets = sockets.Where(i => i.LocalIPAddress.Equals(IpAddressInfo.Any) || fromLocalIpAddress.Equals(i.LocalIPAddress));
|
||||
|
||||
// If sending to the loopback address, filter the socket list as well
|
||||
if (destination.IpAddress.Equals(IpAddressInfo.Loopback))
|
||||
{
|
||||
sockets = sockets.Where(i => i.LocalIPAddress.Equals(IpAddressInfo.Any) || i.LocalIPAddress.Equals(IpAddressInfo.Loopback));
|
||||
}
|
||||
}
|
||||
else if (fromLocalIpAddress.AddressFamily == IpAddressFamily.InterNetworkV6)
|
||||
{
|
||||
sockets = sockets.Where(i => i.LocalIPAddress.Equals(IpAddressInfo.IPv6Any) || fromLocalIpAddress.Equals(i.LocalIPAddress));
|
||||
}
|
||||
|
||||
// If sending to the loopback address, filter the socket list as well
|
||||
if (destination.IpAddress.Equals(IpAddressInfo.Loopback))
|
||||
{
|
||||
sockets = sockets.Where(i => i.LocalIPAddress.Equals(IpAddressInfo.Any) || i.LocalIPAddress.Equals(IpAddressInfo.Loopback));
|
||||
// If sending to the loopback address, filter the socket list as well
|
||||
if (destination.IpAddress.Equals(IpAddressInfo.IPv6Loopback))
|
||||
{
|
||||
sockets = sockets.Where(i => i.LocalIPAddress.Equals(IpAddressInfo.IPv6Any) || i.LocalIPAddress.Equals(IpAddressInfo.IPv6Loopback));
|
||||
}
|
||||
}
|
||||
|
||||
return sockets.ToList();
|
||||
@@ -353,15 +361,18 @@ namespace Rssdp.Infrastructure
|
||||
|
||||
sockets.Add(_SocketFactory.CreateSsdpUdpSocket(IpAddressInfo.Any, _LocalPort));
|
||||
|
||||
foreach (var address in _networkManager.GetLocalIpAddresses().ToList())
|
||||
if (_enableMultiSocketBinding)
|
||||
{
|
||||
try
|
||||
foreach (var address in _networkManager.GetLocalIpAddresses().ToList())
|
||||
{
|
||||
sockets.Add(_SocketFactory.CreateSsdpUdpSocket(address, _LocalPort));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error in CreateSsdpUdpSocket. IPAddress: {0}", ex, address);
|
||||
try
|
||||
{
|
||||
sockets.Add(_SocketFactory.CreateSsdpUdpSocket(address, _LocalPort));
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.ErrorException("Error in CreateSsdpUdpSocket. IPAddress: {0}", ex, address);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user