Browse Source

add debug logging to track down playlist filtering issue (#811)

* add debug logging to track down playlist filtering issue

* revert work-ahead change
pull/812/head
Jason Dove 4 years ago committed by GitHub
parent
commit
5213b71d62
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 27
      ErsatzTV.Application/Streaming/HlsSessionWorker.cs
  2. 8
      ErsatzTV.Core/FFmpeg/HlsPlaylistFilter.cs

27
ErsatzTV.Application/Streaming/HlsSessionWorker.cs

@ -31,6 +31,7 @@ public class HlsSessionWorker : IHlsSessionWorker @@ -31,6 +31,7 @@ public class HlsSessionWorker : IHlsSessionWorker
private Option<int> _targetFramerate;
private Timer _timer;
private DateTimeOffset _transcodedUntil;
private DateTimeOffset _playlistStart;
public HlsSessionWorker(
IHlsPlaylistFilter hlsPlaylistFilter,
@ -44,7 +45,15 @@ public class HlsSessionWorker : IHlsSessionWorker @@ -44,7 +45,15 @@ public class HlsSessionWorker : IHlsSessionWorker
_logger = logger;
}
public DateTimeOffset PlaylistStart { get; private set; }
public DateTimeOffset PlaylistStart
{
get => _playlistStart;
private set
{
_logger.LogDebug("Setting PlaylistStart to {PlaylistStart}", value);
_playlistStart = value;
}
}
public void Touch()
{
@ -348,14 +357,14 @@ public class HlsSessionWorker : IHlsSessionWorker @@ -348,14 +357,14 @@ public class HlsSessionWorker : IHlsSessionWorker
.ToList();
var toDelete = allSegments.Filter(s => s.SequenceNumber < trimResult.Sequence).ToList();
// if (toDelete.Count > 0)
// {
// _logger.LogInformation(
// "Deleting HLS segments {Min} to {Max} (less than {StartSequence})",
// toDelete.Map(s => s.SequenceNumber).Min(),
// toDelete.Map(s => s.SequenceNumber).Max(),
// trimResult.Sequence);
// }
if (toDelete.Count > 0)
{
_logger.LogDebug(
"Deleting HLS segments {Min} to {Max} (less than {StartSequence})",
toDelete.Map(s => s.SequenceNumber).Min(),
toDelete.Map(s => s.SequenceNumber).Max(),
trimResult.Sequence);
}
foreach (Segment segment in toDelete)
{

8
ErsatzTV.Core/FFmpeg/HlsPlaylistFilter.cs

@ -25,6 +25,13 @@ public class HlsPlaylistFilter : IHlsPlaylistFilter @@ -25,6 +25,13 @@ public class HlsPlaylistFilter : IHlsPlaylistFilter
{
try
{
_logger.LogDebug(
"TrimPlaylist - Start {PlaylistStart}, FilterBefore {FilterBefore}, MaxSegments {MaxSegments}, EndWithDiscontinuity {EndWithDiscontinuity}",
playlistStart,
filterBefore,
maxSegments,
endWithDiscontinuity);
DateTimeOffset currentTime = playlistStart;
DateTimeOffset nextPlaylistStart = DateTimeOffset.MaxValue;
@ -113,6 +120,7 @@ public class HlsPlaylistFilter : IHlsPlaylistFilter @@ -113,6 +120,7 @@ public class HlsPlaylistFilter : IHlsPlaylistFilter
playlist += "#EXT-X-DISCONTINUITY" + Environment.NewLine;
}
// if (playlist.Trim().Split(Environment.NewLine).All(l => string.IsNullOrWhiteSpace(l) || l.StartsWith('#')))
if (playlist.Trim().Split(Environment.NewLine).All(l => l.StartsWith('#')))
{
throw new Exception("Trimming playlist to nothing");

Loading…
Cancel
Save