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
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 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 854 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 1412 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 874 of file qgst_p.h.

◆ addGhostPad() [1/2]

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

Definition at line 1430 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 1425 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 1435 of file qgst.cpp.

◆ bin()

GstBin * QGstBin::bin ( ) const

Definition at line 1420 of file qgst.cpp.

◆ create()

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

Definition at line 1367 of file qgst.cpp.

◆ createFromFactory()

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

Definition at line 1372 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 1388 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 1382 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 1457 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 1468 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() [2/3]

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

Definition at line 617 of file qgst.cpp.

◆ QGstElement() [3/3]

QGstElement::QGstElement ( QGstElement && )
defaultnoexcept

◆ recalculateLatency()

void QGstBin::recalculateLatency ( )

Definition at line 1476 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 883 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 893 of file qgst_p.h.

◆ syncChildrenState()

bool QGstBin::syncChildrenState ( )

Definition at line 1452 of file qgst.cpp.


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