print jni log to log file
[rtmpclient.git] / app / src / main / java / ai / suanzi / rtmpclient / Ffmpeg.java
index 7d9bb80..4d61c9d 100644 (file)
@@ -1,5 +1,9 @@
 package ai.suanzi.rtmpclient;
 
+import android.util.Log;
+
+import org.apache.log4j.Logger;
+
 public class Ffmpeg {
 
     static {
@@ -8,9 +12,7 @@ public class Ffmpeg {
             System.loadLibrary("x264");
         }
         System.loadLibrary("avutil");
-
         System.loadLibrary("postproc");
-
         System.loadLibrary("swresample");
         System.loadLibrary("swscale");
         System.loadLibrary("avcodec");
@@ -20,13 +22,36 @@ public class Ffmpeg {
         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);
 }