Bug fix: go_objects should be able to implement interfaces#5
Bug fix: go_objects should be able to implement interfaces#5atishnazir wants to merge 1 commit intotinyzimmer:mainfrom
Conversation
There was a tiny typo that meant class data was not attached to the interface callback objects.
When constructing Go Objects that implement one or more interfaces this would result in a nil pointer exception within goInterfaceInit.
Discovered whilst using go-gst:
```
gst.RegisterElement(
plugin,
elementName,
gst.RankNone,
&httpSrc,
base.ExtendsBaseSrc,
gst.InterfaceURIHandler,
)
```
|
I think this PR needs something extra, works fine through a debugger but at full speed there's a hiccough: |
|
Hey sorry I've had a busy month and just seeing this for the first time. That functionality is very experimental and definitely will have bugs like this. I can take a look at what you've proposed so far at some point and try to help it along. |
|
No worries, I've not a had a chance to tinker recently as was on holiday. WIth a view to easily reproduce the issue I've crafted a static plugin example here: https://github.com/cognitive-i/go-gst/commits/bugfix/plugins-with-interfaces In the process I added NewElementFromUri functionality. Of course now that I've created a standalone pseudo test case, the stray is no longer reproducing. Will bash it a little more. |
|
@atishnazir please move this PR to https://github.com/go-gst/go-glib (where future development of the bindings will take place) |
|
@RSWilli I haven't looked this one in a while as I was never satisfied I fully understood the issue. Will have a gander over next few days and either close/transfer as appropriate. @tinyzimmer, thanks for your work and @RSWilli thanks for picking up! |
|
@atishnazir FYI the original author is still on board, but is currently very busy we are using the new org to create a bigger community around this project |
There was a tiny typo that meant class data was not attached to the interface callback objects.
When constructing Go Objects that implement one or more interfaces this would result in a nil pointer exception within goInterfaceInit.
Discovered whilst using go-gst: