Merge pull request #2118 from MediaBrowser/master

merge from master
pull/702/head
Luke 8 years ago committed by GitHub
commit 474d201f6d

@ -26,7 +26,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1); private readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1, 1);
private readonly IHttpClient _httpClient; private readonly IHttpClient _httpClient;
private readonly IJsonSerializer _json; private readonly IJsonSerializer _json;
private int _tunerCountDVBS=0;
private int _tunerCountDVBC=0;
private int _tunerCountDVBT=0;
private bool _supportsDVBS=false;
private bool _supportsDVBC=false;
private bool _supportsDVBT=false;
public static SatIpDiscovery Current; public static SatIpDiscovery Current;
public SatIpDiscovery(IDeviceDiscovery deviceDiscovery, IServerConfigurationManager config, ILogger logger, ILiveTvManager liveTvManager, IHttpClient httpClient, IJsonSerializer json) public SatIpDiscovery(IDeviceDiscovery deviceDiscovery, IServerConfigurationManager config, ILogger logger, ILiveTvManager liveTvManager, IHttpClient httpClient, IJsonSerializer json)
@ -167,7 +172,57 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
public void Dispose() public void Dispose()
{ {
} }
private void ReadCapability(string capability)
{
string[] cap = capability.Split('-');
switch (cap[0].ToLower())
{
case "dvbs":
case "dvbs2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBS = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBS = int.Parse(cap[1]);
break;
}
case "dvbc":
case "dvbc2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBC = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBC = int.Parse(cap[1]);
break;
}
case "dvbt":
case "dvbt2":
{
// Optional that you know what an device Supports can you add an flag
_supportsDVBT = true;
for (int i = 0; i < int.Parse(cap[1]); i++)
{
//ToDo Create Digital Recorder / Tuner Capture Instance here for each with index FE param in Sat>Ip Spec for direct communication with this instance
}
_tunerCountDVBT = int.Parse(cap[1]);
break;
}
}
}
public async Task<SatIpTunerHostInfo> GetInfo(string url, CancellationToken cancellationToken) public async Task<SatIpTunerHostInfo> GetInfo(string url, CancellationToken cancellationToken)
{ {
Uri locationUri = new Uri(url); Uri locationUri = new Uri(url);
@ -227,7 +282,27 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.SatIp
var presentationUrlElement = deviceElement.Element(n0 + "presentationURL"); var presentationUrlElement = deviceElement.Element(n0 + "presentationURL");
if (presentationUrlElement != null) presentationurl = presentationUrlElement.Value; if (presentationUrlElement != null) presentationurl = presentationUrlElement.Value;
var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP"); var capabilitiesElement = deviceElement.Element(n1 + "X_SATIPCAP");
if (capabilitiesElement != null) capabilities = capabilitiesElement.Value; if (capabilitiesElement != null)
{
_capabilities = capabilitiesElement.Value;
if (capabilitiesElement.Value.Contains(','))
{
string[] capabilities = capabilitiesElement.Value.Split(',');
foreach (var capability in capabilities)
{
ReadCapability(capability);
}
}
else
{
ReadCapability(capabilitiesElement.Value);
}
}
else
{
_supportsDVBS = true;
_tunerCountDVBS =1;
}
var m3uElement = deviceElement.Element(n1 + "X_SATIPM3U"); var m3uElement = deviceElement.Element(n1 + "X_SATIPM3U");
if (m3uElement != null) m3u = m3uElement.Value; if (m3uElement != null) m3u = m3uElement.Value;
} }

@ -1,4 +1,4 @@
using System.Reflection; using System.Reflection;
[assembly: AssemblyVersion("3.1.*")] //[assembly: AssemblyVersion("3.1.*")]
//[assembly: AssemblyVersion("3.0.6060")] [assembly: AssemblyVersion("3.0.6300")]

Loading…
Cancel
Save