Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QGstPipeline Class Reference

#include <qgstpipeline_p.h>

Inheritance diagram for QGstPipeline:
Collaboration diagram for QGstPipeline:

Public Member Functions

 QGstPipeline ()=default
 QGstPipeline (const QGstPipeline &)=default
 QGstPipeline (QGstPipeline &&)=default
QGstPipeline & operator= (const QGstPipeline &)=default
QGstPipeline & operator= (QGstPipeline &&) noexcept=default
 QGstPipeline (GstPipeline *, RefMode mode)
 ~QGstPipeline ()
void installMessageFilter (QGstreamerBusMessageFilter *filter)
void removeMessageFilter (QGstreamerBusMessageFilter *filter)
GstStateChangeReturn setState (GstState state)
GstPipeline * pipeline () const
bool processNextPendingMessage (GstMessageType=GST_MESSAGE_ANY, std::chrono::nanoseconds timeout={})
bool processNextPendingMessage (std::chrono::nanoseconds timeout)
void flush ()
void setPlaybackRate (double rate, bool forceFlushingSeek=false)
double playbackRate () const
void applyPlaybackRate (bool forceFlushingSeek=false)
void setPosition (std::chrono::nanoseconds pos, bool flush=true)
std::chrono::nanoseconds position () const
std::chrono::milliseconds positionInMs () const
void setPositionAndRate (std::chrono::nanoseconds pos, double rate)
std::optional< std::chrono::nanoseconds > queryPosition (std::chrono::nanoseconds timeout=defaultQueryTimeout) const
std::optional< std::chrono::nanoseconds > queryDuration (std::chrono::nanoseconds timeout=defaultQueryTimeout) const
std::optional< std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > > queryPositionAndDuration (std::chrono::nanoseconds timeout=defaultQueryTimeout) const
void seekToEndWithEOS ()
Public Member Functions inherited from QGstBin
 QGstBin (const QGstBin &)=default
 QGstBin (QGstBin &&) noexcept=default
QGstBin & operator= (const QGstBin &)=default
QGstBin & operator= (QGstBin &&) noexcept=default
 QGstBin (GstBin *bin, RefMode mode=NeedsRef)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > add (const Ts &...ts)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > remove (const Ts &...ts)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, std::remove_reference_t< Ts > > &&...), void > stopAndRemoveElements (Ts &&...ts)
GstBin * bin () const
void addGhostPad (const QGstElement &child, const char *name)
void addGhostPad (const char *name, const QGstPad &pad)
void addUnlinkedGhostPads (GstPadDirection)
bool syncChildrenState ()
void dumpGraph (const char *fileNamePrefix, bool includeTimestamp=true) const
QGstElement findByName (const char *)
void recalculateLatency ()
 QGstElement (const QGstElement &)=default
 QGstElement (QGstElement &&) noexcept=default
 QGstElement (GstElement *element, RefMode mode)
Public Member Functions inherited from QGstElement
 QGstElement (const QGstElement &)=default
 QGstElement (QGstElement &&) noexcept=default
QGstElement & operator= (const QGstElement &)=default
QGstElement & operator= (QGstElement &&) noexcept=default
 QGstElement (GstElement *element, RefMode mode)
QByteArrayView factoryName () const
QGstPad staticPad (const char *name) const
QGstPad src () const
QGstPad sink () const
QGstPad getRequestPad (const char *name) const
void releaseRequestPad (const QGstPad &pad) const
GstState state (std::chrono::nanoseconds timeout=std::chrono::seconds(0)) const
GstStateChangeReturn setState (GstState state)
bool setStateSync (GstState state, std::chrono::nanoseconds timeout=std::chrono::seconds(1))
bool syncStateWithParent ()
bool finishStateChange (std::chrono::nanoseconds timeout=std::chrono::seconds(5))
bool hasAsyncStateChange (std::chrono::nanoseconds timeout=std::chrono::seconds(0)) const
bool waitForAsyncStateChangeComplete (std::chrono::nanoseconds timeout=std::chrono::seconds(5)) const
void lockState (bool locked)
bool isStateLocked () const
void sendEvent (GstEvent *event) const
void sendEos () const
std::optional< std::chrono::nanoseconds > duration () const
std::optional< std::chrono::milliseconds > durationInMs () const
std::optional< std::chrono::nanoseconds > position () const
std::optional< std::chrono::milliseconds > positionInMs () const
std::optional< bool > canSeek () const
template<auto Member, typename T>
QGObjectHandlerConnection onPadAdded (T *instance)
template<auto Member, typename T>
QGObjectHandlerConnection onPadRemoved (T *instance)
template<auto Member, typename T>
QGObjectHandlerConnection onNoMorePads (T *instance)
GstClockTime baseTime () const
void setBaseTime (GstClockTime time) const
GstElement * element () const
QGstElement getParent () const
QGstBin getParentBin () const
QGstPipeline getPipeline () const
QGstBin getRootBin () const
void removeFromParent ()
void dumpPipelineGraph (const char *filename) const
 QGstObject (const QGstObject &)=default
 QGstObject (QGstObject &&) noexcept=default
