From 0727355ae017c0153ee7c643cdd1b0611c81627f Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 13 四月 2017 12:04:00 +0800
Subject: [PATCH] bug fix

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h                                                                     |    6 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock         |    0 
 VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java                                              |   25 ++
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock                                                              |    0 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin          |    0 
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties            |    2 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp                                                                   |  100 +++++----
 VisitFace/RtspNativeCodec/.idea/workspace.xml                                                                                       |  264 +++++++++++++++++--------
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin                                                               |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps                                              |    0 
 /dev/null                                                                                                                           |   13 -
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties                       |    2 
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin                                                                  |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log                                               |  112 ++++++----
 VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp                                                                            |   62 +++++
 VisitFace/RtspNativeCodec/release/librtspface.so                                                                                    |    0 
 VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin                                                               |    0 
 VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock |    0 
 18 files changed, 385 insertions(+), 201 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
index 6d6ed02..dc4c445 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileHashes.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
index 6bb559f..773c49f 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/fileSnapshots.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
index 18c66f5..24df9b8 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
index f2179fb..56e89f1 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/taskArtifacts/taskArtifacts.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
index 3707382..75a0354 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
index e5d0081..c05fa37 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
index 735cfe3..ed26a80 100644
--- a/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.idea/workspace.xml b/VisitFace/RtspNativeCodec/.idea/workspace.xml
index 600e64e..5b83823 100644
--- a/VisitFace/RtspNativeCodec/.idea/workspace.xml
+++ b/VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -10,10 +10,12 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="791a1ca7-972c-421c-af50-d8f452f0c589" name="Default" comment="">
+      <change type="DELETED" beforePath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" afterPath="" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileHashes.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileHashes.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileSnapshots.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/fileSnapshots.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/taskArtifacts/taskArtifacts.lock" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" afterPath="$PROJECT_DIR$/.gradle/3.3/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps" />
@@ -32,7 +34,9 @@
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" afterPath="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
     </list>
     <ignored path="RtspNativeCodec.iws" />
@@ -78,8 +82,8 @@
       <file leaf-file-name="RtspFaceNative.java" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="378">
-              <caret line="38" column="34" selection-start-line="38" selection-start-column="34" selection-end-line="38" selection-end-column="34" />
+            <state relative-caret-position="497">
+              <caret line="58" column="0" selection-start-line="58" selection-start-column="0" selection-end-line="58" selection-end-column="0" />
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -87,21 +91,11 @@
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="NativeImgIdx.java" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java">
-          <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="114">
-              <caret line="6" column="25" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="25" />
-              <folding />
-            </state>
-          </provider>
-        </entry>
-      </file>
       <file leaf-file-name="RtspNativeCodecJNI.cpp" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="292">
-              <caret line="253" column="25" selection-start-line="253" selection-start-column="25" selection-end-line="253" selection-end-column="25" />
+            <state relative-caret-position="145">
+              <caret line="270" column="0" selection-start-line="270" selection-start-column="0" selection-end-line="270" selection-end-column="0" />
               <folding />
             </state>
           </provider>
@@ -110,8 +104,8 @@
       <file leaf-file-name="RtspNativeCodecJNI.h" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="133">
-              <caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
+            <state relative-caret-position="513">
+              <caret line="31" column="110" selection-start-line="31" selection-start-column="103" selection-end-line="31" selection-end-column="110" />
               <folding />
             </state>
           </provider>
@@ -120,10 +114,23 @@
       <file leaf-file-name="CameraWrapper.cpp" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="1349">
-              <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
+            <state relative-caret-position="-76">
+              <caret line="84" column="5" selection-start-line="84" selection-start-column="5" selection-end-line="84" selection-end-column="5" />
               <folding>
                 <element signature="e#0#26#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="CameraWrapper.h" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="95">
