package ai.suanzi.rtmpclient;
+import android.util.Log;
+
+import org.apache.log4j.Logger;
+
public class Ffmpeg {
static {
System.loadLibrary("x264");
}
System.loadLibrary("avutil");
-
System.loadLibrary("postproc");
-
System.loadLibrary("swresample");
System.loadLibrary("swscale");
System.loadLibrary("avcodec");
System.loadLibrary("ffmpeg-jni");
}
+ private static Ffmpeg instance = new Ffmpeg();
+
+ public static Ffmpeg getInstance(){
+ return instance;
+ }
+
+ private Ffmpeg(){
+ Log.e("Ffmpeg", "init");
+ //init();
+ //inithaha(640, 480);
+ //getPerfectDevice();
+ }
+
+ private Logger gLogger = Logger.getLogger("FFmpeg");
+ public void print(String str){
+ gLogger.error(str);
+ }
+
public native String getVersion();
- public native int init(int width, int height);
+ public native void init();
+ public native int inithaha(int width, int height);
+ public native int initnew (int width, int height, String url);
+ //public native init inithahurl(ini)
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);
+ public native int push(Object surface, String url);
public native int preview(Object surface);
public native String getPerfectDevice();
+ public native int test(int fd);
+ public native void setRtmpUrl(String url);
}