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

[CCode (cprefix = "Gst", lower_case_cprefix = "gst_")]
namespace Gst {
	[CCode (cheader_filename = "gst/cdda/gstcddabasesrc.h")]
	public class CddaBaseSrc : Gst.PushSrc, Gst.URIHandler {
		public int cur_sector;
		public int cur_track;
		public uint32 discid;
		public weak Gst.Index index;
		public int index_id;
		[CCode (array_length = false)]
		public weak char[] mb_discid;
		public uint num_all_tracks;
		public uint num_tracks;
		public int prev_track;
		public int seek_sector;
		public weak Gst.TagList tags;
		public bool toc_bias;
		public int toc_offset;
		public weak Gst.CddaBaseSrcTrack tracks;
		public weak string uri;
		public int uri_track;
		[CCode (has_construct_function = false)]
		protected CddaBaseSrc ();
		public bool add_track (Gst.CddaBaseSrcTrack track);
		[NoWrapper]
		public virtual void close ();
		[NoWrapper]
		public virtual unowned string get_default_device ();
		[NoWrapper]
		public virtual bool open (string device);
		[NoWrapper]
		public virtual unowned string probe_devices ();
		[NoWrapper]
		public virtual unowned Gst.Buffer read_sector (int sector);
		[NoAccessorMethod]
		public string device { owned get; set; }
		[NoAccessorMethod]
		public Gst.CddaBaseSrcMode mode { get; set; }
		[NoAccessorMethod]
		public uint track { get; set; }
	}
	[CCode (cheader_filename = "gst/cdda/gstcddabasesrc.h")]
	[Compact]
	public class CddaBaseSrcTrack {
		public uint end;
		public bool is_audio;
		public uint num;
		public uint start;
		public weak Gst.TagList tags;
	}
	[CCode (cheader_filename = "gst/cdda/gstcddabasesrc.h", cprefix = "GST_CDDA_BASE_SRC_MODE_")]
	public enum CddaBaseSrcMode {
		NORMAL,
		CONTINUOUS
	}
	[CCode (cheader_filename = "gst/cdda/gstcddabasesrc.h")]
	public const string TAG_CDDA_TRACK_TAGS;
}
