package ai.suanzi.rtmpclient;
+import android.util.Log;
+
public class Ffmpeg {
static {
+ String arch = System.getProperty("os.arch");
+ if (arch.equals("i686")){
+ System.loadLibrary("x264");
+ }
+ System.loadLibrary("avutil");
+ System.loadLibrary("postproc");
+ System.loadLibrary("swresample");
+ System.loadLibrary("swscale");
+ System.loadLibrary("avcodec");
+ System.loadLibrary("avdevice");
+ System.loadLibrary("avfilter");
+ System.loadLibrary("avformat");
System.loadLibrary("ffmpeg-jni");
+ }
+
+ private static Ffmpeg instance = new Ffmpeg();
+ public static Ffmpeg getInstance(){
+ return instance;
}
+ private Ffmpeg(){
+ Log.e("Ffmpeg", "init");
+ init();
+ //getPerfectDevice();
+ }
+
+
public native String getVersion();
+ public native void init();
+ public native int init(int width, int height);
+ public native int flush();
+ public native int close();
+ public native int process(byte[] data);
+ public native int play(Object surface, String fname);
+ public native int push(Object surface, String url);
+ public native int preview(Object surface);
+ public native String getPerfectDevice();
+ public native int test(int fd);
}