package com.nativelibs4java.ffmpeg.avfilter;
import org.bridj.Pointer;
import org.bridj.StructObject;
import org.bridj.ann.Field;
import org.bridj.ann.Library;
/**
 * <i>native declaration : libavfilter/avfilter.h</i><br>
 * This file was autogenerated by <a href="http://jnaerator.googlecode.com/">JNAerator</a>,<br>
 * a tool written by <a href="http://ochafik.free.fr/">Olivier Chafik</a> that <a href="http://code.google.com/p/jnaerator/wiki/CreditsAndLicense">uses a few opensource projects.</a>.<br>
 * For help, please visit <a href="http://nativelibs4java.googlecode.com/">NativeLibs4Java</a> or <a href="http://bridj.googlecode.com/">BridJ</a> .
 */
@Library("avfilter") 
public class AVFilterBufferRefAudioProps extends StructObject {
	public AVFilterBufferRefAudioProps() {
		super();
	}
	public AVFilterBufferRefAudioProps(Pointer pointer) {
		super(pointer);
	}
	/// < channel layout of audio buffer
	@Field(0) 
	public long channel_layout() {
		return this.io.getLongField(this, 0);
	}
	/// < channel layout of audio buffer
	@Field(0) 
	public AVFilterBufferRefAudioProps channel_layout(long channel_layout) {
		this.io.setLongField(this, 0, channel_layout);
		return this;
	}
	public final long channel_layout_$eq(long channel_layout) {
		channel_layout(channel_layout);
		return channel_layout;
	}
	/// < number of audio samples
	@Field(1) 
	public int nb_samples() {
		return this.io.getIntField(this, 1);
	}
	/// < number of audio samples
	@Field(1) 
	public AVFilterBufferRefAudioProps nb_samples(int nb_samples) {
		this.io.setIntField(this, 1, nb_samples);
		return this;
	}
	public final int nb_samples_$eq(int nb_samples) {
		nb_samples(nb_samples);
		return nb_samples;
	}
	/// < audio buffer size
	@Field(2) 
	public int size() {
		return this.io.getIntField(this, 2);
	}
	/// < audio buffer size
	@Field(2) 
	public AVFilterBufferRefAudioProps size(int size) {
		this.io.setIntField(this, 2, size);
		return this;
	}
	public final int size_$eq(int size) {
		size(size);
		return size;
	}
	/// < audio buffer sample rate
	@Field(3) 
	public int sample_rate() {
		return this.io.getIntField(this, 3);
	}
	/// < audio buffer sample rate
	@Field(3) 
	public AVFilterBufferRefAudioProps sample_rate(int sample_rate) {
		this.io.setIntField(this, 3, sample_rate);
		return this;
	}
	public final int sample_rate_$eq(int sample_rate) {
		sample_rate(sample_rate);
		return sample_rate;
	}
	/// < audio buffer - planar or packed
	@Field(4) 
	public int planar() {
		return this.io.getIntField(this, 4);
	}
	/// < audio buffer - planar or packed
	@Field(4) 
	public AVFilterBufferRefAudioProps planar(int planar) {
		this.io.setIntField(this, 4, planar);
		return this;
	}
	public final int planar_$eq(int planar) {
		planar(planar);
		return planar;
	}
}
