Clean up handling of missing source/attachment in AttachmentExtractor.

This commit is contained in:
Andrew Mahone 2019-11-06 09:46:31 -05:00
parent 79bbf09ecb
commit 4f3b883155

View File

@ -66,23 +66,15 @@ namespace MediaBrowser.MediaEncoding.Attachments
}
var mediaSources = await _mediaSourceManager.GetPlayackMediaSources(item, null, true, false, cancellationToken).ConfigureAwait(false);
MediaSourceInfo mediaSource;
MediaAttachment mediaAttachment;
try
{
mediaSource = mediaSources
.First(i => string.Equals(i.Id, mediaSourceId, StringComparison.OrdinalIgnoreCase));
}
catch (Exception ex) when (ex is ArgumentNullException || ex is InvalidOperationException)
var mediaSource = mediaSources
.FirstOrDefault(i => string.Equals(i.Id, mediaSourceId, StringComparison.OrdinalIgnoreCase));
if (mediaSource == null)
{
throw new ResourceNotFoundException($"MediaSource {mediaSourceId} not found");
}
try
{
mediaAttachment = mediaSource.MediaAttachments
.First(i => i.Index == attachmentStreamIndex);
}
catch (Exception ex) when (ex is ArgumentNullException || ex is InvalidOperationException)
var mediaAttachment = mediaSource.MediaAttachments
.FirstOrDefault(i => i.Index == attachmentStreamIndex);
if (mediaAttachment == null)
{
throw new ResourceNotFoundException($"MediaSource {mediaSourceId} has no attachment with stream index {attachmentStreamIndex}");
}