From 6f252919310ec2577c597a9fa1a7d50b36cceec4 Mon Sep 17 00:00:00 2001 From: whiteowl3 Date: Fri, 11 Mar 2022 06:54:25 +0000 Subject: [PATCH 1/4] allow strm probe to succeed --- .../Encoder/MediaEncoder.cs | 8 +++--- .../MediaInfo/MediaInfoResolver.cs | 27 ++++++++++--------- 2 files changed, 20 insertions(+), 15 deletions(-) diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index c41ed20cdc..72be9b4471 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -458,17 +458,19 @@ namespace MediaBrowser.MediaEncoding.Encoder { _logger.LogDebug("{ProcessFileName} {ProcessArgs}", process.StartInfo.FileName, process.StartInfo.Arguments); } - + using (var processWrapper = new ProcessWrapper(process, this)) { + MemoryStream memoryStream = new MemoryStream(); _logger.LogDebug("Starting ffprobe with args {Args}", args); StartProcess(processWrapper); - + await process.StandardOutput.BaseStream.CopyToAsync(memoryStream, cancellationToken: cancellationToken); + memoryStream.Seek(0, SeekOrigin.Begin); InternalMediaInfoResult result; try { result = await JsonSerializer.DeserializeAsync( - process.StandardOutput.BaseStream, + memoryStream, _jsonSerializerOptions, cancellationToken: cancellationToken).ConfigureAwait(false); } diff --git a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs index 39be405ec5..4c6820ffa8 100644 --- a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs +++ b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs @@ -100,25 +100,28 @@ namespace MediaBrowser.Providers.MediaInfo foreach (var pathInfo in pathInfos) { - var mediaInfo = await GetMediaInfo(pathInfo.Path, _type, cancellationToken).ConfigureAwait(false); - - if (mediaInfo.MediaStreams.Count == 1) + if (!pathInfo.Path.EndsWith(".strm")) { - MediaStream mediaStream = mediaInfo.MediaStreams[0]; - mediaStream.Index = startIndex++; - mediaStream.IsDefault = pathInfo.IsDefault || mediaStream.IsDefault; - mediaStream.IsForced = pathInfo.IsForced || mediaStream.IsForced; + var mediaInfo = await GetMediaInfo(pathInfo.Path, _type, cancellationToken).ConfigureAwait(false); - mediaStreams.Add(MergeMetadata(mediaStream, pathInfo)); - } - else - { - foreach (MediaStream mediaStream in mediaInfo.MediaStreams) + if (mediaInfo.MediaStreams.Count == 1) { + MediaStream mediaStream = mediaInfo.MediaStreams[0]; mediaStream.Index = startIndex++; + mediaStream.IsDefault = pathInfo.IsDefault || mediaStream.IsDefault; + mediaStream.IsForced = pathInfo.IsForced || mediaStream.IsForced; mediaStreams.Add(MergeMetadata(mediaStream, pathInfo)); } + else + { + foreach (MediaStream mediaStream in mediaInfo.MediaStreams) + { + mediaStream.Index = startIndex++; + + mediaStreams.Add(MergeMetadata(mediaStream, pathInfo)); + } + } } } From 669029595b3e5295b50883b58552ef2c944f6650 Mon Sep 17 00:00:00 2001 From: whiteowl3 <71030468+whiteowl3@users.noreply.github.com> Date: Wed, 23 Mar 2022 13:18:34 -0400 Subject: [PATCH 2/4] Update MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs Co-authored-by: Cody Robibero --- MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs index 4c6820ffa8..edb01824fe 100644 --- a/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs +++ b/MediaBrowser.Providers/MediaInfo/MediaInfoResolver.cs @@ -100,7 +100,7 @@ namespace MediaBrowser.Providers.MediaInfo foreach (var pathInfo in pathInfos) { - if (!pathInfo.Path.EndsWith(".strm")) + if (!pathInfo.Path.AsSpan().EndsWith(".strm", StringComparison.OrdinalIgnoreCase)) { var mediaInfo = await GetMediaInfo(pathInfo.Path, _type, cancellationToken).ConfigureAwait(false); From 16a449a0235661a310bac00239378334af72c0cb Mon Sep 17 00:00:00 2001 From: whiteowl3 <71030468+whiteowl3@users.noreply.github.com> Date: Wed, 23 Mar 2022 13:19:05 -0400 Subject: [PATCH 3/4] Apply suggestions from code review Co-authored-by: Cody Robibero --- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index 72be9b4471..c74ffd94a7 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -458,10 +458,9 @@ namespace MediaBrowser.MediaEncoding.Encoder { _logger.LogDebug("{ProcessFileName} {ProcessArgs}", process.StartInfo.FileName, process.StartInfo.Arguments); } - using (var processWrapper = new ProcessWrapper(process, this)) { - MemoryStream memoryStream = new MemoryStream(); + await using var memoryStream = new MemoryStream(); _logger.LogDebug("Starting ffprobe with args {Args}", args); StartProcess(processWrapper); await process.StandardOutput.BaseStream.CopyToAsync(memoryStream, cancellationToken: cancellationToken); From 6a7775de6ecd2287eff7e7bcb4e5a6bca6617855 Mon Sep 17 00:00:00 2001 From: whiteowl3 Date: Fri, 25 Mar 2022 19:08:03 +0000 Subject: [PATCH 4/4] empty line required by linter --- MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs index c74ffd94a7..c796ee7806 100644 --- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs +++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs @@ -458,6 +458,7 @@ namespace MediaBrowser.MediaEncoding.Encoder { _logger.LogDebug("{ProcessFileName} {ProcessArgs}", process.StartInfo.FileName, process.StartInfo.Arguments); } + using (var processWrapper = new ProcessWrapper(process, this)) { await using var memoryStream = new MemoryStream();