Browse Source

fix playback troubleshooting (#2488)

pull/2489/head
Jason Dove 8 months ago committed by GitHub
parent
commit
f3f900b4ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 1
      CHANGELOG.md
  2. 32
      ErsatzTV/Pages/PlaybackTroubleshooting.razor

1
CHANGELOG.md

@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). @@ -8,6 +8,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Do not allow deleting ffmpeg profiles that are used by channels
- Allow ffmpeg profiles using VAAPI accel to set h264 video profile
- Fix HLS Direct playback, and make it accessible on separate streaming port
- Fix playback troubleshooting when using multiple watermarks or multiple graphics elements
## [25.7.0] - 2025-09-14
### Added

32
ErsatzTV/Pages/PlaybackTroubleshooting.razor

@ -252,19 +252,19 @@ @@ -252,19 +252,19 @@
var baseUri = NavigationManager.ToAbsoluteUri(NavigationManager.Uri).ToString();
string apiUri = baseUri.Replace("/system/troubleshooting/playback", "/api/troubleshoot/playback.m3u8");
var queryString = new Dictionary<string, string>
var queryString = new List<KeyValuePair<string, string>>
{
["mediaItem"] = (MediaItemId ?? 0).ToString(),
["ffmpegProfile"] = _ffmpegProfileId.ToString(),
["streamingMode"] = ((int)_streamingMode).ToString(),
["seekSeconds"] = _seekSeconds.ToString()
new ("mediaItem", (MediaItemId ?? 0).ToString()),
new ("ffmpegProfile", _ffmpegProfileId.ToString()),
new ("streamingMode", ((int)_streamingMode).ToString()),
new ("seekSeconds", _seekSeconds.ToString())
};
foreach (string watermarkName in _watermarkNames)
{
foreach (WatermarkViewModel watermark in _watermarks.Where(wm => wm.Name == watermarkName))
{
queryString.Add("watermark", watermark.Id.ToString());
queryString.Add(new KeyValuePair<string, string>("watermark", watermark.Id.ToString()));
}
}
@ -272,17 +272,17 @@ @@ -272,17 +272,17 @@
{
foreach (GraphicsElementViewModel graphicsElement in _graphicsElements.Where(ge => ge.Name == graphicsElementName))
{
queryString.Add("graphicsElement", graphicsElement.Id.ToString());
queryString.Add(new KeyValuePair<string, string>("graphicsElement", graphicsElement.Id.ToString()));
}
}
if (!string.IsNullOrWhiteSpace(_streamSelector))
{
queryString.Add("streamSelector", _streamSelector);
queryString.Add(new KeyValuePair<string, string>("streamSelector", _streamSelector));
}
else if (_subtitleId is not null)
{
queryString.Add("subtitleId", _subtitleId.Value.ToString());
queryString.Add(new KeyValuePair<string, string>("subtitleId", _subtitleId.Value.ToString()));
}
string uriWithQuery = QueryHelpers.AddQueryString(apiUri, queryString);
@ -322,19 +322,19 @@ @@ -322,19 +322,19 @@
private async Task DownloadResults()
{
var queryString = new Dictionary<string, string>
var queryString = new List<KeyValuePair<string, string>>
{
["mediaItem"] = (MediaItemId ?? 0).ToString(),
["ffmpegProfile"] = _ffmpegProfileId.ToString(),
["streamingMode"] = ((int)_streamingMode).ToString(),
["seekSeconds"] = _seekSeconds.ToString()
new ("mediaItem", (MediaItemId ?? 0).ToString()),
new ("ffmpegProfile", _ffmpegProfileId.ToString()),
new ("streamingMode", ((int)_streamingMode).ToString()),
new ("seekSeconds", _seekSeconds.ToString())
};
foreach (string watermarkName in _watermarkNames)
{
foreach (WatermarkViewModel watermark in _watermarks.Where(wm => wm.Name == watermarkName))
{
queryString.Add("watermark", watermark.Id.ToString());
queryString.Add(new KeyValuePair<string, string>("watermark", watermark.Id.ToString()));
}
}
@ -342,7 +342,7 @@ @@ -342,7 +342,7 @@
{
foreach (GraphicsElementViewModel graphicsElement in _graphicsElements.Where(ge => ge.Name == graphicsElementName))
{
queryString.Add("graphicsElement", graphicsElement.Id.ToString());
queryString.Add(new KeyValuePair<string, string>("graphicsElement", graphicsElement.Id.ToString()));
}
}

Loading…
Cancel
Save