aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoe Rogers <1337joe@gmail.com>2021-11-17 22:03:52 +0100
committerJoe Rogers <1337joe@gmail.com>2021-11-17 22:34:04 +0100
commit7cf576794940973ef31772b8524ff3c4ff82d09c (patch)
tree29aaff8bdc8067af346ba500e254e3ea180deb0e
parentc32a421ea79c24760e1beabe9cfa0a0fffce67c4 (diff)
Query media streams by type instead of filtering
-rw-r--r--MediaBrowser.Controller/Entities/Audio/Audio.cs9
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs8
-rw-r--r--MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs5
-rw-r--r--MediaBrowser.Providers/MediaInfo/EmbeddedImageProvider.cs2
-rw-r--r--MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs2
-rw-r--r--tests/Jellyfin.Providers.Tests/MediaInfo/EmbeddedImageProviderTests.cs2
-rw-r--r--tests/Jellyfin.Providers.Tests/MediaInfo/VideoImageProviderTests.cs2
7 files changed, 12 insertions, 18 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/Audio.cs b/MediaBrowser.Controller/Entities/Audio/Audio.cs
index 536668e50..2f3af84e7 100644
--- a/MediaBrowser.Controller/Entities/Audio/Audio.cs
+++ b/MediaBrowser.Controller/Entities/Audio/Audio.cs
@@ -126,15 +126,6 @@ namespace MediaBrowser.Controller.Entities.Audio
return base.GetBlockUnratedType();
}
- public List<MediaStream> GetMediaStreams(MediaStreamType type)
- {
- return MediaSourceManager.GetMediaStreams(new MediaStreamQuery
- {
- ItemId = Id,
- Type = type
- });
- }
-
public SongInfo GetLookupInfo()
{
var info = GetItemLookupInfo<SongInfo>();
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index a76ca2305..853488a1d 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -1108,9 +1108,15 @@ namespace MediaBrowser.Controller.Entities
public virtual List<MediaStream> GetMediaStreams()
{
+ return GetMediaStreams(null);
+ }
+
+ public virtual List<MediaStream> GetMediaStreams(MediaStreamType? type)
+ {
return MediaSourceManager.GetMediaStreams(new MediaStreamQuery
{
- ItemId = Id
+ ItemId = Id,
+ Type = type
});
}
diff --git a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
index 8c81b08db..6b662ebc4 100644
--- a/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/AudioImageProvider.cs
@@ -49,10 +49,7 @@ namespace MediaBrowser.Providers.MediaInfo
{
var audio = (Audio)item;
- var imageStreams =
- audio.GetMediaStreams(MediaStreamType.EmbeddedImage)
- .Where(i => i.Type == MediaStreamType.EmbeddedImage)
- .ToList();
+ var imageStreams = audio.GetMediaStreams(MediaStreamType.EmbeddedImage);
// Can't extract if we didn't find a video stream in the file
if (imageStreams.Count == 0)
diff --git a/MediaBrowser.Providers/MediaInfo/EmbeddedImageProvider.cs b/MediaBrowser.Providers/MediaInfo/EmbeddedImageProvider.cs
index 186e55f1d..e27fd094c 100644
--- a/MediaBrowser.Providers/MediaInfo/EmbeddedImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/EmbeddedImageProvider.cs
@@ -139,7 +139,7 @@ namespace MediaBrowser.Providers.MediaInfo
}
// Fall back to EmbeddedImage streams
- var imageStreams = item.GetMediaStreams().FindAll(i => i.Type == MediaStreamType.EmbeddedImage);
+ var imageStreams = item.GetMediaStreams(MediaStreamType.EmbeddedImage);
if (imageStreams.Count == 0)
{
diff --git a/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs b/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
index d226182c0..a90ef4739 100644
--- a/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
+++ b/MediaBrowser.Providers/MediaInfo/VideoImageProvider.cs
@@ -83,7 +83,7 @@ namespace MediaBrowser.Providers.MediaInfo
? TimeSpan.FromTicks(item.RunTimeTicks.Value / 10)
: TimeSpan.FromSeconds(10);
- var videoStream = item.GetDefaultVideoStream() ?? item.GetMediaStreams().FirstOrDefault(i => i.Type == MediaStreamType.Video);
+ var videoStream = item.GetDefaultVideoStream() ?? item.GetMediaStreams(MediaStreamType.Video).FirstOrDefault();
if (videoStream == null)
{
diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/EmbeddedImageProviderTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/EmbeddedImageProviderTests.cs
index 38eac28a2..ede285c2e 100644
--- a/tests/Jellyfin.Providers.Tests/MediaInfo/EmbeddedImageProviderTests.cs
+++ b/tests/Jellyfin.Providers.Tests/MediaInfo/EmbeddedImageProviderTests.cs
@@ -147,7 +147,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo
movie.Setup(item => item.GetMediaSources(It.IsAny<bool>()))
.Returns(new List<MediaSourceInfo> { new () { MediaAttachments = mediaAttachments } } );
- movie.Setup(item => item.GetMediaStreams())
+ movie.Setup(item => item.GetMediaStreams(MediaStreamType.EmbeddedImage))
.Returns(mediaStreams);
return movie.Object;
diff --git a/tests/Jellyfin.Providers.Tests/MediaInfo/VideoImageProviderTests.cs b/tests/Jellyfin.Providers.Tests/MediaInfo/VideoImageProviderTests.cs
index 0f51a2b8f..5af167f11 100644
--- a/tests/Jellyfin.Providers.Tests/MediaInfo/VideoImageProviderTests.cs
+++ b/tests/Jellyfin.Providers.Tests/MediaInfo/VideoImageProviderTests.cs
@@ -167,7 +167,7 @@ namespace Jellyfin.Providers.Tests.MediaInfo
movie.Setup(item => item.GetDefaultVideoStream())
.Returns(defaultStream!);
- movie.Setup(item => item.GetMediaStreams())
+ movie.Setup(item => item.GetMediaStreams(MediaStreamType.Video))
.Returns(mediaStreams);
return movie.Object;