35 lines
604 B
C++

/* 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);
};