public void consume(byte[] data) { //MathContext mc = new MathContext(2, RoundingMode.HALF_UP); average.add((MovingAverage.CurrentTimeMillis() - lastFrame) / 1000); //LOGGER.debug("consuming video packet at a framerate of {}", new BigDecimal(1).divide(average.getAverage(),mc)); byte[] jpeg = getJpeg(data); if (writeToDisk) { using (FileStream fos = new FileStream(FRAME_JPG, FileMode.Create)) { //LOGGER.debug("writing video jpg to " + file.getAbsolutePath()); fos.Write(jpeg, 0, jpeg.Length); } } lastFrame = MovingAverage.CurrentTimeMillis(); }