}
if(raiseDelegate != null) {
- raiseDelegate.DynamicInvoke(new object [] { o,
- Activator.CreateInstance(type, new object [] { args }) });
+ GLib.SignalArgs new_args = (GLib.SignalArgs) Activator.CreateInstance (type);
+ new_args.RetVal = args.RetVal;
+ new_args.Args = args.Args;
+
+ raiseDelegate.DynamicInvoke(new object [] { o, new_args });
}
}
}
public class NewDecodedPadArgs : GLib.SignalArgs
{
- public NewDecodedPadArgs(GLib.SignalArgs args) : base(args)
- {
- }
-
public Gst.Pad Pad {
- get { return (Gst.Pad)Args[1]; }
+ get { return (Gst.Pad)Args[0]; }
}
public bool Last {
- get { return (bool)Args[2]; }
+ get { return (bool)Args[1]; }
}
}
public class HaveTypeArgs : GLib.SignalArgs
{
- public HaveTypeArgs(GLib.SignalArgs args) : base(args)
- {
- }
-
public uint Probability {
get { return (uint)Args[0]; }
}
public Gst.Caps Caps {
get {
- return (Gst.Caps)Args[1];
- }
+ return (Gst.Caps)Args[1];
+ }
}
}
{
return ElementFactory.Make("typefind", name) as TypeFindElement;
}
- /*
+
protected virtual void OnHaveType(object o, GLib.SignalArgs args)
{
BindingHelper.InvokeProxySignalDelegate(have_type_delegate, typeof(HaveTypeArgs), o, args);
}
- */
-
public event GLib.DynamicSignalHandler HaveType {
add {
- /*
have_type_delegate = BindingHelper.AddProxySignalDelegate(this, "have-type",
OnHaveType, have_type_delegate, value);
- */
- GLib.DynamicSignal.Connect(this, "have-type", value);
}
remove {
- /*
have_type_delegate = BindingHelper.RemoveProxySignalDelegate(this, "have-type",
OnHaveType, have_type_delegate, value);
- */
- GLib.DynamicSignal.Disconnect(this, "have-type", value);
}
}
private void OnNewDecodedPad(object o, NewDecodedPadArgs args)
{
Pad sinkpad = audioconvert.GetPad("sink");
-
+
if(sinkpad.IsLinked) {
return;
}
-
+
Caps caps = args.Pad.Caps;
Structure structure = caps.GetStructure(0);