/* gstreamer-app-0.10.vapi generated by vapigen, do not modify. */

[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
namespace Gst {
	[CCode (cheader_filename = "gst/app/gstappsink.h")]
	public class AppSink : Gst.BaseSink, Gst.URIHandler {
		[CCode (has_construct_function = false)]
		protected AppSink ();
		public bool is_eos ();
		public Gst.Buffer pull_buffer ();
		public Gst.BufferList pull_buffer_list ();
		public Gst.Buffer pull_preroll ();
		public void set_callbacks (Gst.AppSinkCallbacks callbacks, GLib.DestroyNotify notify);
		public Gst.Caps caps { get; set; }
		public bool drop { get; set; }
		public bool emit_signals { get; set; }
		public uint max_buffers { get; set; }
		public virtual signal void eos ();
		public virtual signal void new_buffer ();
		public virtual signal void new_buffer_list ();
		public virtual signal void new_preroll ();
	}
	[CCode (cheader_filename = "gst/app/gstappsink.h")]
	[Compact]
	public class AppSinkCallbacks {
		public weak GLib.Callback eos;
		public weak GLib.Callback new_buffer;
		public weak GLib.Callback new_buffer_list;
		public weak GLib.Callback new_preroll;
	}
	[CCode (cheader_filename = "gst/app/gstappsrc.h")]
	public class AppSrc : Gst.BaseSrc, Gst.URIHandler {
		[CCode (has_construct_function = false)]
		protected AppSrc ();
		public Gst.FlowReturn end_of_stream ();
		public Gst.FlowReturn push_buffer (owned Gst.Buffer buffer);
		public void set_callbacks (Gst.AppSrcCallbacks callbacks, GLib.DestroyNotify notify);
		[NoAccessorMethod]
		public bool block { get; set; }
		public Gst.Caps caps { get; set; }
		public bool emit_signals { get; set; }
		[NoAccessorMethod]
		public Gst.Format format { get; set; }
		[NoAccessorMethod]
		public bool is_live { get; set; }
		public uint64 max_bytes { get; set; }
		[NoAccessorMethod]
		public int64 max_latency { get; set; }
		[NoAccessorMethod]
		public int64 min_latency { get; set; }
		[NoAccessorMethod]
		public uint min_percent { get; set; }
		public int64 size { get; set; }
		public Gst.AppStreamType stream_type { get; set; }
		public virtual signal void enough_data ();
		public virtual signal void need_data (uint length);
		public virtual signal bool seek_data (uint64 offset);
	}
	[CCode (cheader_filename = "gst/app/gstappsrc.h")]
	[Compact]
	public class AppSrcCallbacks {
		public weak GLib.Callback enough_data;
		public weak GLib.Callback need_data;
		public weak GLib.Callback seek_data;
	}
	[CCode (cheader_filename = "gst/app/gstappsrc.h", cprefix = "GST_APP_STREAM_TYPE_")]
	public enum AppStreamType {
		STREAM,
		SEEKABLE,
		RANDOM_ACCESS
	}
}