+              <caret line="5" column="27" selection-start-line="5" selection-start-column="24" selection-end-line="5" selection-end-column="27" />
+              <folding>
+                <element signature="e#131#153#0" expanded="true" />
+                <element signature="e#303#341#0" expanded="true" />
               </folding>
             </state>
           </provider>
@@ -132,8 +139,8 @@
       <file leaf-file-name="FaceCache.cpp" pinned="false" current-in-tab="false">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="931">
-              <caret line="206" column="25" selection-start-line="206" selection-start-column="25" selection-end-line="206" selection-end-column="25" />
+            <state relative-caret-position="405">
+              <caret line="256" column="47" selection-start-line="256" selection-start-column="47" selection-end-line="256" selection-end-column="47" />
               <folding>
                 <element signature="e#0#22#0" expanded="true" />
               </folding>
@@ -144,8 +151,8 @@
       <file leaf-file-name="jni.h" pinned="false" current-in-tab="false">
         <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="209">
-              <caret line="604" column="74" selection-start-line="604" selection-start-column="74" selection-end-line="604" selection-end-column="74" />
+            <state relative-caret-position="225">
+              <caret line="587" column="0" selection-start-line="587" selection-start-column="0" selection-end-line="587" selection-end-column="0" />
               <folding />
             </state>
           </provider>
@@ -1866,13 +1873,13 @@
         <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/bsk/zhangbo/demoforbsk/util/RtspFaceNative.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
-        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
         <option value="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
+        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java" />
+        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
       </list>
     </option>
   </component>
@@ -1977,6 +1984,84 @@
             </PATH_ELEMENT>
             <PATH_ELEMENT>
               <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+          </PATH>
+          <PATH>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="RtspNativeCodec" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="app" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="src" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="main" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="java" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="util" />
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
             </PATH_ELEMENT>
           </PATH>
@@ -2376,17 +2461,17 @@
   </component>
   <component name="ToolWindowManager">
     <frame x="-8" y="-8" width="1924" height="1176" extended-state="0" />
-    <editor active="true" />
+    <editor active="false" />
     <layout>
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
-      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.36479843" sideWeight="0.65351814" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.36479843" sideWeight="0.64806867" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Build Variants" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Image Layers" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Capture Analysis" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.4237955" sideWeight="0.3004292" order="7" side_tool="true" content_ui="tabs" />
-      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2920354" sideWeight="0.71995705" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Event Log" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29301867" sideWeight="0.33530042" order="7" side_tool="true" content_ui="tabs" />
+      <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.2920354" sideWeight="0.68937767" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
-      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.4936034" order="7" side_tool="false" content_ui="tabs" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.4914163" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32940018" sideWeight="0.4978678" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
       <window_info id="Capture Tool" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -2396,7 +2481,7 @@
       <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="1" side_tool="false" content_ui="tabs" />
       <window_info id="Android Model" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Theme Preview" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
-      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.4237955" sideWeight="0.69957083" order="3" side_tool="false" content_ui="tabs" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.29301867" sideWeight="0.66469955" order="3" side_tool="false" content_ui="tabs" />
       <window_info id="Favorites" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="true" content_ui="tabs" />
       <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="4" side_tool="false" content_ui="tabs" />
       <window_info id="Nl-Palette" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="3" side_tool="false" content_ui="tabs" />
@@ -2424,7 +2509,7 @@
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <option name="time" value="346" />
+      <option name="time" value="411" />
     </breakpoint-manager>
     <watches-manager />
   </component>
@@ -2493,6 +2578,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="1881">
           <caret line="99" column="0" selection-start-line="99" selection-start-column="0" selection-end-line="99" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -2584,6 +2670,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="190">
           <caret line="1362" column="9" selection-start-line="1362" selection-start-column="9" selection-end-line="1362" selection-end-column="9" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -2656,6 +2743,10 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="-626">
           <caret line="108" column="22" selection-start-line="108" selection-start-column="22" selection-end-line="108" selection-end-column="22" />
