From daad95eefa884411112b2fe02b9b19acff25d3bf Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 22 三月 2017 14:31:21 +0800
Subject: [PATCH] 

---
 VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java |  103 ++++++++++++++++++++++-----------------------------
 1 files changed, 44 insertions(+), 59 deletions(-)

diff --git a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java
index 7f22d73..39714d2 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/com/bsk/zhangbo/demoforbsk/ui/fragment/OneFragment.java
@@ -4,6 +4,7 @@
 import android.graphics.Rect;
 import android.graphics.SurfaceTexture;
 import android.os.Bundle;
+import android.support.v4.app.Fragment;
 import android.support.v4.view.ViewPager;
 import android.support.v7.widget.GridLayoutManager;
 import android.support.v7.widget.LinearLayoutManager;
@@ -16,12 +17,14 @@
 import android.widget.RadioButton;
 import android.widget.RadioGroup;
 import android.widget.Toast;
+import android.widget.VideoView;
 
 import com.bsk.zhangbo.demoforbsk.R;
 import com.bsk.zhangbo.demoforbsk.adapter.MyFragmentPagerAdapter;
 import com.bsk.zhangbo.demoforbsk.adapter.OneBottomRecylerViewAdapter;
 import com.bsk.zhangbo.demoforbsk.base.BaseFragment;
 import com.bsk.zhangbo.demoforbsk.ui.activity.TestARGB8888Activity;
+import com.bsk.zhangbo.demoforbsk.util.RtspFaceNative;
 import com.bsk.zhangbo.demoforbsk.util.WindowsUtil;
 import com.bsk.zhangbo.demoforbsk.widget.MyGLSurfaceView;
 import com.camnter.easyrecyclerview.widget.EasyRecyclerView;
@@ -31,6 +34,7 @@
 import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
+
 
 
 /**
@@ -46,7 +50,6 @@
     private List mList;
     private EasyRecyclerView mRecyclerViewRegister, mRecyclerViewUser;
 
-
     //鎾斁
 
     String mSourceString = "clips/testfile.mp4";
@@ -56,41 +59,18 @@
     SurfaceHolder mSurfaceHolder1;
 
     VideoSink mSelectedVideoSink;
-    VideoSink mNativeCodecPlayerVideoSink;
+
 
     SurfaceHolderVideoSink mSurfaceHolder1VideoSink;
 
+    VideoSink mNativeCodecPlayerVideoSink;
     GLViewVideoSink mGLView1VideoSink;
     boolean mCreated = false;
     boolean mIsPlaying = false;
 
-//    SurfaceHolderVideoSink mSurfaceHolder1VideoSink;
-//    VideoSink mSelectedVideoSink;
-//    VideoSink mNativeCodecPlayerVideoSink;
-//    SurfaceView mSurfaceView1;
-//    SurfaceHolder mSurfaceHolder1;
-//    boolean mCreated = false;
-//    boolean mIsPlaying = false;
-//    String mSourceString = "clips/testfile.mp4";
-
-    /**
-     * Native methods, implemented in jni folder
-     */
-//    public static native void createEngine();
-//
-//    public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename);
-//
-//    public static native void setPlayingStreamingMediaPlayer(boolean isPlaying);
-//
-//    public static native void shutdown();
-//
-//    public static native void setSurface(Surface surface);
-//
-//    public static native void rewindStreamingMediaPlayer();
-
     /** Load jni .so on initialization */
     static {
-        //System.loadLibrary("native-codec-jni");//xiuxi
+        System.loadLibrary("rtspface");//xiuxi
     }
 
 
@@ -122,6 +102,15 @@
 
         mGLView1 = (MyGLSurfaceView) view.findViewById(R.id.surfaceview2);
         mSurfaceView1 = (SurfaceView) view.findViewById(R.id.surfaceview1);
+        RtspFaceNative.init();
+        try {
+            Thread.sleep(3000);
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        RtspFaceNative.setSurface(1, mSurfaceView1.getHolder().getSurface());
+        RtspFaceNative.setSurface(2, mGLView1.getHolder().getSurface());
+
         mSurfaceHolder1 = mSurfaceView1.getHolder();
 
         mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() {
@@ -144,10 +133,10 @@
 
         });
         //surfaceview
