17 #ifndef QGST_ELEMENTFACTORY_H
18 #define QGST_ELEMENTFACTORY_H
20 #include "pluginfeature.h"
35 static ElementPtr make(
const char *factoryName,
const char *elementName = NULL);
36 static inline ElementPtr make(
const QString & factoryName,
const char *elementName = NULL);
39 QString longName()
const;
40 QString klass()
const;
41 QString description()
const;
42 QString author()
const;
43 QString documentationUri()
const;
44 QString iconName()
const;
46 uint padTemplatesCount()
const;
48 bool hasInterface(
const char *interfaceName)
const;
49 bool canSinkCaps(
const CapsPtr & caps)
const;
50 bool canSrcCaps(
const CapsPtr & caps)
const;
52 ElementPtr create(
const char *elementName = NULL)
const;
58 return find(factoryName.toUtf8().constData());
62 inline ElementPtr ElementFactory::make(
const QString & factoryName,
const char *elementName)
64 return make(factoryName.toUtf8().constData(), elementName);