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

namespace Gst.Base {

	using System;

	public delegate bool DataQueueCheckFullFunction(Gst.Base.DataQueue queue, uint visible, uint bytes, ulong time, IntPtr checkdata);

}