-//        if (mSurfaceHolder1VideoSink == null) {
-//            mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1);
-//        }
-//        mSelectedVideoSink = mSurfaceHolder1VideoSink;
+        if (mSurfaceHolder1VideoSink == null) {
+            mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1);
+        }
+        mSelectedVideoSink = mSurfaceHolder1VideoSink;
 
 
         //openGL
@@ -170,16 +159,22 @@
                                 return;
                             }
                             mSelectedVideoSink.useAsSinkForNative();
+                            mSurfaceHolder1VideoSink.useAsSinkForNative();
+                            //mSelectedVideoSink.useAsSinkForNative();
+                            //mSurfaceHolder1VideoSink.useAsSinkForNative();
                             mNativeCodecPlayerVideoSink = mSelectedVideoSink;
                         }
                         if (mSourceString != null) {
-                            mCreated = createStreamingMediaPlayer(getResources().getAssets(),
-                                    mSourceString);
+                            //mCreated = createStreamingMediaPlayer(getResources().getAssets(),
+                            //        mSourceString);
+                            mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                            mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                            ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
                         }
                     }
                     if (mCreated) {
                         mIsPlaying = !mIsPlaying;
-                        setPlayingStreamingMediaPlayer(mIsPlaying);
+                        //setPlayingStreamingMediaPlayer(mIsPlaying);
                     }
 
 
@@ -188,7 +183,7 @@
                 }
             }
         });
-        //thread.start();//xiuxi
+        thread.start();//xiuxi
     }
 
     @Override
@@ -253,14 +248,17 @@
         if (mCreated && mNativeCodecPlayerVideoSink != mSelectedVideoSink) {
             // shutdown and recreate on other surface
             Log.i("@@@", "shutting down player");
-            shutdown();
+            RtspFaceNative.shutdown(1);
             mCreated = false;
             mSelectedVideoSink.useAsSinkForNative();
             mNativeCodecPlayerVideoSink = mSelectedVideoSink;
             if (mSourceString != null) {
                 Log.i("@@@", "recreating player");
-                mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString);
+                //mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString);
                 mIsPlaying = false;
+                mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                ////mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
             }
         }
     }
@@ -287,30 +285,11 @@
      */
     @Override
     public void onDestroy() {
-        shutdown();
+        RtspFaceNative.shutdown(1);
         mCreated = false;
         super.onDestroy();
     }
 
-    /**
-     * Native methods, implemented in jni folder
-     */
-//    public static native void createEngine();
-
-    public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename);
-
-    public static native void setPlayingStreamingMediaPlayer(boolean isPlaying);
-
-    public static native void shutdown();
-
-    public static native void setSurface(Surface surface);
-
-    public static native void rewindStreamingMediaPlayer();
-
-    /** Load jni .so on initialization */
-    static {
-        //System.loadLibrary("native-codec-jni");//xiuxi
-    }
 
     // VideoSink abstracts out the difference between Surface and SurfaceTexture
     // aka SurfaceHolder and GLSurfaceView
@@ -339,7 +318,13 @@
         void useAsSinkForNative() {
             Surface s = mSurfaceHolder.getSurface();
             Log.i("@@@", "setting surface " + s);
-            setSurface(s);
+            RtspFaceNative.setSurface(1, s);
+
+
+            /*SurfaceTexture st = mSurfaceHolder.getSurfaceTexture();
+            Surface s = new Surface(st);
+            RtspFaceNative.setSurface(2, s);
+            s.release();*/
         }
 
     }
@@ -361,7 +346,7 @@
         void useAsSinkForNative() {
             SurfaceTexture st = mMyGLSurfaceView.getSurfaceTexture();
             Surface s = new Surface(st);
-            setSurface(s);
+            RtspFaceNative.setSurface(2, s);
             s.release();
         }
 

--
Gitblit v1.8.0