diff options
author | Vedant Paranjape <vedantparanjape160201@gmail.com> | 2021-09-08 13:24:42 +0530 |
---|---|---|
committer | Paul Elder <paul.elder@ideasonboard.com> | 2021-09-08 17:40:53 +0900 |
commit | 39c2d5dc95e46b8c1659b721521e4e438ab7d8a3 (patch) | |
tree | 55a422523a840363e0dcf24071238e09a95c9a59 /test/gstreamer/gstreamer_test.h | |
parent | a25710428e1a6ef9fff3d70e3f50c01a88cde9f2 (diff) |
test: gstreamer: Factor out code into a base class
A lot of code used in the single stream test is boiler plate and common
across every gstreamer test. Factor out this code into a base class
called GstreamerTest.
Also update the gstreamer_single_stream_test to use the GstreamerTest
base class.
Signed-off-by: Vedant Paranjape <vedantparanjape160201@gmail.com>
Reviewed-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Paul Elder <paul.elder@ideasonboard.com>
Signed-off-by: Paul Elder <paul.elder@ideasonboard.com>
Diffstat (limited to 'test/gstreamer/gstreamer_test.h')
-rw-r--r-- | test/gstreamer/gstreamer_test.h | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/gstreamer/gstreamer_test.h b/test/gstreamer/gstreamer_test.h new file mode 100644 index 00000000..9c50e288 --- /dev/null +++ b/test/gstreamer/gstreamer_test.h @@ -0,0 +1,39 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * Copyright (C) 2021, Vedant Paranjape + * + * gstreamer_test.cpp - GStreamer test base class + */ + +#ifndef __LIBCAMERA_GSTREAMER_TEST_H__ +#define __LIBCAMERA_GSTREAMER_TEST_H__ + +#include <iostream> +#include <unistd.h> + +#include <libcamera/base/utils.h> + +#include "libcamera/internal/source_paths.h" + +#include <gst/gst.h> + +using namespace std; + +class GstreamerTest +{ +public: + GstreamerTest(); + virtual ~GstreamerTest(); + +protected: + virtual int createPipeline(); + int startPipeline(); + int processEvent(); + void printError(GstMessage *msg); + + GstElement *pipeline_; + GstElement *libcameraSrc_; + int status_; +}; + +#endif /* __LIBCAMERA_GSTREAMER_TEST_H__ */ |