Open
Description
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
Labels
No labels