Files
gstreamerViewer/include/gstreamerpipelinewidget.h
2025-12-19 13:04:26 +01:00

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