+          <folding>
+            <element signature="e#3564#3565#0" expanded="false" />
+            <element signature="e#3623#3624#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
@@ -2670,6 +2761,7 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="247">
           <caret line="814" column="0" selection-start-line="814" selection-start-column="0" selection-end-line="814" selection-end-column="0" />
+          <folding />
         </state>
       </provider>
     </entry>
@@ -2695,17 +2787,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="57">
-          <caret line="3" column="8" selection-start-line="3" selection-start-column="8" selection-end-line="3" selection-end-column="8" />
-          <folding>
-            <element signature="e#131#153#0" expanded="true" />
-            <element signature="e#303#341#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="570">
@@ -2714,46 +2795,10 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="418">
           <caret line="22" column="48" selection-start-line="22" selection-start-column="48" selection-end-line="22" selection-end-column="48" />
-          <folding />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="1349">
-          <caret line="71" column="0" selection-start-line="71" selection-start-column="0" selection-end-line="71" selection-end-column="0" />
-          <folding>
-            <element signature="e#0#26#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="931">
-          <caret line="206" column="25" selection-start-line="206" selection-start-column="25" selection-end-line="206" selection-end-column="25" />
-          <folding>
-            <element signature="e#0#22#0" expanded="true" />
-          </folding>
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="209">
-          <caret line="604" column="74" selection-start-line="604" selection-start-column="74" selection-end-line="604" selection-end-column="74" />
           <folding />
         </state>
       </provider>
@@ -2782,6 +2827,25 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="95">
+          <caret line="5" column="27" selection-start-line="5" selection-start-column="24" selection-end-line="5" selection-end-column="27" />
+          <folding>
+            <element signature="e#131#153#0" expanded="true" />
+            <element signature="e#303#341#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="6" column="7" selection-start-line="6" selection-start-column="7" selection-end-line="6" selection-end-column="7" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="266">
@@ -2790,26 +2854,54 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java">
+    <entry file="file://D:/Android/adk/ndk-bundle/platforms/android-22/arch-arm/usr/include/jni.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="114">
-          <caret line="6" column="25" selection-start-line="6" selection-start-column="13" selection-end-line="6" selection-end-column="25" />
+        <state relative-caret-position="225">
+          <caret line="587" column="0" selection-start-line="587" selection-start-column="0" selection-end-line="587" selection-end-column="0" />
           <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="513">
+          <caret line="31" column="110" selection-start-line="31" selection-start-column="103" selection-end-line="31" selection-end-column="110" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="405">
+          <caret line="256" column="47" selection-start-line="256" selection-start-column="47" selection-end-line="256" selection-end-column="47" />
+          <folding>
+            <element signature="e#0#22#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-76">
+          <caret line="84" column="5" selection-start-line="84" selection-start-column="5" selection-end-line="84" selection-end-column="5" />
+          <folding>
+            <element signature="e#0#26#0" expanded="true" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="292">
-          <caret line="253" column="25" selection-start-line="253" selection-start-column="25" selection-end-line="253" selection-end-column="25" />
+        <state relative-caret-position="145">
+          <caret line="270" column="0" selection-start-line="270" selection-start-column="0" selection-end-line="270" selection-end-column="0" />
           <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="378">
-          <caret line="38" column="34" selection-start-line="38" selection-start-column="34" selection-end-line="38" selection-end-column="34" />
+        <state relative-caret-position="497">
+          <caret line="58" column="0" selection-start-line="58" selection-start-column="0" selection-end-line="58" selection-end-column="0" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
index 7e426a0..ad6d3cf 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_deps
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
index 0fec56b..c1e7e30 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/armeabi-v7a/.ninja_log
@@ -1,49 +1,73 @@
 # ninja log v5