Public Member Functions inherited from QGstObject
 QGstObject (const QGstObject &)=default
 QGstObject (QGstObject &&) noexcept=default
QGstObject & operator= (const QGstObject &)=default
QGstObject & operator= (QGstObject &&) noexcept=default
void set (const char *property, const char *str)
void set (const char *property, bool b)
void set (const char *property, int32_t i)
void set (const char *property, uint32_t i)
void set (const char *property, int64_t i)
void set (const char *property, uint64_t i)
void set (const char *property, double d)
void set (const char *property, const QGstObject &o)
void set (const char *property, const QGstCaps &c)
void set (const char *property, void *object, GDestroyNotify destroyFunction)
template<typename Object>
void set (const char *property, Object *object, GDestroyNotify destroyFunction)
template<typename Object>
void set (const char *property, std::unique_ptr< Object > object)
QGString getString (const char *property) const
QGstStructureView getStructure (const char *property) const
bool getBool (const char *property) const
uint getUInt (const char *property) const
int getInt (const char *property) const
quint64 getUInt64 (const char *property) const
qint64 getInt64 (const char *property) const
float getFloat (const char *property) const
double getDouble (const char *property) const
QGstObject getGstObject (const char *property) const
void * getObject (const char *property) const
template<typename T>
T * getObject (const char *property) const
QGObjectHandlerConnection connect (const char *name, GCallback callback, gpointer userData)
void disconnect (gulong handlerId)
GType type () const
QLatin1StringView typeName () const
GstObject * object () const
QLatin1StringView name () const
Public Member Functions inherited from QtPrivate::QSharedHandle< QSharedGstObjectTraits >
 QSharedHandle ()=default
 QSharedHandle (typename QSharedGstObjectTraits::Type object, RefMode mode)
 QSharedHandle (const QSharedHandle &o)
 QSharedHandle (QSharedHandle &&) noexcept=default
QSharedHandle & operator= (const QSharedHandle &o) noexcept(RefIsNoexcept &&BaseResetIsNoexcept)
QSharedHandle & operator= (QSharedHandle &&o) noexcept(BaseMoveIsNoexcept)
void reset (typename QSharedGstObjectTraits::Type o, RefMode mode) noexcept(RefIsNoexcept &&BaseResetIsNoexcept)
void reset () noexcept(BaseResetIsNoexcept)
 Q_DECLARE_STRONGLY_ORDERED (QSharedHandle)
void swap (QSharedHandle &other) noexcept(noexcept(std::declval< BaseClass >().swap(other)))
Type get () const noexcept
bool isValid () const noexcept
 operator bool () const noexcept
Type release () noexcept
Type * operator& () noexcept

Static Public Member Functions

static QGstPipeline createFromFactory (const char *factory, const char *name)
static QGstPipeline create (const char *name)
Static Public Member Functions inherited from QGstBin
static QGstBin create (const char *name)
static QGstBin createFromFactory (const char *factory, const char *name)
static QGstBin createFromPipelineDescription (const QByteArray &pipelineDescription, const char *name=nullptr, bool ghostUnlinkedPads=false)
static QGstBin createFromPipelineDescription (const char *pipelineDescription, const char *name=nullptr, bool ghostUnlinkedPads=false)
Static Public Member Functions inherited from QGstElement
static QGstElement createFromFactory (const char *factory, const char *name=nullptr)
static QGstElement createFromFactory (GstElementFactory *, const char *name=nullptr)
static QGstElement createFromFactory (const QGstElementFactoryHandle &, const char *name=nullptr)
static QGstElement createFromDevice (const QGstDeviceHandle &, const char *name=nullptr)
static QGstElement createFromDevice (GstDevice *, const char *name=nullptr)
static QGstElement createFromPipelineDescription (const char *)
static QGstElement createFromPipelineDescription (const QByteArray &)
static QGstElementFactoryHandle findFactory (const char *)
static QGstElementFactoryHandle findFactory (const QByteArray &name)
Static Public Member Functions inherited from QGstObject
template<typename T>
static void qDeleteFromVoidPointer (void *ptr)

Additional Inherited Members

Public Types inherited from QtPrivate::QSharedHandle< QSharedGstObjectTraits >
enum  RefMode

Detailed Description

Definition at line 29 of file qgstpipeline_p.h.

Constructor & Destructor Documentation

◆ QGstPipeline() [1/4]

QGstPipeline::QGstPipeline ( )
default

◆ QGstPipeline() [2/4]

QGstPipeline::QGstPipeline ( const QGstPipeline & )
default

◆ QGstPipeline() [3/4]

