GNOME Bugzilla – Bug 657493
Using TagList results in segmentation faults
Last modified: 2014-02-22 21:23:28 UTC
Created attachment 194910 [details] Example application Hi, Most actions performed on a TagList retrieved from PlayBin2.GetVideoTags() result in segmentation faults, crashing the application. Results have become "worse" since the 0.9.2 release, compared to latest HEAD. Attached you'll find an example application. For testing I'm using a m4v/h.264 video file. Where line 49 (TagList.IsEmpty) did not raise an error in 0.9.2, it now gives me "GStreamer-CRITICAL **: gst_tag_list_is_empty: assertion `GST_IS_TAG_LIST (list)' failed" Where line 50 (TagList.Size) did not raise an error in 0.9.2, it now gives me a segmentation fault. In both 0.9.2 and HEAD a segmentation fault occurs at the foreach loop in line 51, not even getting to 52. Let me know if you need any more information.
I can confirm that. gst_tag_list_is_empty() gets a random pointer passed, which really shouldn't happen.
Can this be reproduced with any C or python code ?
No, it's a bug in the bindings or glib-sharp
Is this still a problem with the 1.x based gstreamer-sharp bindings?
I wanted to give it a try but it appears that the 1.x based gstreamer-sharp bindings don't cover BasePlugins and CorePlugins yet. That is, there's no such namespace and it fails to find FakeSink. I took the latest master from http://cgit.freedesktop.org/gstreamer/gstreamer-sharp/ to take for a spin. Am I overlooking something?
Forget what I asked in comment #5, I did not expect the new bindings to work that different compared to the old. 1.x based gstreamer-sharp bindings work like a charm. Non of the issues mentioned in the OP did appear.