-18	748	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
-12	755	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
-755	1607	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
-21	771	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
-3097	3492	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-15	1448	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
-748	1775	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-771	3097	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
-3	1621	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
-27	1802	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
-4	618	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-618	1141	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-3	579	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-579	985	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-4	605	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-605	1006	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-3	522	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
-522	926	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-33	1163	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
-15	1210	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
-36	1305	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
-12	1659	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
-30	2138	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
-1163	2161	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-1305	2195	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
-4	2202	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
-1210	3655	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
-3655	4082	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
-3	744	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
-11	803	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
-19	949	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
-26	1218	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
-803	1540	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
-34	1632	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
-15	1761	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
-949	1814	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-744	2895	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
-2895	3282	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
 24	776	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
 30	818	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
-12	851	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
-15	1223	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
 818	1617	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+3	439	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+1188	1557	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+15	1223	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+14	734	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+13	1988	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
 19	1647	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
-851	1688	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
-4	1764	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
-776	2898	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
-2898	3287	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	1188	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+4	1189	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1189	1545	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	1171	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1171	1521	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+3	645	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
+6	717	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
+9	753	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+5	1014	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+717	1400	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+645	1508	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+10	1623	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
+4	1781	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+753	2891	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
+2891	3246	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+3	641	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
+5	748	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
+6	877	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+10	1104	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+877	1498	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+7	1580	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
+748	1587	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+8	1781	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+641	2769	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
+2769	3118	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+7	712	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
+8	859	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
+6	872	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+6	1236	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+712	1364	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+5	1630	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
+859	1639	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+4	1815	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+873	2908	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
+2908	3254	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+3	449	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+449	809	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	436	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+436	855	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	447	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+6	1173	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1174	1529	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	1178	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1178	1531	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+3	1189	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1189	1550	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+4	1255	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1255	1604	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+3	1178	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1178	1532	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+5	524	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+3	1322	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+1322	1713	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
+5	548	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	a3171a496028d438
+6	681	0	CMakeFiles/rtspface.dir/CameraWrapper.cpp.o	d92dd1d04b5c0345
+6	765	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	8a466329a73b562b
+7	1281	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	1249e538330ec634
+765	1572	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	ca99d0cff4f6b717
+681	1594	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	6a2338c361fc9c0b
+8	1649	0	CMakeFiles/rtspface.dir/PbFaceList.pb.cc.o	a4c0dfab93cb91a0
+3	1826	0	CMakeFiles/rtspface.dir/FaceCache.cpp.o	29bbc5d44de1c4c
+548	2872	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_SensetimeFaceTrack.cpp.o	c6ac00204ba57dc6
+2872	3254	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/armeabi-v7a/librtspface.so	268359c47689b5cb
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
index 41bab10..2a48d5f 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
@@ -1 +1 @@
-#Wed Apr 12 14:10:23 CST 2017
+#Thu Apr 13 12:02:18 CST 2017
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
index 4d18aa8..d3e6411 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
@@ -1,4 +1,4 @@
-#Wed Apr 12 14:10:23 CST 2017
+#Thu Apr 13 12:02:18 CST 2017
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi\\ic_launcher.png
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
index 3b1797f..d5c6e89 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/FaceCache.cpp
@@ -62,6 +62,17 @@
                            frameRGB, 3 * src_width,
                            src_width, src_height);
         frameRGBSize = src_height * src_width * 3;
+
+        //{
+        //    static size_t f = 0;
+        //    char fname[50];
+        //    sprintf(fname, "/sdcard/face-%u.rgb", ++f);
+        //    FILE *pFile = fopen(fname, "wb");
+        //    fwrite(frameRGB, 1, frameRGBSize, pFile);
+        //    fclose(pFile);
+        //    if (f > 20)exit(0);
+        //}
+
         return true;
 	}
 };
