void gst_cvmlfilter_set_property()

in awstreamer/gst_plugins/cvmlfilter/gstcvmlfilter.cpp [160:194]


void gst_cvmlfilter_set_property(GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
    GstCvmlFilter *cvmlfilter = GST_CVMLFILTER (object);
    GST_DEBUG_OBJECT (cvmlfilter, "set_property");

    switch (property_id) {
    case PROP_AWS_REGION:
        g_free(cvmlfilter->aws_region);
        cvmlfilter->aws_region = g_strdup (g_value_get_string (value));
        break;
    case PROP_FILTER_TAGS: {
        const GstStructure *s = gst_value_get_structure(value);

        if (cvmlfilter->filter_tags) {
            gst_structure_free(cvmlfilter->filter_tags);
        }
        cvmlfilter->filter_tags = s ? gst_structure_copy(s) : NULL;

        // Parse input configuration
        std::map<std::string, std::string> filter_tags;
        if (cvmlfilter->filter_tags) {
            gboolean ret;
            ret = gstructToMap(cvmlfilter->filter_tags, &filter_tags);
            if (!ret) {
                GST_WARNING("Failed to parse stream tags");
                break;
            }
        }
        cvmlfilter->imageProcessor->setParams(filter_tags);
        break;
    }
    default:
        G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
        break;
    }
}