MediaX v1.0.0rc7 [7e6cb74]
Video streaming for military vehicles
Loading...
Searching...
No Matches
QtSapAnnouncer.h
Go to the documentation of this file.
1//
2// Copyright (c) 2025, Astute Systems PTY LTD
3//
4// This file is part of the VivoeX project developed by Astute Systems.
5//
6// Licensed under the Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
7// License. See the LICENSE file in the project root for full license details.
8//
15
16#ifndef QT6_QTSAPANNOUNCER_H_
17#define QT6_QTSAPANNOUNCER_H_
18
19#include <QObject>
20#include <map>
21
22#include "sap/sap_announcer.h"
23
24namespace mediax::qt6 {
25
27class QtSapAnnouncer : public QObject {
28 Q_OBJECT
29
30 public:
36 explicit QtSapAnnouncer(QObject* parent = nullptr);
37
42 ~QtSapAnnouncer() final = default;
43
50
56 Q_INVOKABLE void addSapAnnouncement(const ::mediax::rtp::StreamInformation& stream_information);
57
63 Q_INVOKABLE ::mediax::rtp::StreamInformation& getSapAnnouncement(QString session_name);
64
68 Q_INVOKABLE void deleteSapAnnouncement(QString stream_name, QString multicast_address = "");
69
75 Q_INVOKABLE void undeleteSapAnnouncement(QString stream_name);
76
81 Q_INVOKABLE void deleteAllSapAnnouncements();
82
87 Q_INVOKABLE void start();
88
93 Q_INVOKABLE void stop();
94
99 Q_INVOKABLE void restart();
100
106 Q_INVOKABLE void setSourceInterface(uint16_t select = 0);
107
112 Q_INVOKABLE std::map<uint32_t, QString> getInterfaces() const;
113
118 Q_INVOKABLE uint32_t getActiveStreamCount() const;
119
120 signals:
126 void activeStreamCountChanged(uint32_t count);
127
128 private:
130 ::mediax::sap::SapAnnouncer& sap_announcer_ = ::mediax::sap::SapAnnouncer::GetInstance();
131};
132
133} // namespace mediax::qt6
134
135#endif // QT6_QTSAPANNOUNCER_H_
A SAP/SDP announcer class.
Definition QtSapAnnouncer.h:27
Q_INVOKABLE void setSourceInterface(uint16_t select=0)
Set the Source Interface object.
Definition QtSapAnnouncer.cc:54
Q_INVOKABLE void deleteSapAnnouncement(QString stream_name, QString multicast_address="")
Delete a SAP announcement.
Definition QtSapAnnouncer.cc:38
Q_INVOKABLE void addSapAnnouncement(const ::mediax::rtp::StreamInformation &stream_information)
Add a SAP announcement.
Definition QtSapAnnouncer.cc:30
~QtSapAnnouncer() final=default
Destroy the Qt Sap Announcer object.
Q_INVOKABLE void undeleteSapAnnouncement(QString stream_name)
Undelete a SAP announcement.
Definition QtSapAnnouncer.cc:42
Q_INVOKABLE void stop()
Stop the SAP server.
Definition QtSapAnnouncer.cc:50
static QtSapAnnouncer & getInstance()
Get the SAP/SDP announcer singleton instance.
Definition QtSapAnnouncer.cc:24
::mediax::sap::SapAnnouncer & sap_announcer_
The underlying SAP announcer.
Definition QtSapAnnouncer.h:130
Q_INVOKABLE uint32_t getActiveStreamCount() const
Get the Active Stream Count object.
Definition QtSapAnnouncer.cc:64
Q_INVOKABLE void deleteAllSapAnnouncements()
Delete all SAP announcements.
Definition QtSapAnnouncer.cc:46
Q_INVOKABLE void start()
Start the SAP server.
Definition QtSapAnnouncer.cc:48
void activeStreamCountChanged(uint32_t count)
A callback for a SAP message received.
Q_INVOKABLE void restart()
Restart all deleted SAP announcements.
Definition QtSapAnnouncer.cc:52
Q_INVOKABLE std::map< uint32_t, QString > getInterfaces() const
Get the interfaces as nic names.
Definition QtSapAnnouncer.cc:56
Q_INVOKABLE::mediax::rtp::StreamInformation & getSapAnnouncement(QString session_name)
Get the Sap Announcement object.
Definition QtSapAnnouncer.cc:34
The Qt wrappers namespace.
Definition QtRtpAv1Depayloader.cc:19
The Astute Systems (MediaX) library for video streaming.
Definition rtp_av1_depayloader.cc:34
Session Announcement Protocol (SDP) implementation for announcement of the stream data....