@@ -151,17 +162,28 @@
     {
         const FaceRect& faceRect(ctx.faceFeatures[i].rect);
         cv::Mat roiMat(yMat, cv::Rect(faceRect.leftTop.x, faceRect.leftTop.y, faceRect.rightBottom.x - faceRect.leftTop.x, faceRect.rightBottom.y - faceRect.leftTop.y));
-        
+        size_t s = roiMat.total() * roiMat.elemSize();
+
 		PbFaceList_FaceListImage pbFaceListImage;
 		pbFaceListImage.set_idx(i);
-		pbFaceListImage.set_size(roiMat.elemSize());
+		pbFaceListImage.set_size(s);
 		pbFaceListImage.set_type(PbFaceList_FaceListImage_ImageType_IT_Y);
 		pbFaceListImage.set_width(roiMat.cols);
 		pbFaceListImage.set_height(roiMat.rows);
 		pbFaceListImage.set_top_left_x(faceRect.leftTop.x);
 		pbFaceListImage.set_top_left_y(faceRect.leftTop.y);
 		
-		pbFaceListImage.add_img(roiMat.ptr(), roiMat.total() * roiMat.elemSize());
+		pbFaceListImage.add_img(roiMat.ptr(), s);
+
+        //{
+        //    static size_t f = 0;
+        //    char fname[50];
+        //    sprintf(fname, "/sdcard/face-%u.yuv", ++f);
+        //    FILE *pFile = fopen(fname, "wb");
+        //    fwrite(roiMat.ptr(), 1, s, pFile);
+        //    fclose(pFile);
+        //    if (f > 20)exit(0);
+        //}
     }
 
 	size_t s = pbFaceList.ByteSize();
@@ -174,6 +196,8 @@
 bool FaceCache::getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize)
 {
     FcPmBreackerContext& ctx(*(FcPmBreackerContext*)_ctx);
+    if (!ctx.dataAvailable)
+        return false;
 
     if (ctx.frameRGBSize == 0)
     {
@@ -189,7 +213,8 @@
     for (st_ff_vect_t::const_iterator ffiter = ctx.faceFeatures.begin(); ffiter != ctx.faceFeatures.end(); ++ffiter)
     {
         const FaceRect& faceRect(ffiter->rect);
-        cv::Mat roiMat(rgbMat, cv::Rect(faceRect.leftTop.x, faceRect.leftTop.y, faceRect.rightBottom.x - faceRect.leftTop.x, faceRect.rightBottom.y - faceRect.leftTop.y));
+        cv::Mat roiMat1(rgbMat, cv::Rect(faceRect.leftTop.x, faceRect.leftTop.y, faceRect.rightBottom.x - faceRect.leftTop.x, faceRect.rightBottom.y - faceRect.leftTop.y));
+        cv::Mat roiMat(roiMat1.clone()); // #todo copy data should be avoid!!!!
 
         NativeImgIdx imgidx;
         imgidx.offset = offset;
@@ -207,7 +232,34 @@
             return false;
         }
 
-        memcpy(buffImg + imgidx.offset, roiMat.ptr(), imgidx.size);
+
+        uint8_t* pbuf = buffImg + imgidx.offset;
+        memcpy(pbuf, roiMat.ptr(), imgidx.size);
+
+        //uint8_t* pbuf = buffImg + imgidx.offset;
+        //cv::Mat roiMat1(roiMat.cols, roiMat.rows, CV_8UC3, pbuf);
+        //pbuf[0]=123;
+        //roiMat.copyTo(roiMat1);
+        //memcpy(buffImg + imgidx.offset, roiMat.ptr(), imgidx.size);
+
+        //uint8_t* pbuf = buffImg + imgidx.offset;
+        //for(size_t r = 0; r < roiMat.rows; r++)
+        //{
+        //    const uint8_t* pcol = roiMat.ptr<uint8_t>(r);
+        //    memcpy(pbuf, pcol, roiMat.cols);
+        //    pbuf += roiMat.cols;
+        //}
+
+        //{
+        //    static size_t f = 0;
+        //    char fname[50];
+        //    sprintf(fname, "/sdcard/face-%u.rgb", ++f);
+        //    FILE *pFile = fopen(fname, "wb");
+        //    fwrite(pbuf, 1, imgidx.size, pFile);
+        //    fclose(pFile);
+        //    if (f > 20)exit(0);
+        //}
+
         imgIdxes.push_back(imgidx);
         offset = newSize;
     }
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index e051cd3..69836e8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -201,17 +201,18 @@
 	cameraWrapper.releaseFace();
 }
 
-jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceListPb)
+jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceListPb)
 {
 	LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_getFaceList" << LOG_ENDL;
 	assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
 	cameraIdx -= 1;
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
-	
+
+    // #todo optimize not copy data here, set data to jbyteArray directly
 	// Y channel of YUV420p, packed in protobuf
-	uint8_t buffer[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT]; // #todo optimize not copy data here, set data to jbyteArray directly
+	uint8_t buffer[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT] = {0};
     size_t buffSize = sizeof(buffer);
-    const size_t arrSize = env->GetArrayLength(faceListPb);
+    //const size_t arrSize = env->GetArrayLength(faceListPb);
 	bool ret = false;
 
 #ifdef USE_ST_SDK
@@ -223,69 +224,78 @@
 		LOG_INFO << "No face captured" << LOG_ENDL;
 		return 0;
 	}
-    else
-    {
-        LOG_INFO << "Face captured " << LOG_ENDL;
 
-        buffSize = std::min(buffSize, arrSize);
-        env->SetByteArrayRegion(faceListPb, 0, buffSize, (const jbyte*)buffer);
-        return buffSize;
-    }
+    LOG_INFO << "Face captured " << LOG_ENDL;
+
+    jclass jcRefByteArray = env->FindClass("cn/com/basic/face/util/RefByteArray");
+    jfieldID jfRefByteArray_arr = env->GetFieldID(jcRefByteArray, "arr","[B");
+
+    jbyteArray jbaFaceListPb = env->NewByteArray(buffSize);
+    env->SetByteArrayRegion(jbaFaceListPb, 0, buffSize, (const jbyte*)buffer);
+    env->SetObjectField(faceListPb, jfRefByteArray_arr, jbaFaceListPb);
+    return buffSize;
 }
 
-jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImages)
+jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages)
 {
 	LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages" << LOG_ENDL;
 	assert(cameraIdx > 0 && cameraIdx <= CAMERA_COUNT);
 	cameraIdx -= 1;
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
 
-    std::vector<NativeImgIdx> imgIdxes;
-    uint8_t _faceImages[MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT];
-    size_t _faceImagesSize = std::min(sizeof(_faceImages), size_t(env->GetArrayLength(faceImages)));
+   std::vector<NativeImgIdx> imgIdxes;
+    size_t _faceImagesSize = MAX_FACE * MAX_FACE_WIDTH * MAX_FACE_HEIGHT * 3;
+   uint8_t* _faceImages = new uint8_t[_faceImagesSize]; // android stack is small
+    memset(_faceImages, 0, _faceImagesSize);
 
-    bool ret = false;
+   bool ret = false;
 
 #ifdef USE_ST_SDK
-    //bool getFaceListImage(std::vector<NativeImgIdx>& imgIdxes, uint8_t* buffImg, size_t& buffImgMaxSize);
-    ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
+   ret = cameraWrapper.faceCache.getFaceListImage(imgIdxes, _faceImages, _faceImagesSize);
 #endif
 
-    if (imgIdxes.size() == 0)
-    {
-        LOG_INFO << "No face image captured" << LOG_ENDL;
-        return nullptr;
-    }
+   if (imgIdxes.size() == 0)
+   {
+       LOG_INFO << "No face image captured" << LOG_ENDL;
+       delete[] _faceImages;
+       return nullptr;
+   }
 
-    env->SetByteArrayRegion(faceImages, 0, _faceImagesSize, (const jbyte*)_faceImages);
+    jclass jcRefByteArray = env->FindClass("cn/com/basic/face/util/RefByteArray");
+    jfieldID jfRefByteArray_arr = env->GetFieldID(jcRefByteArray, "arr","[B");
+
+    jbyteArray jbaFaceImages = env->NewByteArray(_faceImagesSize);
+    env->SetByteArrayRegion(jbaFaceImages, 0, _faceImagesSize, (const jbyte*)_faceImages);
+    env->SetObjectField(faceImages, jfRefByteArray_arr, jbaFaceImages);
+    delete[] _faceImages;
 
     jclass jcArrayList = env->FindClass("java/util/ArrayList");
-    jmethodID jmArrayList_ctor = env->GetMethodID(jcArrayList, "<init>", "()V");
-    jmethodID jmArrayList_add  = env->GetMethodID(jcArrayList, "add", "(Ljava/lang/Object;)Z");
+   jmethodID jmArrayList_ctor = env->GetMethodID(jcArrayList, "<init>", "()V");
+   jmethodID jmArrayList_add  = env->GetMethodID(jcArrayList, "add", "(Ljava/lang/Object;)Z");
 
-    jclass jcNativeImgIdx = env->FindClass("cn/com/basic/face/util/NativeImgIdx");
-    jmethodID jmNativeImgIdx_ctor = env->GetMethodID(jcNativeImgIdx, "<init>", "()V");
-    jfieldID jfNativeImgIdx_offset = env->GetFieldID(jcNativeImgIdx, "offset","I");
-    jfieldID jfNativeImgIdx_size = env->GetFieldID(jcNativeImgIdx, "size","I");
-    jfieldID jfNativeImgIdx_type = env->GetFieldID(jcNativeImgIdx, "type","I");
-    jfieldID jfNativeImgIdx_width = env->GetFieldID(jcNativeImgIdx, "width","I");
-    jfieldID jfNativeImgIdx_height = env->GetFieldID(jcNativeImgIdx, "height","I");
+   jclass jcNativeImgIdx = env->FindClass("cn/com/basic/face/util/NativeImgIdx");
+   jmethodID jmNativeImgIdx_ctor = env->GetMethodID(jcNativeImgIdx, "<init>", "()V");
+   jfieldID jfNativeImgIdx_offset = env->GetFieldID(jcNativeImgIdx, "offset","I");
+   jfieldID jfNativeImgIdx_size = env->GetFieldID(jcNativeImgIdx, "size","I");
+   jfieldID jfNativeImgIdx_type = env->GetFieldID(jcNativeImgIdx, "type","I");
+   jfieldID jfNativeImgIdx_width = env->GetFieldID(jcNativeImgIdx, "width","I");
+   jfieldID jfNativeImgIdx_height = env->GetFieldID(jcNativeImgIdx, "height","I");
 
-    jobject jobjArrayList_ImgIdxes = env->NewObject(jcArrayList , jmArrayList_ctor);
+   jobject jobjArrayList_ImgIdxes = env->NewObject(jcArrayList , jmArrayList_ctor);
 
-    for(size_t i = 0 ; i < imgIdxes.size(); i++)
-    {
-        jobject jobjNativeImgIdx = env->NewObject(jcNativeImgIdx , jmNativeImgIdx_ctor);
-        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_offset, imgIdxes[i].offset);
-        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_size, imgIdxes[i].size);
-        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_type, imgIdxes[i].type);
-        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_width, imgIdxes[i].width);
-        env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_height, imgIdxes[i].height);
+   for(size_t i = 0 ; i < imgIdxes.size(); i++)
+   {
+       jobject jobjNativeImgIdx = env->NewObject(jcNativeImgIdx , jmNativeImgIdx_ctor);
+       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_offset, imgIdxes[i].offset);
+       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_size, imgIdxes[i].size);
+       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_type, imgIdxes[i].type);
+       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_width, imgIdxes[i].width);
+       env->SetIntField(jobjNativeImgIdx, jfNativeImgIdx_height, imgIdxes[i].height);
 
