mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-04 23:46:43 +00:00
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using System;
|
|
using System.Collections;
|
|
using System.Runtime.InteropServices;
|
|
using GLib;
|
|
using Gst;
|
|
|
|
namespace Gst.CorePlugins {
|
|
[GTypeName ("GstFileIndex")]
|
|
public class FileIndex : Gst.Index {
|
|
public FileIndex (IntPtr raw) : base (raw) { }
|
|
|
|
[DllImport("libgstreamer-0.10.dll") ]
|
|
static extern IntPtr gst_index_factory_make (IntPtr index);
|
|
|
|
public FileIndex () : base (IntPtr.Zero) {
|
|
IntPtr native_index = GLib.Marshaller.StringToPtrGStrdup ("fileindex");
|
|
Raw = gst_index_factory_make (native_index);
|
|
GLib.Marshaller.Free (native_index);
|
|
if (Raw == IntPtr.Zero)
|
|
throw new Exception ("Failed to instantiate index \"fileindex\"");
|
|
}
|
|
|
|
public static FileIndex Make () {
|
|
return Gst.IndexFactory.Make ("fileindex") as FileIndex;
|
|
}
|
|
|
|
[GLib.Property ("location")]
|
|
public string Location {
|
|
get {
|
|
GLib.Value val = GetProperty ("location");
|
|
string ret = (string) val.Val;
|
|
val.Dispose ();
|
|
return ret;
|
|
}
|
|
set {
|
|
GLib.Value val = new GLib.Value (this, "location");
|
|
val.Val = value;
|
|
SetProperty ("location", val);
|
|
val.Dispose ();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|