// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Gst {

	using System;

	public delegate bool MetaInitFunction(Gst.Meta meta, IntPtr parms, Gst.Buffer buffer);

}
