23 #include "childproxy.h" 26 # pragma warning(push) 27 # pragma warning(disable:4250) //Bin inherits QGst::Object::ref/unref via dominance 31 # include <boost/preprocessor.hpp> 50 static BinPtr create(
const char *name = NULL);
66 static BinPtr fromDescription(
const char *description,
69 static inline BinPtr fromDescription(
const QString & description,
95 template <
typename First,
typename Second,
typename... Rest>
96 inline void add(
const First & first,
const Second & second,
const Rest & ... rest)
103 #else //QGLIB_HAVE_CXX0X 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 120 #endif //QGLIB_HAVE_CXX0X 163 PadPtr findUnlinkedPad(PadDirection direction)
const;
165 bool recalculateLatency();
171 return fromDescription(description.toUtf8().constData(), ghostUnlinkedPads);
174 template <
typename T>
177 ElementPtr p = getElementByInterface(QGlib::GetType<T>());
186 # pragma warning(pop) Smart pointer class for working with wrapper classes that support reference counting.
Wrappers for GStreamer classes.
void add(const First &first, const Second &second, const Rest &... rest)
Wrapper class for GstElement.
Wrapper class for GstBin.
static BinPtr fromDescription(const char *description, BinFromDescriptionOption ghostUnlinkedPads=Ghost)
Wrapper class for GstChildProxy.
RefPointer< X > dynamicCast() const
QGlib::RefPointer< T > getElementByInterface() const