예제 #1
0
        public async Task Seek_Called_ResumesDemuxer()
        {
            var demuxerStub    = Substitute.For <IDemuxerController>();
            var clipDefinition = new ClipDefinition();
            var dataProvider   = new HLSDataProvider(demuxerStub, clipDefinition);

            await dataProvider.Seek(TimeSpan.FromSeconds(5), CancellationToken.None);

            demuxerStub.Received().Resume();
        }
예제 #2
0
        public void GetStreamsDescription_ClipWithNoSubtitles_ReturnsEmptyList()
        {
            var demuxerMock    = Substitute.For <IDemuxerController>();
            var clipDefinition = new ClipDefinition();
            var dataProvider   = new HLSDataProvider(demuxerMock, clipDefinition);

            var streamsDescription = dataProvider.GetStreamsDescription(StreamType.Subtitle);

            Assert.That(streamsDescription, Is.Empty);
        }
예제 #3
0
        public void OnChangeActiveStream_UnknownSubtitles_ThrowsArgumentException()
        {
            var demuxerMock       = Substitute.For <IDemuxerController>();
            var clipDefinition    = new ClipDefinition();
            var dataProvider      = new HLSDataProvider(demuxerMock, clipDefinition);
            var streamDescription = new StreamDescription
            {
                StreamType = StreamType.Subtitle
            };

            Assert.Throws <ArgumentException>(() => dataProvider.ChangeActiveStream(streamDescription));
        }
예제 #4
0
        public async Task PacketReady_DemuxerSendsNullPacket_ProducesEOSPackets()
        {
            var demuxerStub = Substitute.For <IDemuxerController>();

            demuxerStub.PacketReady()
            .Returns(Observable.Return <Packet>(null));
            var clipDefinition = new ClipDefinition();
            var dataProvider   = new HLSDataProvider(demuxerStub, clipDefinition);

            var packets = await dataProvider.PacketReady()
                          .ToList()
                          .ToTask();

            Assert.That(packets.Count, Is.EqualTo(2));
            Assert.That(packets.All(p => p.GetType() == typeof(EOSPacket)), Is.True);
        }