23 #include "childproxy.h"
26 # pragma warning(push)
27 # pragma warning(disable:4250)
31 # include <boost/preprocessor.hpp>
50 static BinPtr create(
const char *name = NULL);
66 static BinPtr fromDescription(
const char *description,
67 BinFromDescriptionOption ghostUnlinkedPads = Ghost);
69 static inline BinPtr fromDescription(
const QString & description,
70 BinFromDescriptionOption ghostUnlinkedPads = Ghost);
95 template <
typename First,
typename Second,
typename... Rest>
96 inline void add(
const First & first,
const Second & second,
const Rest & ... rest)
105 # ifndef QGST_BIN_ADD_MAX_ARGS
106 # define QGST_BIN_ADD_MAX_ARGS 10
109 # define QGST_BIN_ADD_DECLARATION(z, n, data) \
110 inline void add(BOOST_PP_ENUM_PARAMS(n, const ElementPtr & e)) \
113 add(BOOST_PP_ENUM_SHIFTED_PARAMS(n, e)); \
116 BOOST_PP_REPEAT_FROM_TO(2, BOOST_PP_INC(QGST_BIN_ADD_MAX_ARGS), QGST_BIN_ADD_DECLARATION, dummy)
118 # undef QGST_BIN_ADD_DECLARATION
147 ElementPtr getElementByName(
const char *name, RecursionType recursionType = RecurseDown)
const;
163 PadPtr findUnlinkedPad(PadDirection direction)
const;
165 bool recalculateLatency();
171 return fromDescription(description.toUtf8().constData(), ghostUnlinkedPads);
174 template <
typename T>
186 # pragma warning(pop)
Smart pointer class for working with wrapper classes that support reference counting.
RefPointer< X > dynamicCast() const
Wrapper class for GstBin.
static BinPtr fromDescription(const char *description, BinFromDescriptionOption ghostUnlinkedPads=Ghost)
QGlib::RefPointer< T > getElementByInterface() const
void add(const First &first, const Second &second, const Rest &... rest)
Wrapper class for GstChildProxy.
Wrapper class for GstElement.
Wrappers for GStreamer classes.