QXmpp  Version: 1.15.1
QXmppCallStream.h
1 // SPDX-FileCopyrightText: 2019 Niels Ole Salscheider <ole@salscheider.org>
2 // SPDX-FileCopyrightText: 2025 Linus Jahn <lnj@kaidan.im>
3 //
4 // SPDX-License-Identifier: LGPL-2.1-or-later
5 
6 #ifndef QXMPPCALLSTREAM_H
7 #define QXMPPCALLSTREAM_H
8 
9 #include <QXmppLogger.h>
10 
11 #include <functional>
12 
13 typedef struct _GstPad GstPad;
14 typedef struct _GstElement GstElement;
15 
16 class QXmppCallStreamPrivate;
17 class QXmppIceConnection;
18 class QXmppCall;
19 class QXmppCallPrivate;
20 
21 class QXMPP_EXPORT QXmppCallStream : public QXmppLoggable
22 {
23  Q_OBJECT
24 
25 public:
26  QString creator() const;
27  QString media() const;
28  QString name() const;
29  int id() const;
30  void setReceivePadCallback(std::function<void(GstPad *)> cb);
31  void setSendPadCallback(std::function<void(GstPad *)> cb);
32 
33 private:
34  QXmppCallStream(GstElement *pipeline, GstElement *rtpbin, QString media, QString creator, QString name, int id, bool useDtls, QObject *parent);
35 
36  QXmppCallStreamPrivate *d;
37 
38  friend class QXmppCallStreamPrivate;
39  friend class QXmppCall;
40  friend class QXmppCallPrivate;
41 };
42 
43 #endif
The QXmppIceConnection class represents a set of UDP sockets capable of performing Interactive Connec...
Definition: QXmppStun.h:227
The QXmppLoggable class represents a source of logging messages.
Definition: QXmppLogger.h:108
Definition: QXmppCall.h:23
Definition: QXmppCallStream.h:21