aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-11-26 22:44:33 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-11-26 22:44:33 -0500
commitda4b87033e7432ad8ff057c0dfa6f51f28aceb6d (patch)
tree9eb40f3aec83d597869dce87c692c7605fabb608
parent70161732177de548e87c301319cc1c3a44e7deb8 (diff)
added StreamBuilder unit test
-rw-r--r--MediaBrowser.Tests/Dlna/StreamBuilderTests.cs78
-rw-r--r--MediaBrowser.Tests/MediaBrowser.Tests.csproj1
2 files changed, 79 insertions, 0 deletions
diff --git a/MediaBrowser.Tests/Dlna/StreamBuilderTests.cs b/MediaBrowser.Tests/Dlna/StreamBuilderTests.cs
new file mode 100644
index 000000000..d2a579838
--- /dev/null
+++ b/MediaBrowser.Tests/Dlna/StreamBuilderTests.cs
@@ -0,0 +1,78 @@
+using MediaBrowser.Model.Dlna;
+using MediaBrowser.Model.Dlna.Profiles;
+using MediaBrowser.Model.Dto;
+using MediaBrowser.Model.Entities;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Tests.Dlna
+{
+ [TestClass]
+ public class StreamBuilderTests
+ {
+ [TestMethod]
+ public void TestVideoProfile()
+ {
+ var profile = new AndroidProfile(true, false, new[]
+ {
+ "high",
+ "baseline",
+ "constrained baseline"
+ });
+
+ var builder = new StreamBuilder();
+
+ var mediaSources = new List<MediaSourceInfo>
+ {
+ new MediaSourceInfo
+ {
+ Bitrate = 6200000,
+ Container = "mkv",
+ Path= "\\server\\test.mkv",
+ Protocol = Model.MediaInfo.MediaProtocol.File,
+ RunTimeTicks = TimeSpan.FromMinutes(60).Ticks,
+ VideoType = VideoType.VideoFile,
+ Type = MediaSourceType.Default,
+ MediaStreams = new List<MediaStream>
+ {
+ new MediaStream
+ {
+ Codec = "H264",
+ Type = MediaStreamType.Video,
+ Profile = "High",
+ IsCabac = true
+ },
+ new MediaStream
+ {
+ Codec = "AC3",
+ Type = MediaStreamType.Audio
+ }
+ }
+ }
+ };
+
+ var options = new VideoOptions
+ {
+ Context = EncodingContext.Streaming,
+ DeviceId = Guid.NewGuid().ToString(),
+ ItemId = Guid.NewGuid().ToString(),
+ Profile = profile,
+ MediaSources = mediaSources
+ };
+
+ var streamInfo = builder.BuildVideoItem(options);
+
+ var url = streamInfo.ToDlnaUrl("http://localhost:8096");
+
+ var containsHighProfile = url.IndexOf(";high;", StringComparison.OrdinalIgnoreCase) != -1;
+ var containsBaseline = url.IndexOf(";baseline;", StringComparison.OrdinalIgnoreCase) != -1;
+
+ Assert.IsTrue(containsHighProfile);
+ Assert.IsFalse(containsBaseline);
+
+ var isHls = url.IndexOf("master.m3u8?", StringComparison.OrdinalIgnoreCase) != -1;
+ Assert.IsTrue(isHls);
+ }
+ }
+}
diff --git a/MediaBrowser.Tests/MediaBrowser.Tests.csproj b/MediaBrowser.Tests/MediaBrowser.Tests.csproj
index f93a2612a..b4755e9c5 100644
--- a/MediaBrowser.Tests/MediaBrowser.Tests.csproj
+++ b/MediaBrowser.Tests/MediaBrowser.Tests.csproj
@@ -50,6 +50,7 @@
</Otherwise>
</Choose>
<ItemGroup>
+ <Compile Include="Dlna\StreamBuilderTests.cs" />
<Compile Include="MediaEncoding\Subtitles\AssParserTests.cs" />
<Compile Include="MediaEncoding\Subtitles\SrtParserTests.cs" />
<Compile Include="MediaEncoding\Subtitles\VttWriterTest.cs" />