QGstPipeline::QGstPipeline ( QGstPipeline && )
default

◆ QGstPipeline() [4/4]

QGstPipeline::QGstPipeline ( GstPipeline * p,
RefMode mode )

Definition at line 83 of file qgstpipeline.cpp.

◆ ~QGstPipeline()

QGstPipeline::~QGstPipeline ( )
default

Member Function Documentation

◆ applyPlaybackRate()

void QGstPipeline::applyPlaybackRate ( bool forceFlushingSeek = false)

Definition at line 176 of file qgstpipeline.cpp.

References QGstBin::dumpGraph(), and QGstPipelinePrivate::m_rate.

Referenced by setPlaybackRate().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create()

QGstPipeline QGstPipeline::create ( const char * name)
static

Definition at line 51 of file qgstpipeline.cpp.

◆ createFromFactory()

QGstPipeline QGstPipeline::createFromFactory ( const char * factory,
const char * name )
static

Definition at line 57 of file qgstpipeline.cpp.

References QGstElement::createFromFactory().

Here is the call graph for this function:

◆ flush()

void QGstPipeline::flush ( )

Definition at line 117 of file qgstpipeline.cpp.

Referenced by testing.tools.encode_pdf_filter._SinkPdfStream::close().

Here is the caller graph for this function:

◆ installMessageFilter()

void QGstPipeline::installMessageFilter ( QGstreamerBusMessageFilter * filter)

Definition at line 89 of file qgstpipeline.cpp.

◆ operator=() [1/2]

QGstPipeline & QGstPipeline::operator= ( const QGstPipeline & )
default

◆ operator=() [2/2]

QGstPipeline & QGstPipeline::operator= ( QGstPipeline && )
defaultnoexcept

◆ pipeline()

GstPipeline * QGstPipeline::pipeline ( ) const
inline

Definition at line 50 of file qgstpipeline_p.h.

◆ playbackRate()

double QGstPipeline::playbackRate ( ) const

Definition at line 170 of file qgstpipeline.cpp.

References QGstPipelinePrivate::m_rate.

◆ position()

std::chrono::nanoseconds QGstPipeline::position ( ) const

Definition at line 208 of file qgstpipeline.cpp.

References QGstBin::dumpGraph().

Here is the call graph for this function:

◆ positionInMs()

std::chrono::milliseconds QGstPipeline::positionInMs ( ) const

Definition at line 224 of file qgstpipeline.cpp.

◆ processNextPendingMessage() [1/2]

bool QGstPipeline::processNextPendingMessage ( GstMessageType types = GST_MESSAGE_ANY,
std::chrono::nanoseconds timeout = {} )

Definition at line 106 of file qgstpipeline.cpp.

◆ processNextPendingMessage() [2/2]

bool QGstPipeline::processNextPendingMessage ( std::chrono::nanoseconds timeout)

Definition at line 112 of file qgstpipeline.cpp.

◆ queryDuration()

std::optional< std::chrono::nanoseconds > QGstPipeline::queryDuration ( std::chrono::nanoseconds timeout = defaultQueryTimeout) const

Definition at line 258 of file qgstpipeline.cpp.

◆ queryPosition()

std::optional< std::chrono::nanoseconds > QGstPipeline::queryPosition ( std::chrono::nanoseconds timeout = defaultQueryTimeout) const

Definition at line 238 of file qgstpipeline.cpp.

◆ queryPositionAndDuration()

std::optional< std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > > QGstPipeline::queryPositionAndDuration ( std::chrono::nanoseconds timeout = defaultQueryTimeout) const

Definition at line 279 of file qgstpipeline.cpp.

◆ removeMessageFilter()

void QGstPipeline::removeMessageFilter ( QGstreamerBusMessageFilter * filter)

Definition at line 95 of file qgstpipeline.cpp.

◆ seekToEndWithEOS()

void QGstPipeline::seekToEndWithEOS ( )

Definition at line 306 of file qgstpipeline.cpp.

References QGstPipelinePrivate::m_rate.

◆ setPlaybackRate()

void QGstPipeline::setPlaybackRate ( double rate,
bool forceFlushingSeek = false )

Definition at line 157 of file qgstpipeline.cpp.

References applyPlaybackRate(), and QGstPipelinePrivate::m_rate.

Here is the call graph for this function:

◆ setPosition()

void QGstPipeline::setPosition ( std::chrono::nanoseconds pos,
bool flush = true )

Definition at line 203 of file qgstpipeline.cpp.

◆ setPositionAndRate()

void QGstPipeline::setPositionAndRate ( std::chrono::nanoseconds pos,
double rate )

Definition at line 230 of file qgstpipeline.cpp.

References QGstPipelinePrivate::m_rate.

◆ setState()

GstStateChangeReturn QGstPipeline::setState ( GstState state)

Definition at line 101 of file qgstpipeline.cpp.


The documentation for this class was generated from the following files: