18 #ifndef QGST_DISCOVERER_H
19 #define QGST_DISCOVERER_H
21 #include <QGst/ClockTime>
22 #include <QGst/Fraction>
23 #include <QGst/MiniObject>
24 #include <QGst/Object>
25 #include <QGst/Structure>
26 #include <QGst/TagList>
28 #include <QtCore/QUrl>
34 class QTGSTREAMER_EXPORT DiscovererStreamInfo :
public QGlib::Object
36 QGST_WRAPPER(DiscovererStreamInfo)
39 DiscovererStreamInfoPtr previous()
const;
40 DiscovererStreamInfoPtr next()
const;
41 QString streamTypeNick()
const;
44 Structure misc()
const;
47 class QTGSTREAMER_EXPORT DiscovererContainerInfo :
public DiscovererStreamInfo
49 QGST_WRAPPER(DiscovererContainerInfo)
52 QList<DiscovererStreamInfoPtr> streams()
const;
55 class QTGSTREAMER_EXPORT DiscovererAudioInfo :
public DiscovererStreamInfo
57 QGST_WRAPPER(DiscovererAudioInfo)
60 uint channels()
const;
61 uint sampleRate()
const;
64 uint maxBitrate()
const;
65 QString language()
const;
68 class QTGSTREAMER_EXPORT DiscovererVideoInfo :
public DiscovererStreamInfo
70 QGST_WRAPPER(DiscovererVideoInfo)
76 Fraction framerate()
const;
77 Fraction pixelAspectRatio()
const;
79 uint maxBitrate()
const;
80 bool isInterlaced()
const;
84 class QTGSTREAMER_EXPORT DiscovererSubtitleInfo :
public DiscovererStreamInfo
86 QGST_WRAPPER(DiscovererSubtitleInfo)
89 QString language()
const;
92 class QTGSTREAMER_EXPORT DiscovererInfo :
public QGlib::Object
94 QGST_WRAPPER(DiscovererInfo)
98 DiscovererResult result()
const;
100 ClockTime duration()
const;
101 bool seekable()
const;
102 Structure misc()
const;
103 TagList tags()
const;
105 DiscovererStreamInfoPtr streamInfo()
const;
106 QList<DiscovererStreamInfoPtr> streams()
const;
107 QList<DiscovererStreamInfoPtr> streams(
QGlib::Type streamType)
const;
108 QList<DiscovererStreamInfoPtr> audioStreams()
const;
109 QList<DiscovererStreamInfoPtr> videoStreams()
const;
110 QList<DiscovererStreamInfoPtr> subtitleStreams()
const;
111 QList<DiscovererStreamInfoPtr> containerStreams()
const;
116 QGST_WRAPPER(Discoverer)
122 static DiscovererPtr create(ClockTime timeout);
141 bool discoverUriAsync(
const char *uri);
144 inline bool discoverUriAsync(
const QUrl &uri);
150 DiscovererInfoPtr discoverUri(
const char *uri);
153 inline DiscovererInfoPtr discoverUri(
const QUrl &uri);
156 inline bool Discoverer::discoverUriAsync(
const QUrl &uri)
158 return discoverUriAsync(uri.toEncoded().constData());
161 inline DiscovererInfoPtr Discoverer::discoverUri(
const QUrl &uri)
163 return discoverUri(uri.toEncoded().constData());
166 QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug, DiscovererResult result);
167 QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug,
const DiscovererStreamInfoPtr &info);
168 QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug,
const DiscovererInfoPtr &info);
172 QGST_REGISTER_TYPE(QGst::DiscovererStreamInfo)
173 QGST_REGISTER_TYPE(QGst::DiscovererContainerInfo)
174 QGST_REGISTER_TYPE(QGst::DiscovererAudioInfo)
175 QGST_REGISTER_TYPE(QGst::DiscovererVideoInfo)
176 QGST_REGISTER_TYPE(QGst::DiscovererSubtitleInfo)
177 QGST_REGISTER_TYPE(QGst::DiscovererInfo)
178 QGST_REGISTER_TYPE(QGst::Discoverer)
Wrapper class for GObject.
Wrappers for GStreamer classes.