47 lines
1.1 KiB
C++
47 lines
1.1 KiB
C++
#ifndef GSTREAMERPIPELINEWIDGET_H
|
|
#define GSTREAMERPIPELINEWIDGET_H
|
|
|
|
#include <QWidget>
|
|
#include <QTextEdit>
|
|
#include <QPushButton>
|
|
#include <QLabel>
|
|
#include <QComboBox>
|
|
#include "socketclient.h"
|
|
|
|
class GStreamerPipelineWidget : public QWidget
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit GStreamerPipelineWidget(SocketClient* socketClient, QWidget *parent = nullptr);
|
|
|
|
private slots:
|
|
void onSetPipeline();
|
|
void onStartStream();
|
|
void onStopStream();
|
|
void onGetStatus();
|
|
void onPipelinePresetChanged(int index);
|
|
void onQuickStart();
|
|
void onFormatsReceived(const QJsonObject& response);
|
|
|
|
private:
|
|
void setupUI();
|
|
void updateStatus(const QString& status, bool streaming);
|
|
void setFormatAndPipeline();
|
|
void fetchAvailableFormats();
|
|
|
|
SocketClient* m_socketClient;
|
|
QTextEdit* m_pipelineEdit;
|
|
QPushButton* m_setPipelineBtn;
|
|
QPushButton* m_startStreamBtn;
|
|
QPushButton* m_stopStreamBtn;
|
|
QPushButton* m_getStatusBtn;
|
|
QPushButton* m_quickStartBtn;
|
|
QLabel* m_statusLabel;
|
|
QLabel* m_infoLabel;
|
|
QComboBox* m_pipelinePresets;
|
|
QComboBox* m_formatCombo;
|
|
};
|
|
|
|
#endif // GSTREAMERPIPELINEWIDGET_H
|