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

constexpr QGstPipeline ()=default
 QGstPipeline (const QGstPipeline &)=default
 QGstPipeline (QGstPipeline &&)=default
QGstPipelineoperator= (const QGstPipeline &)=default
QGstPipelineoperator= (QGstPipeline &&) noexcept=default
 QGstPipeline (GstPipeline *, RefMode mode)
 ~QGstPipeline ()
void installMessageFilter (QGstreamerBusMessageFilter *filter)
void removeMessageFilter (QGstreamerBusMessageFilter *filter)
GstStateChangeReturn setState (GstState state)
GstPipelinepipeline () 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
QGstBinoperator= (const QGstBin &)=default
QGstBinoperator= (QGstBin &&) noexcept=default
 QGstBin (GstBin *bin, RefMode mode=NeedsRef)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), voidadd (const Ts &...ts)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), voidremove (const Ts &...ts)
template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, std::remove_reference_t< Ts > > &&...), voidstopAndRemoveElements (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
QGstElementoperator= (const QGstElement &)=default
QGstElementoperator= (QGstElement &&) noexcept=default
 QGstElement (GstElement *element, RefMode mode)
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
GstElementelement () 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
QGstObjectoperator= (const QGstObject &)=default
QGstObjectoperator= (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
voidgetObject (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
QSharedHandleoperator= (const QSharedHandle &o) noexcept(RefIsNoexcept &&BaseResetIsNoexcept)
QSharedHandleoperator= (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
Typeoperator& () 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 ( )
constexprdefault

◆ 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().

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.

◆ 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: