gstreamer/gstreamer-sharp/Element.custom
Khaled Mohammed 13873a6559 more tests and Dispose() in Gst.Object
git-svn-id: svn://anonsvn.mono-project.com/source/branches/abock/gstreamer-sharp@63657 e3ebcda4-bce8-0310-ba0a-eca2169e7518
2006-08-11 20:53:33 +00:00

79 lines
2.2 KiB
Text

public object this[string property] {
get { return GetProperty(property).Val; }
set { SetProperty(property, value); }
}
public new GLib.Value GetProperty(string propertyName)
{
return base.GetProperty(propertyName);
}
public new void SetProperty(string propertyName, GLib.Value value)
{
base.SetProperty(propertyName, value);
}
public void SetProperty(string propertyName, object value)
{
base.SetProperty(propertyName, new GLib.Value(value));
}
public void SetProperty(string propertyName, string value)
{
base.SetProperty(propertyName, new GLib.Value(value));
}
public void SetProperty(string propertyName, int value)
{
base.SetProperty(propertyName, new GLib.Value(value));
}
public void SetProperty(string propertyName, double value)
{
base.SetProperty(propertyName, new GLib.Value(value));
}
public void SetProperty(string propertyName, bool value)
{
base.SetProperty(propertyName, new GLib.Value(value));
}
public bool QueryPosition(Gst.Format format, out long current)
{
return gst_element_query_position(Handle, ref format, out current);
}
public bool QueryDuration(Gst.Format format, out long duration)
{
return gst_element_query_duration(Handle, ref format, out duration);
}
public void Connect(string signal, GLib.DynamicSignalHandler handler)
{
GLib.DynamicSignal.Connect(this, signal, handler);
}
public void Disconnect(string signal, GLib.DynamicSignalHandler handler)
{
GLib.DynamicSignal.Disconnect(this, signal, handler);
}
public bool AddPad(Pad p)
{
bool ret = gst_element_add_pad(this.Handle, p == null ? IntPtr.Zero : p.Handle);
if(ret)
Gst.Object.Ref(p.Handle);
return ret;
}
[DllImport("gstreamer-0.10.dll")]
private static extern bool gst_element_query_position(IntPtr raw, ref Format format, out long cur);
[DllImport("gstreamer-0.10.dll")]
private static extern bool gst_element_query_duration(IntPtr raw, ref Format format, out long duration);
[DllImport("gstreamer-0.10.dll")]
static extern bool gst_element_add_pad(IntPtr raw, IntPtr pad);