mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-08-31 08:34:33 +02:00
Preemptively throw a LiveTvConflictException when the tracked live streams for a given device/tuner will exceed the number of supported streams.
This commit is contained in:
parent
e92d8dd195
commit
3fa3a9d57a
1 changed files with 13 additions and 0 deletions
|
@ -563,6 +563,19 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun
|
||||||
|
|
||||||
protected override async Task<ILiveStream> GetChannelStream(TunerHostInfo info, ChannelInfo channelInfo, string streamId, List<ILiveStream> currentLiveStreams, CancellationToken cancellationToken)
|
protected override async Task<ILiveStream> GetChannelStream(TunerHostInfo info, ChannelInfo channelInfo, string streamId, List<ILiveStream> currentLiveStreams, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
var tunerCount = info.TunerCount;
|
||||||
|
|
||||||
|
if (tunerCount > 0)
|
||||||
|
{
|
||||||
|
var tunerHostId = info.Id;
|
||||||
|
var liveStreams = currentLiveStreams.Where(i => string.Equals(i.TunerHostId, tunerHostId, StringComparison.OrdinalIgnoreCase));
|
||||||
|
|
||||||
|
if (liveStreams.Count() >= tunerCount)
|
||||||
|
{
|
||||||
|
throw new LiveTvConflictException("HDHomeRun simultaneous stream limit has been reached.");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var profile = streamId.Split('_')[0];
|
var profile = streamId.Split('_')[0];
|
||||||
|
|
||||||
Logger.LogInformation("GetChannelStream: channel id: {0}. stream id: {1} profile: {2}", channelInfo.Id, streamId, profile);
|
Logger.LogInformation("GetChannelStream: channel id: {0}. stream id: {1} profile: {2}", channelInfo.Id, streamId, profile);
|
||||||
|
|
Loading…
Reference in a new issue