+ void addElements(const char *prop, const QStringList& elements) {
+ QList<GstElement *> list;
+
+ if (elements.isEmpty()) {
+ return;
+ }
+
+ foreach (const QString& element, elements) {
+ GstElement *elem = gst_element_factory_make(element.toUtf8().constData(), NULL);
+ if (!elem) {
+ qWarning() << "Failed to create element" << element;
+ }
+ else {
+ list << elem;
+ }
+ }
+
+ if (list.isEmpty()) {
+ return;
+ }
+
+ GstElement *bin = qt_cam_analysis_bin_create(list, prop);
+ if (!bin) {
+ qWarning() << "Failed to create bin for" << prop;
+ return;
+ }
+
+ g_object_set(cameraBin, prop, bin, NULL);
+ }
+