public void OBSStreamStatus_BuildFromJSON() { int bytesPerSec = 294400; int kbitsPerSec = 2300; float strain = 0.5f; int streamTime = 120; int totalFrames = 2000; int droppedFrames = 12; float fps = 29.97f; var data = new JObject(); data.Add("streaming", true); data.Add("recording", true); data.Add("bytes-per-sec", bytesPerSec); data.Add("kbits-per-sec", kbitsPerSec); data.Add("strain", strain); data.Add("total-stream-time", streamTime); data.Add("num-total-frames", totalFrames); data.Add("num-dropped-frames", droppedFrames); data.Add("fps", fps); var streamStatus = new OBSStreamStatus(data); Assert.IsTrue(streamStatus.Streaming); Assert.IsTrue(streamStatus.Recording); Assert.AreEqual(bytesPerSec, streamStatus.BytesPerSec); Assert.AreEqual(kbitsPerSec, streamStatus.KbitsPerSec); Assert.AreEqual(strain, streamStatus.Strain); Assert.AreEqual(streamTime, streamStatus.TotalStreamTime); Assert.AreEqual(totalFrames, streamStatus.TotalFrames); Assert.AreEqual(droppedFrames, streamStatus.DroppedFrames); Assert.AreEqual(fps, streamStatus.FPS); }
private void onStreamData(OBSWebsocket sender, OBSStreamStatus data) { BeginInvoke((MethodInvoker) delegate { txtStreamTime.Text = data.TotalStreamTime.ToString() + " sec"; txtKbitsSec.Text = data.KbitsPerSec.ToString() + " kbit/s"; txtBytesSec.Text = data.BytesPerSec.ToString() + " bytes/s"; txtFramerate.Text = data.FPS.ToString() + " FPS"; txtStrain.Text = (data.Strain * 100).ToString() + " %"; txtDroppedFrames.Text = data.DroppedFrames.ToString(); txtTotalFrames.Text = data.TotalFrames.ToString(); }); }