Skip to content

Unable to set property with integer value #2

Open
@brucekim

Description

@brucekim

Hi,

SetProperty() strictly checks property type and the type of value given so that it cannot set several property with integer value.

gobject.go

fakevideosrc, err := gst.NewElementWithName("videotestsrc", "vtestsrc")
	err = fakevideosrc.SetProperty("pattern", 2)
	if err != nil {
		logger.Infof("err %v", err)
	}

> log output
[main.go][func1] => err Invalid type gint for property pattern

I think, It is convenient for properties to allow integer value to be set with integer. In addition, gstreamer does like that.

In order to do this, I simply added following function, SetPropertyWithInteger().

I would like to hear your opinion.

func (v *Object) SetPropertyWithInteger(name string, value int) error {
	prop, err := ValueInit(TYPE_INT)
	if err != nil {
		return err
	}
	prop.SetInt(value)
	if err != nil {
		return fmt.Errorf("Unable to perform type conversion: %s", err.Error())
	}
	cstr := C.CString(name)
	defer C.free(unsafe.Pointer(cstr))
	C.g_object_set_property(v.GObject, (*C.gchar)(cstr), prop.native())
	return nil
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions