From 7e35538cb877199bcb24eaefb3e8d5a91f759af3 Mon Sep 17 00:00:00 2001 From: Bartosz Firyn Date: Mon, 25 Sep 2017 17:08:15 +0200 Subject: [PATCH] Do not use JPEG parser with MJPEG format After running few tests it came to be clear that using jpegparse bin cause FPS slowdown on long running applications. It was ok for taking single images, but for longer video feed it is unacceptable. --- .../github/sarxos/webcam/ds/gstreamer/GStreamerDevice.java | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/webcam-capture-drivers/driver-gstreamer/src/main/java/com/github/sarxos/webcam/ds/gstreamer/GStreamerDevice.java b/webcam-capture-drivers/driver-gstreamer/src/main/java/com/github/sarxos/webcam/ds/gstreamer/GStreamerDevice.java index 3bfb0c7f..8b8721bf 100644 --- a/webcam-capture-drivers/driver-gstreamer/src/main/java/com/github/sarxos/webcam/ds/gstreamer/GStreamerDevice.java +++ b/webcam-capture-drivers/driver-gstreamer/src/main/java/com/github/sarxos/webcam/ds/gstreamer/GStreamerDevice.java @@ -67,7 +67,6 @@ public class GStreamerDevice implements WebcamDevice, RGBDataSink.Listener, Webc private Pipeline pipe = null; private Element source = null; private Element filter = null; - private Element jpegparse = null; private Element jpegdec = null; private Element[] elements = null; private RGBDataSink sink = null; @@ -136,7 +135,6 @@ private synchronized void init() { filter = ElementFactory.make("capsfilter", "capsfilter"); - jpegparse = ElementFactory.make("jpegparse", "jpegparse"); jpegdec = ElementFactory.make("jpegdec", "jpegdec"); pipelineReady(); @@ -306,7 +304,7 @@ private void pipelineElementsReset() { private Element[] pipelineElementsPrepare() { if (elements == null) { if (FORMAT_MJPEG.equals(format)) { - elements = new Element[] { source, filter, jpegparse, jpegdec, sink }; + elements = new Element[] { source, filter, jpegdec, sink }; } else { elements = new Element[] { source, filter, sink }; } @@ -371,7 +369,6 @@ public void dispose() { source.dispose(); filter.dispose(); - jpegparse.dispose(); jpegdec.dispose(); caps.dispose(); sink.dispose();