V4l2 input (#825)

This commit is contained in:
Paulchen Panther
2020-06-17 20:55:57 +02:00
committed by GitHub
parent 423a59fa34
commit 756247aa1e
18 changed files with 252 additions and 77 deletions

View File

@@ -9,6 +9,7 @@
#include <QSocketNotifier>
#include <QRectF>
#include <QMap>
#include <QMultiMap>
// util includes
#include <utils/PixelFormat.h>
@@ -43,15 +44,17 @@ class V4L2Grabber : public Grabber
public:
struct DeviceProperties
{
QString name = QString();
QStringList resolutions = QStringList();
QStringList framerates = QStringList();
QString name = QString();
QMultiMap<QString, int> inputs = QMultiMap<QString, int>();
QStringList resolutions = QStringList();
QStringList framerates = QStringList();
};
V4L2Grabber(const QString & device,
const unsigned width,
const unsigned height,
const unsigned fps,
const unsigned input,
VideoStandard videoStandard,
PixelFormat pixelFormat,
int pixelDecimation
@@ -103,13 +106,18 @@ public:
///
/// @brief overwrite Grabber.h implementation
///
bool setFramerate(int fps) override;
bool setInput(int input) override;
///
/// @brief overwrite Grabber.h implementation
///
bool setWidthHeight(int width, int height) override;
///
/// @brief overwrite Grabber.h implementation
///
bool setFramerate(int fps) override;
///
/// @brief overwrite Grabber.h implementation
///
@@ -120,6 +128,11 @@ public:
///
QString getV4L2deviceName(QString devicePath) override;
///
/// @brief overwrite Grabber.h implementation
///
QMultiMap<QString, int> getV4L2deviceInputs(QString devicePath) override;
///
/// @brief overwrite Grabber.h implementation
///
@@ -159,7 +172,7 @@ private:
void init_userp(unsigned int buffer_size);
void init_device(VideoStandard videoStandard, int input);
void init_device(VideoStandard videoStandard);
void uninit_device();
@@ -230,7 +243,6 @@ private:
QString _deviceName;
std::map<QString, QString> _v4lDevices;
QMap<QString, V4L2Grabber::DeviceProperties> _deviceProperties;
int _input;
VideoStandard _videoStandard;
io_method _ioMethod;
int _fileDescriptor;

View File

@@ -12,6 +12,7 @@ public:
const unsigned grabWidth,
const unsigned grabHeight,
const unsigned fps,
const unsigned input,
VideoStandard videoStandard,
PixelFormat pixelFormat,
int pixelDecimation );