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
QGstBin Class Reference

#include <qgst_p.h>

Inheritance diagram for QGstBin:
Collaboration diagram for QGstBin:

Public Member Functions

 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 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 800 of file qgst_p.h.

Constructor & Destructor Documentation

◆ QGstBin() [1/3]

QGstBin::QGstBin ( const QGstBin & )
default

◆ QGstBin() [2/3]

QGstBin::QGstBin ( QGstBin && )
defaultnoexcept

◆ QGstBin() [3/3]

QGstBin::QGstBin ( GstBin * bin,
RefMode mode = NeedsRef )
explicit

Definition at line 1345 of file qgst.cpp.

References QGstBin().

Referenced by QGstBin().

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

Member Function Documentation

◆ add()

template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > QGstBin::add ( const Ts &... ts)
inline

Definition at line 820 of file qgst_p.h.

◆ addGhostPad() [1/2]

void QGstBin::addGhostPad ( const char * name,
const QGstPad & pad )

Definition at line 1363 of file qgst.cpp.

Referenced by addGhostPad().

Here is the caller graph for this function:

◆ addGhostPad() [2/2]

void QGstBin::addGhostPad ( const QGstElement & child,
const char * name )

Definition at line 1358 of file qgst.cpp.

References addGhostPad(), and QGstElement::staticPad().

Here is the call graph for this function:

◆ addUnlinkedGhostPads()

void QGstBin::addUnlinkedGhostPads ( GstPadDirection direction)

Definition at line 1368 of file qgst.cpp.

◆ bin()

GstBin * QGstBin::bin ( ) const

Definition at line 1353 of file qgst.cpp.

◆ create()

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

Definition at line 1300 of file qgst.cpp.

◆ createFromFactory()

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

Definition at line 1305 of file qgst.cpp.

References QGstElement::createFromFactory().

Referenced by QGstreamerMediaRecorder::record().

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

◆ createFromPipelineDescription() [1/2]

QGstBin QGstBin::createFromPipelineDescription ( const char * pipelineDescription,
const char * name = nullptr,
bool ghostUnlinkedPads = false )
static

Definition at line 1321 of file qgst.cpp.

Referenced by createFromPipelineDescription().

Here is the caller graph for this function:

◆ createFromPipelineDescription() [2/2]

QGstBin QGstBin::createFromPipelineDescription ( const QByteArray & pipelineDescription,
const char * name = nullptr,
bool ghostUnlinkedPads = false )
static

Definition at line 1315 of file qgst.cpp.

References createFromPipelineDescription().

Here is the call graph for this function:

◆ dumpGraph()

void QGstBin::dumpGraph ( const char * fileNamePrefix,
bool includeTimestamp = true ) const

Definition at line 1390 of file qgst.cpp.

Referenced by QGstPipeline::applyPlaybackRate(), QGstElement::dumpPipelineGraph(), QGstreamerMediaRecorder::pause(), QGstPipeline::position(), QGstreamerMediaRecorder::record(), and QGstreamerMediaRecorder::resume().

Here is the caller graph for this function:

◆ findByName()

QGstElement QGstBin::findByName ( const char * name)

Definition at line 1401 of file qgst.cpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

QGstBin & QGstBin::operator= ( QGstBin && )
defaultnoexcept

◆ QGstElement() [1/3]

QGstElement::QGstElement ( const QGstElement & )
default

◆ QGstElement() [2/3]

QGstElement::QGstElement ( GstElement * element,
RefMode mode )
explicit

Definition at line 565 of file qgst.cpp.

◆ QGstElement() [3/3]

QGstElement::QGstElement ( QGstElement && )
defaultnoexcept

◆ recalculateLatency()

void QGstBin::recalculateLatency ( )

Definition at line 1409 of file qgst.cpp.

◆ remove()

template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, Ts > &&...), void > QGstBin::remove ( const Ts &... ts)
inline

Definition at line 829 of file qgst_p.h.

◆ stopAndRemoveElements()

template<typename... Ts>
std::enable_if_t<(std::is_base_of_v< QGstElement, std::remove_reference_t< Ts > > &&...), void > QGstBin::stopAndRemoveElements ( Ts &&... ts)
inline

Definition at line 839 of file qgst_p.h.

◆ syncChildrenState()

bool QGstBin::syncChildrenState ( )

Definition at line 1385 of file qgst.cpp.


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