20#include <gst/play/gstplay.h>
QGObjectHandlerConnection & operator=(const QGObjectHandlerConnection &)=default
QGObjectHandlerConnection & operator=(QGObjectHandlerConnection &&)=default
QGObjectHandlerConnection(QGstObject object, gulong handler)
QGObjectHandlerConnection()=default
QGObjectHandlerConnection(const QGObjectHandlerConnection &)=default
QGObjectHandlerConnection(QGObjectHandlerConnection &&)=default
~QGObjectHandlerScopedConnection()
QGObjectHandlerScopedConnection(const QGObjectHandlerScopedConnection &)=delete
QGObjectHandlerScopedConnection & operator=(const QGObjectHandlerScopedConnection &)=delete
QGObjectHandlerScopedConnection(QGObjectHandlerScopedConnection &&)=default
QGObjectHandlerScopedConnection()=default
QGObjectHandlerScopedConnection(QGObjectHandlerConnection connection)
QGObjectHandlerScopedConnection & operator=(QGObjectHandlerScopedConnection &&)=default
std::optional< int > toInt64() const
std::optional< QGRange< int > > toIntRange() const
std::optional< int > toInt() const
QList< QAudioFormat::SampleFormat > getSampleFormats() const
QGstStructureView toStructure() const
std::optional< QGRange< float > > getFractionRange() const
const char * toString() const
std::optional< float > getFraction() const
QGValue at(int index) const
std::optional< bool > toBool() const
QGstSampleHandle pullSample()
void setCallbacks(GstAppSinkCallbacks &callbacks, gpointer user_data, GDestroyNotify notify)
GstAppSink * appSink() const
void setCaps(const QGstCaps &caps)
QGstAppSink(const QGstAppSink &)=default
QGstAppSink(QGstAppSink &&) noexcept=default
static QGstAppSink create(const char *name)
QGstAppSink(GstAppSink *, RefMode)
QGstAppSink & operator=(QGstAppSink &&) noexcept=default
QGstAppSink & operator=(const QGstAppSink &)=default
static QGstAppSrc create(const char *name)
QGstAppSrc & operator=(const QGstAppSrc &)=default
GstFlowReturn pushBuffer(GstBuffer *)
QGstAppSrc(const QGstAppSrc &)=default
void setCallbacks(GstAppSrcCallbacks &callbacks, gpointer user_data, GDestroyNotify notify)
QGstAppSrc & operator=(QGstAppSrc &&) noexcept=default
QGstAppSrc(GstAppSrc *, RefMode)
QGstAppSrc(QGstAppSrc &&) noexcept=default
GstAppSrc * appSrc() const
QGstBaseSink & operator=(const QGstBaseSink &)=default
QGstBaseSink(GstBaseSink *, RefMode)
QGstBaseSink(const QGstBaseSink &)=default
GstBaseSink * baseSink() const
QGstBaseSink(QGstBaseSink &&) noexcept=default
QGstBaseSink & operator=(QGstBaseSink &&) noexcept=default
QGstBaseSrc(QGstBaseSrc &&) noexcept=default
QGstBaseSrc & operator=(QGstBaseSrc &&) noexcept=default
QGstBaseSrc(const QGstBaseSrc &)=default
QGstBaseSrc & operator=(const QGstBaseSrc &)=default
QGstBaseSrc(GstBaseSrc *, RefMode)
GstBaseSrc * baseSrc() const
void addUnlinkedGhostPads(GstPadDirection)
QGstBin(QGstBin &&) noexcept=default
void dumpGraph(const char *fileNamePrefix, bool includeTimestamp=true) const
QGstBin & operator=(const QGstBin &)=default
QGstElement findByName(const char *)
void recalculateLatency()
static QGstBin create(const char *name)
void addGhostPad(const QGstElement &child, const char *name)
std::enable_if_t<(std::is_base_of_v< QGstElement, std::remove_reference_t< Ts > > &&...), void > stopAndRemoveElements(Ts &&...ts)
QGstBin & operator=(QGstBin &&) noexcept=default
static QGstBin createFromPipelineDescription(const char *pipelineDescription, const char *name=nullptr, bool ghostUnlinkedPads=false)
QGstBin(const QGstBin &)=default
static QGstBin createFromFactory(const char *factory, const char *name)
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > add(const Ts &...ts)
void addGhostPad(const char *name, const QGstPad &pad)
QGstBin(GstBin *bin, RefMode mode=NeedsRef)
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > remove(const Ts &...ts)
static QGstBin createFromPipelineDescription(const QByteArray &pipelineDescription, const char *name=nullptr, bool ghostUnlinkedPads=false)
void removeMessageFilter(QGstreamerBusMessageFilter *)
bool processNextPendingMessage(GstMessageType type=GST_MESSAGE_ANY, std::optional< std::chrono::nanoseconds > timeout={})
QGstBusObserver & operator=(const QGstBusObserver &)=delete
QGstBusObserver & operator=(QGstBusObserver &&)=delete
QGstBusObserver(QGstBusHandle)
bool currentThreadIsNotifierThread() const
QGstBusObserver(const QGstBusObserver &)=delete
void installMessageFilter(QGstreamerBusMessageFilter *)
QGstBusObserver(QGstBusObserver &&)=delete
void addPixelFormats(const QList< QVideoFrameFormat::PixelFormat > &formats, const char *modifier=nullptr)
MemoryFormat memoryFormat() const
QGstCaps & operator=(QGstCaps &&) noexcept=default
static QGstCaps fromCameraFormat(const QCameraFormat &format)
void setResolution(QSize)
QGstCaps & operator=(const QGstCaps &)=default
QGstCaps(const QGstCaps &)=default
QGstCaps(QGstCaps &&) noexcept=default
QGstStructureView at(int index) const
QGstClock(GstClock *clock, RefMode mode)
GstClockTime time() const
QGstClock(const QGstObject &o)
void setBaseTime(GstClockTime time) const
GstStateChangeReturn setState(GstState state)
static QGstElement createFromFactory(const QGstElementFactoryHandle &, const char *name=nullptr)
std::optional< std::chrono::nanoseconds > position() const
static QGstElement createFromDevice(const QGstDeviceHandle &, const char *name=nullptr)
QGstElement & operator=(QGstElement &&) noexcept=default
QGObjectHandlerConnection onPadRemoved(T *instance)
GstElement * element() const
static QGstElementFactoryHandle findFactory(const QByteArray &name)
QGstElement(GstElement *element, RefMode mode)
void lockState(bool locked)
QGstElement(const QGstElement &)=default
QGstBin getRootBin() const
QGstPad getRequestPad(const char *name) const
QGstElement(QGstElement &&) noexcept=default
bool waitForAsyncStateChangeComplete(std::chrono::nanoseconds timeout=std::chrono::seconds(5)) const
std::optional< bool > canSeek() const
std::optional< std::chrono::nanoseconds > duration() const
bool finishStateChange(std::chrono::nanoseconds timeout=std::chrono::seconds(5))
bool setStateSync(GstState state, std::chrono::nanoseconds timeout=std::chrono::seconds(1))
bool isStateLocked() const
void sendEvent(GstEvent *event) const
void dumpPipelineGraph(const char *filename) const
QGstElement & operator=(const QGstElement &)=default
GstClockTime baseTime() const
static QGstElement createFromPipelineDescription(const QByteArray &)
void releaseRequestPad(const QGstPad &pad) const
static QGstElement createFromFactory(GstElementFactory *, const char *name=nullptr)
bool syncStateWithParent()
static QGstElement createFromDevice(GstDevice *, const char *name=nullptr)
QGstPad staticPad(const char *name) const
QGstBin getParentBin() const
std::optional< std::chrono::milliseconds > positionInMs() const
QGObjectHandlerConnection onPadAdded(T *instance)
static QGstElement createFromFactory(const char *factory, const char *name=nullptr)
bool hasAsyncStateChange(std::chrono::nanoseconds timeout=std::chrono::seconds(0)) const
static QGstElementFactoryHandle findFactory(const char *)
QGstElement getParent() const
QGObjectHandlerConnection onNoMorePads(T *instance)
QGstPipeline getPipeline() const
static QGstElement createFromPipelineDescription(const char *)
GstState state(std::chrono::nanoseconds timeout=std::chrono::seconds(0)) const
std::optional< std::chrono::milliseconds > durationInMs() const
T * getObject(const char *property) const
void set(const char *property, double d)
QGObjectHandlerConnection connect(const char *name, GCallback callback, gpointer userData)
void * getObject(const char *property) const
double getDouble(const char *property) const
QGstObject & operator=(const QGstObject &)=default
int getInt(const char *property) const
void set(const char *property, int32_t i)
QLatin1StringView name() const
void set(const char *property, const QGstObject &o)
static void qDeleteFromVoidPointer(void *ptr)
QGString getString(const char *property) const
void disconnect(gulong handlerId)
QGstObject getGstObject(const char *property) const
QLatin1StringView typeName() const
void set(const char *property, const char *str)
bool getBool(const char *property) const
QGstObject & operator=(QGstObject &&) noexcept=default
void set(const char *property, void *object, GDestroyNotify destroyFunction)
void set(const char *property, std::unique_ptr< Object > object)
void set(const char *property, Object *object, GDestroyNotify destroyFunction)
void set(const char *property, bool b)
QGstObject(const QGstObject &)=default
quint64 getUInt64(const char *property) const
QGstStructureView getStructure(const char *property) const
qint64 getInt64(const char *property) const
void set(const char *property, const QGstCaps &c)
float getFloat(const char *property) const
QGstObject(QGstObject &&) noexcept=default
uint getUInt(const char *property) const
GstObject * object() const
bool link(const QGstPad &sink) const
GstEvent * stickyEvent(GstEventType type)
void modifyPipelineInIdleProbe(Functor &&f)
QGstTagListHandle tags() const
QGstPad & operator=(QGstPad &&) noexcept=default
QGstPad(const QGstObject &o)
QGstPad(const QGstPad &)=default
QGstCaps queryCaps() const
void doInIdleProbe(Functor &&work)
QGstPad(GstPad *pad, RefMode mode)
QGstPad(QGstPad &&) noexcept=default
void sendFlushStartStop(bool resetTime)
QGString streamId() const
QGstPad & operator=(const QGstPad &)=default
void addProbe(T *instance, GstPadProbeType type)
std::optional< QPlatformMediaPlayer::TrackType > inferTrackTypeFromName() const
void addEosProbe(T *instance)
bool sendEvent(GstEvent *event)
QGstCaps currentCaps() const
QGstElement parent() const
bool unlink(const QGstPad &sink) const
static QGstPipeline createFromFactory(const char *factory, const char *name)
void applyPlaybackRate(bool forceFlushingSeek=false)
void setPosition(std::chrono::nanoseconds pos, bool flush=true)
void removeMessageFilter(QGstreamerBusMessageFilter *filter)
GstStateChangeReturn setState(GstState state)
GstPipeline * pipeline() const
QGstPipeline & operator=(QGstPipeline &&) noexcept=default
bool processNextPendingMessage(GstMessageType=GST_MESSAGE_ANY, std::chrono::nanoseconds timeout={})
void setPositionAndRate(std::chrono::nanoseconds pos, double rate)
bool processNextPendingMessage(std::chrono::nanoseconds timeout)
QGstPipeline(const QGstPipeline &)=default
constexpr QGstPipeline()=default
double playbackRate() const
QGstPipeline(QGstPipeline &&)=default
std::optional< std::chrono::nanoseconds > queryDuration(std::chrono::nanoseconds timeout=defaultQueryTimeout) const
std::optional< std::chrono::nanoseconds > queryPosition(std::chrono::nanoseconds timeout=defaultQueryTimeout) const
void setPlaybackRate(double rate, bool forceFlushingSeek=false)
std::chrono::nanoseconds position() const
QGstPipeline(GstPipeline *, RefMode mode)
void installMessageFilter(QGstreamerBusMessageFilter *filter)
QGstPipeline & operator=(const QGstPipeline &)=default
static QGstPipeline create(const char *name)
std::chrono::milliseconds positionInMs() const
QGstStructureView(const QUniqueGstStructureHandle &)
QGRange< float > frameRateRange() const
QGValue operator[](const char *fieldname) const
QVideoFrameFormat::PixelFormat pixelFormat() const
const GstStructure * structure
QUniqueGstStructureHandle clone() const
std::optional< QGRange< QSize > > resolutionRange() const
QGstreamerMessage getMessage()
std::optional< Fraction > pixelAspectRatio() const
QGstTagListHandle tags() const
QByteArrayView name() const
QGstStructureView(const GstStructure *)
void setSourceDevice(QIODevice *device) override
QAudioFormat audioFormat() const override
~QGstreamerAudioDecoder() override
QIODevice * sourceDevice() const override
void setSource(const QUrl &fileName) override
qint64 duration() const override
static q23::expected< QPlatformAudioDecoder *, QString > create(QAudioDecoder *parent)
QUrl source() const override
void setAudioFormat(const QAudioFormat &format) override
QAudioBuffer read() override
qint64 position() const override
bool processBusMessage(const QGstreamerMessage &message) override
bool canReadQrc() const override
virtual bool processBusMessage(const QGstreamerMessage &message)=0
QDebug operator<<(QDebug dbg, const NSObject *nsObject)
QDebug operator<<(QDebug dbg, const QFileInfo &fi)
QDebug operator<<(QDebug, const QGString &)
QDebug operator<<(QDebug, const QGstCaps &)
QDebug operator<<(QDebug, const QGstPlayMessageAdaptor &)
QDebug operator<<(QDebug, const QGstPad &)
QDebug operator<<(QDebug, const QGstElement &)
QDebug operator<<(QDebug, const QGValue &)
QDebug operator<<(QDebug, const QGstreamerMessage &)
QDebug operator<<(QDebug, const QGstStructureView &)
QDebug operator<<(QDebug, const QCompactGstMessageAdaptor &)
DestinationType * qGstCheckedCast(SourceType *arg)
#define QGST_DEFINE_CAST_TRAITS(ClassName, MACRO_LABEL)
void qForeachStreamInCollection(GstStreamCollection *collection, Functor &&f)
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > qLinkGstElements(const Ts &...ts)
GstClockTime qGstClockTimeFromChrono(std::chrono::nanoseconds ns)
bool qIsGstObjectOfType(SourceType *arg)
DestinationType * qGstSafeCast(SourceType *arg)
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > qUnlinkGstElements(const Ts &...ts)
QString qGstErrorMessageCannotFindElement(std::string_view element)
std::optional< QString > qGstErrorMessageIfElementsNotAvailable(const Arg &arg, Args... args)
#define QGST_DEFINE_CAST_TRAITS_FOR_INTERFACE(ClassName, MACRO_LABEL)
void qForeachStreamInCollection(const QGstStreamCollectionHandle &collection, Functor &&f)
@ GST_PLAY_FLAG_SOFT_VOLUME
@ GST_PLAY_FLAG_BUFFERING
@ GST_PLAY_FLAG_NATIVE_AUDIO
@ GST_PLAY_FLAG_NATIVE_VIDEO
QDebug operator<<(QDebug debug, QIODevice::OpenMode modes)
QCompactGstMessageAdaptor(const QGstreamerMessage &m)
QCompactGstMessageAdaptor(GstMessage *m)
bool operator==(const QGRange &rhs) const
friend bool operator<(const QGString &lhs, const QGString &rhs)
friend bool operator<(const QLatin1StringView lhs, const QGString &rhs)
bool operator==(const QGString &str) const
QString toQString() const
bool operator!=(const QLatin1StringView str) const
bool operator!=(const QGString &str) const
QLatin1StringView asStringView() const
friend bool operator<(const QGString &lhs, const QLatin1StringView rhs)
bool operator==(const QLatin1StringView str) const
QByteArrayView asByteArrayView() const
static constexpr Type invalidValue() noexcept
static Type ref(Type handle) noexcept
static bool unref(Type handle) noexcept
static bool unref(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static Type ref(Type handle) noexcept
static bool unref(Type handle) noexcept
static Type ref(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static constexpr Type invalidValue() noexcept
static Type ref(Type handle) noexcept
static bool unref(Type handle) noexcept
static bool unref(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static Type ref(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static bool unref(Type handle) noexcept
static Type ref(Type handle) noexcept
static bool close(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static bool close(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static constexpr Type invalidValue() noexcept
static bool close(Type handle) noexcept
static constexpr Type invalidValue() noexcept
static bool close(Type handle) noexcept
QGstPlayMessageAdaptor(const QGstreamerMessage &m)
QGstPlayMessageAdaptor(GstMessage *m)
static constexpr Type invalidValue() noexcept
static bool unref(GstCaps *arg) noexcept
static GstCaps * ref(GstCaps *arg) noexcept
static bool unref(GstObject *arg) noexcept
static GstObject * ref(GstObject *arg) noexcept
static constexpr Type invalidValue() noexcept
result_type operator()(const argument_type &e) const noexcept