static void gst_cvmlfilter_class_init()

in awstreamer/gst_plugins/cvmlfilter/gstcvmlfilter.cpp [111:152]


static void gst_cvmlfilter_class_init(GstCvmlFilterClass * klass) {
    GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
    GstBaseTransformClass *base_transform_class = GST_BASE_TRANSFORM_CLASS (klass);
    GstVideoFilterClass *video_filter_class = GST_VIDEO_FILTER_CLASS (klass);

    /* Setting up pads and setting metadata should be moved to
      base_class_init if you intend to subclass this class. */
    gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
        gst_pad_template_new ("src", GST_PAD_SRC, GST_PAD_ALWAYS,
          gst_caps_from_string (VIDEO_SRC_CAPS)));
    gst_element_class_add_pad_template (GST_ELEMENT_CLASS(klass),
        gst_pad_template_new ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
          gst_caps_from_string (VIDEO_SINK_CAPS)));

    gst_element_class_set_static_metadata (GST_ELEMENT_CLASS(klass),
        "CVML Filter", "Generic", "CV/ML filtering plug-in",
        "Bartek Pawlik <pawlikb@amazon.com>");

    gobject_class->set_property = gst_cvmlfilter_set_property;
    gobject_class->get_property = gst_cvmlfilter_get_property;
    gobject_class->dispose = gst_cvmlfilter_dispose;
    gobject_class->finalize = gst_cvmlfilter_finalize;
    base_transform_class->start = GST_DEBUG_FUNCPTR (gst_cvmlfilter_start);
    base_transform_class->stop = GST_DEBUG_FUNCPTR (gst_cvmlfilter_stop);
    video_filter_class->set_info = GST_DEBUG_FUNCPTR (gst_cvmlfilter_set_info);
    video_filter_class->transform_frame = GST_DEBUG_FUNCPTR (gst_cvmlfilter_transform_frame);
    video_filter_class->transform_frame_ip = GST_DEBUG_FUNCPTR (gst_cvmlfilter_transform_frame_ip);

    g_object_class_install_property(gobject_class, PROP_AWS_REGION,
      g_param_spec_string ("aws-region", "AWS Region", "AWS Region", DEFAULT_REGION,
      (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));

    g_object_class_install_property(gobject_class, PROP_FILTER_TAGS,
      g_param_spec_boxed ("stream-tags", "Stream Tags",
                          "key-value pair that you can define and assign to each stream",
                          GST_TYPE_STRUCTURE, (GParamFlags) (G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)));

    processing_complete_signal =
        g_signal_new ("processing-complete", G_TYPE_FROM_CLASS(klass),
          G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL,
          G_TYPE_NONE, 1, G_TYPE_UINT);
}