[Banshee-List] gst# backend



Hello all,

gst# backend is orking perfectely for me now.
I have just inactivate video because of an issue. I will write on it at bottom...
I need feedback so in order to test this branch:
0) install gstreamer-sharp binding
1) go to your banshee git repo
2) git checkout gst#�
3) ./autogen.sh --enable-gst-sharp
4) make
5) make run
6) test ;-)

About video issue, I am stuck. The bug come from that GdkScreen in GLib-sharp and Gstreamer-sharp have it is own binding bundled and it use Gst.GLib namespace so GdkScreen can not been instanciate from activator in gst.GLib system because there is no ctor with good signature :�
signature : GdkScreen (Glib value)
expected signature : GdkScreen (Gst.Glib value)
here is the exception:

Marshaling sync-message signal
Exception in Gtk# callback delegate
� Note: Applications can use Gst.GLib.ExceptionManager.UnhandledException to handle the exception.
System.Exception: Unknown type GdkScreen
� at Gst.GLib.Value.ToRegisteredType () [0x000a9] in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/glib-sharp/Value.cs:376�
� at Gst.GLib.Value.get_Val () [0x0034c] in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/glib-sharp/Value.cs:531�
� at Gst.GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x0010e] in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/glib-sharp/SignalClosure.cs:165�
� �at Gst.GLib.ExceptionManager.RaiseUnhandledException(System.Exception e, Boolean is_terminal) in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/glib-sharp/ExceptionManager.cs:line 58
� �at Gst.GLib.SignalClosure.MarshalCallback(IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/glib-sharp/SignalClosure.cs:line 182
� �at Gst.Element.gst_element_set_state(IntPtr , Int32 )
� �at Gst.Element.SetState(State state) in /home/dufoli/src/gstreamer-sharp/gstreamer-sharp/generated/Element.cs:line 1341
� �at Banshee.GStreamerSharp.PlayerEngine.Play() in /home/dufoli/src/banshee/src/Backends/Banshee.GStreamerSharp/Banshee.GStreamerSharp/PlayerEngine.cs:line 713
� �at Banshee.MediaEngine.PlayerEngineService.OpenCheck(System.Object o, Boolean play) in /home/dufoli/src/banshee/src/Core/Banshee.Services/Banshee.MediaEngine/PlayerEngineService.cs:line 391
...


So, I try to build gstreamer with GLib as a reference and remove Gst.Glib bundle.
I delete the folder GLib in gstreamer#
I use awk to replace all Gst.Glib to GLib
I use the last generator coming from gtk# module
I add the reference to GLib# of gtk# module
I copy some tweak (miniobject & marshaller mainly) in generator
and gstreamer# compile. You have source here :�https://github.com/dufoli/gstreamer-sharp
But I get an exception when running banshee with it. The strange thing is that NotifyHandler only exist in GLib so do not know where this come from. I try to found with grep but found nothing...
Here is the exception:

Missing method .ctor in assembly /home/dufoli/src/banshee/bin/Banshee.GStreamerSharp.dll, type Gst.GLib.NotifyHandler
Missing method .ctor in assembly /home/dufoli/src/banshee/bin/Banshee.GStreamerSharp.dll, type Gst.GLib.NotifyHandler
[1 Error 08:32:08.942] Error initializing required service PlayerEngine
Exception has been thrown by the target of an invocation.
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.TypeLoadException: Could not load type 'Gst.GLib.NotifyHandler' from assembly 'Banshee.GStreamerSharp'.
� at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
� at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00119] in /home/dufoli/build/mono-2.10.2/mcs/class/corlib/System.Reflection/MonoMethod.cs:526�
...


Olivier Dufour


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]