-        env->CallBooleanMethod(jobjArrayList_ImgIdxes , jmArrayList_add , jobjNativeImgIdx);
-    }
+       env->CallBooleanMethod(jobjArrayList_ImgIdxes , jmArrayList_add , jobjNativeImgIdx);
+   }
 
-    return jobjArrayList_ImgIdxes;
+   return jobjArrayList_ImgIdxes;
 }
 
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
index dbf5225..5fad8f8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
@@ -28,11 +28,13 @@
 void Java_cn_com_basic_face_util_RtspFaceNative_releaseFace(JNIEnv* env, jclass clazz, jint cameraIdx);
 
 // get face list protobuf
-jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceListPb);
+// faceListPb: RefByteArray
+jint Java_cn_com_basic_face_util_RtspFaceNative_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceListPb);
 
 // get 2-dimension byte array of ARGB images
 // returns ArrayList<NativeImgIdx>
-jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImages);
+// faceImages: RefByteArray
+jobject Java_cn_com_basic_face_util_RtspFaceNative_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jobject faceImages);
 
 }
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java
deleted file mode 100644
index dd40edc..0000000
--- a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/NativeImgIdx.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cn.com.basic.face.util;
-
-/**
- * Created by houxiao on 2017/4/12.
- */
-
-public class NativeImgIdx {
-    public int offset;
-    public int size;
-    public int type;
-    public int width;
-    public int height;
-}
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
index 4267ef1..c3d09ad 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java
@@ -8,6 +8,19 @@
  * Created by houxiao on 2017/3/21 0021.
  */
 
+class NativeImgIdx {
+    public int offset;
+    public int size;
+    public int type;
+    public int width;
+    public int height;
+}
+
+class RefByteArray
+{
+    public byte[] arr;
+}
+
 public class RtspFaceNative {
 
     //cn.com.basic.face.util.RtspFaceNative
@@ -20,20 +33,24 @@
     public static native boolean setFaceCallback(int cameraIdx, String className, String funcName);
     public static native void lockFace(int cameraIdx);
     public static native void releaseFace(int cameraIdx);
-    public static native int getFaceList(int cameraIdx, byte[] faceListPb);
-    public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, byte[] faceImages);
+    public static native int getFaceList(int cameraIdx, RefByteArray faceListPb);
+    public static native ArrayList<NativeImgIdx> getFaceImages(int cameraIdx, RefByteArray faceImages);
 
     public static void faceCallBack(int cameraIdx, int count)
     {
         Log.i("@@@", "RtspFaceNative.faceCallBack, cameraIdx=" + cameraIdx + ", count=" + count);
 
+        // something else
+        if (count <= 0)
+            return;
+
         lockFace(cameraIdx);
 
-        byte[] faceListPb = new byte[1024 * 1024 * 1];
+        RefByteArray faceListPb = new RefByteArray();
         int s = getFaceList(cameraIdx, faceListPb);
         Log.i("@@@", "RtspFaceNative.faceCallBack, getFaceList, cameraIdx=" + cameraIdx + ", size=" + s);
 
-        byte[] faceImages = new byte[1024 * 1024 * 1];
+        RefByteArray faceImages = new RefByteArray();
         ArrayList<NativeImgIdx> faceImagesIdx = getFaceImages(cameraIdx, faceImages);
         int c = 0;
         if (faceImagesIdx != null)
diff --git a/VisitFace/RtspNativeCodec/release/librtspface.so b/VisitFace/RtspNativeCodec/release/librtspface.so
new file mode 100644
index 0000000..88ac938
--- /dev/null
+++ b/VisitFace/RtspNativeCodec/release/librtspface.so
Binary files differ

--
Gitblit v1.8.0