public void TestLoadPlaylistEvent() { int elementLoaded = 0; MediaFileSet nfs; PlaylistPlayElement el1; player.ElementLoadedEvent += (element, hasNext) => { if (element != null) { elementLoaded++; } }; PreparePlayer (); /* Load playlist timeline event element */ nfs = Cloner.Clone (mfs); el1 = playlist.Elements [0] as PlaylistPlayElement; el1.FileSet = nfs; currentTime = el1.Play.Start; player.LoadPlaylistEvent (playlist, el1); Assert.AreEqual (1, elementLoaded); elementLoaded = 0; Assert.AreEqual (el1.CamerasConfig, player.CamerasConfig); Assert.AreEqual (el1.CamerasLayout, player.CamerasLayout); playerMock.Verify (p => p.Open (nfs [0]), Times.Once ()); playerMock.Verify (p => p.Seek (el1.Play.Start, true, false), Times.Never ()); playerMock.Verify (p => p.Play (), Times.Never ()); playerMock.VerifySet (p => p.Rate = 1); playerMock.Raise (p => p.ReadyToSeek += null, this); playerMock.Verify (p => p.Seek (el1.Play.Start, true, false), Times.Once ()); playerMock.Verify (p => p.Play (), Times.Once ()); /* Load still image */ player.LoadPlaylistEvent (playlist, plImage); playerMock.ResetCalls (); player.Pause (); playerMock.Verify (p => p.Pause (), Times.Never ()); Assert.IsFalse (player.Playing); player.Play (); playerMock.Verify (p => p.Play (), Times.Never ()); Assert.IsTrue (player.Playing); /* Load drawings */ PlaylistDrawing dr = new PlaylistDrawing (new FrameDrawing ()); player.LoadPlaylistEvent (playlist, dr); playerMock.ResetCalls (); player.Pause (); playerMock.Verify (p => p.Pause (), Times.Never ()); Assert.IsFalse (player.Playing); player.Play (); playerMock.Verify (p => p.Play (), Times.Never ()); Assert.IsTrue (player.Playing); /* Load video */ PlaylistVideo vid = new PlaylistVideo (mfs [0]); player.LoadPlaylistEvent (playlist, vid); Assert.AreNotEqual (mfs, player.FileSet); Assert.IsTrue (player.Playing); Assert.AreEqual (new List<CameraConfig> { new CameraConfig (0) }, player.CamerasConfig); }
void ProcessDrawing(PlaylistDrawing drawing) { Image img; Log.Debug (String.Format ("Adding still drawing with duration {0}s", drawing.Duration)); img = Drawing.Utils.RenderFrameDrawing (Config.DrawingToolkit, drawing.Width, drawing.Height, drawing.Drawing); ProcessImage (img, drawing.Duration); }