Browse Source

fix: consistently apply playout offset when generating xmltv (#2863)

pull/2864/head
Jason Dove 1 month ago committed by GitHub
parent
commit
6ea0a29638
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 27
      ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs

1
CHANGELOG.md

@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -11,6 +11,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Fixed
- Fix `Add Playout` button not opening drop down menu (regression from v26.4.0)
- Consistently apply playout offset when generating XMLTV
## [26.4.0] - 2026-04-18
### Changed

27
ErsatzTV.Application/Channels/Commands/RefreshChannelDataHandler.cs

@ -215,6 +215,18 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData> @@ -215,6 +215,18 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
.AsSplitQuery()
.ToListAsync(cancellationToken);
// apply playout offset to all items consistently
foreach (Playout playout in playouts)
{
foreach (PlayoutItem item in playout.Items)
{
item.Start += playoutOffset;
item.GuideStart += playoutOffset;
item.Finish += playoutOffset;
item.GuideFinish += playoutOffset;
}
}
await using RecyclableMemoryStream ms = _recyclableMemoryStreamManager.GetStream();
await using var xml = XmlWriter.Create(
ms,
@ -238,11 +250,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData> @@ -238,11 +250,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
.OrderBy(pi => pi.Start)
.Filter(pi => pi.StartOffset <= finish)
.ToList();
foreach (var item in floodSorted)
{
item.Start += playoutOffset;
item.Finish += playoutOffset;
}
await WritePlayoutXml(
request,
@ -264,11 +271,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData> @@ -264,11 +271,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
.OrderBy(pi => pi.Start)
.Filter(pi => pi.StartOffset <= finish)
.ToList();
foreach (var item in blockSorted)
{
item.Start += playoutOffset;
item.Finish += playoutOffset;
}
await WriteBlockPlayoutXml(
request,
@ -288,11 +290,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData> @@ -288,11 +290,6 @@ public class RefreshChannelDataHandler : IRequestHandler<RefreshChannelData>
var externalJsonSorted = (await CollectExternalJsonItems(playout.ScheduleFile))
.Filter(pi => pi.StartOffset <= finish)
.ToList();
foreach (var item in externalJsonSorted)
{
item.Start += playoutOffset;
item.Finish += playoutOffset;
}
await WritePlayoutXml(
request,

Loading…
Cancel
Save