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(); }
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); }
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)); }
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); }