package com.aimmac23.node.jna;
import com.sun.jna.Library;
import com.sun.jna.Pointer;
/**
* The native C interface we use for video encoding. All the
* state is kept in C-land - this interface represents the points
* where we have to cross between Java-land and C-land.
*
* @author Alasdair Macmillan
*
*/
public interface EncoderInterface extends Library {
Pointer create_context(String outputFile);
int init_encoder(Pointer context, int width, int height, int fps);
int init_codec(Pointer context);
int init_image(Pointer context);
int convert_frame(Pointer context, int[] data);
// same function, different way of expressing the argument
int convert_frame(Pointer context, Pointer data);
int encode_next_frame(Pointer context, long duration);
int encode_finish(Pointer context);
String codec_error_detail(Pointer context);
}