summaryrefslogtreecommitdiff
path: root/test/gstreamer/gstreamer_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'test/gstreamer/gstreamer_test.h')
-rw-r--r--test/gstreamer/gstreamer_test.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/gstreamer/gstreamer_test.h b/test/gstreamer/gstreamer_test.h
new file mode 100644
index 00000000..abb37c1b
--- /dev/null
+++ b/test/gstreamer/gstreamer_test.h
@@ -0,0 +1,34 @@
+/* SPDX-License-Identifier: GPL-2.0-or-later */
+/*
+ * Copyright (C) 2021, Vedant Paranjape
+ *
+ * GStreamer test base class
+ */
+
+#pragma once
+
+#include <iostream>
+#include <unistd.h>
+
+#include <gst/gst.h>
+
+class GstreamerTest
+{
+public:
+ GstreamerTest(unsigned int numStreams = 1);
+ virtual ~GstreamerTest();
+
+protected:
+ virtual int createPipeline();
+ int startPipeline();
+ int processEvent();
+ void printError(GstMessage *msg);
+
+ std::string cameraName_;
+ GstElement *pipeline_;
+ GstElement *libcameraSrc_;
+ int status_;
+
+private:
+ bool checkMinCameraStreamsAndSetCameraName(unsigned int numStreams);
+};