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

namespace Gst.App {

	using System;

	public delegate void PushSampleEventHandler(object o, PushSampleEventArgs args);

	public class PushSampleEventArgs : GLib.SignalArgs {
		public Gst.Sample Sample{
			get {
				return (Gst.Sample) Args [0];
			}
		}

	}
}
