18#ifndef QGST_DISCOVERER_H
19#define QGST_DISCOVERER_H
21#include <QGst/ClockTime>
22#include <QGst/Fraction>
23#include <QGst/MiniObject>
25#include <QGst/Structure>
26#include <QGst/TagList>
34class 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;
47class QTGSTREAMER_EXPORT DiscovererContainerInfo :
public DiscovererStreamInfo
49 QGST_WRAPPER(DiscovererContainerInfo)
52 QList<DiscovererStreamInfoPtr> streams()
const;
55class 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;
68class 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;
84class QTGSTREAMER_EXPORT DiscovererSubtitleInfo :
public DiscovererStreamInfo
86 QGST_WRAPPER(DiscovererSubtitleInfo)
89 QString language()
const;
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);
156inline bool Discoverer::discoverUriAsync(
const QUrl &uri)
158 return discoverUriAsync(uri.toEncoded().constData());
161inline DiscovererInfoPtr Discoverer::discoverUri(
const QUrl &uri)
163 return discoverUri(uri.toEncoded().constData());
166QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug, DiscovererResult result);
167QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug,
const DiscovererStreamInfoPtr &info);
168QTGSTREAMER_EXPORT QDebug operator<<(QDebug debug,
const DiscovererInfoPtr &info);
172QGST_REGISTER_TYPE(QGst::DiscovererStreamInfo)
173QGST_REGISTER_TYPE(QGst::DiscovererContainerInfo)
174QGST_REGISTER_TYPE(QGst::DiscovererAudioInfo)
175QGST_REGISTER_TYPE(QGst::DiscovererVideoInfo)
176QGST_REGISTER_TYPE(QGst::DiscovererSubtitleInfo)
177QGST_REGISTER_TYPE(QGst::DiscovererInfo)
178QGST_REGISTER_TYPE(QGst::Discoverer)
Wrapper class for GObject.
Wrappers for GStreamer classes.