From 514795c44cbad68fe213c5f00c902d370464c022 Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期一, 24 七月 2017 20:18:21 +0800
Subject: [PATCH] add panshen TeleWrapper

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h                      |    1 
 VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp                        |   16 
 VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.h                             |   79 +-
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h                           |    4 
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp                    |   58 ++
 VisitFace/RtspNativeCodec/.idea/workspace.xml                                        |  842 +++++++++++++++++++++++----------------
 VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt                            |    8 
 VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp                         |   44 -
 VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java |   13 
 VisitFace/RtspNativeCodec/app/src/main/res/layout/main.xml                           |    2 
 VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.cpp                           |  169 +++----
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties              |    2 
 VisitFace/RtspNativeCodec/app/build.gradle                                           |    2 
 VisitFace/RtspNativeCodec/app/app.iml                                                |    3 
 14 files changed, 719 insertions(+), 524 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties
index acb8c77..84599b9 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties
@@ -1 +1 @@
-#Thu Feb 09 15:00:01 GMT+08:00 2017
+#Fri Jul 14 11:26:53 CST 2017
diff --git a/VisitFace/RtspNativeCodec/.idea/workspace.xml b/VisitFace/RtspNativeCodec/.idea/workspace.xml
index d094cb6..e4140ea 100644
--- a/VisitFace/RtspNativeCodec/.idea/workspace.xml
+++ b/VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -14,52 +14,20 @@
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="7ae7b537-c9d7-47f6-b809-98f2bf0296aa" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/MediaHelper.cpp" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/MediaHelper.h" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.h" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../RtspFace/ev_proto.h" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../RtspFace/ev_server.cpp" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../RtspFace/ev_server.h" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../RtspFace/face_daemon_proto.h" afterPath="" />
-      <change type="DELETED" beforePath="$PROJECT_DIR$/../../RtspFace/main_face_daemon.cpp" afterPath="" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties.lock" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileHashes.bin" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" afterPath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" afterPath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/FFmpegH264Source.h" afterPath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/FFmpegH264Source.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/LiveRTSPServer.h" afterPath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/LiveRTSPServer.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/LiveServerMediaSubsession.h" afterPath="$PROJECT_DIR$/../../RtspFace/FFmpegRTSPServer/LiveServerMediaSubsession.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" afterPath="$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_Gainer.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_Gainer.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_H264Decoder.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_H264Decoder.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_Paint.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_Paint.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_Payer.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_Payer.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_Queue.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_Queue.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_Queue.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_Queue.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_RTSPServer.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_RTSPServer.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceDetect.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceDetect.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PipeLine.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PipeLine.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PipeLine.h" afterPath="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" afterPath="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/logger.h" afterPath="$PROJECT_DIR$/../../RtspFace/logger.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/main.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/main.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/make.sh" afterPath="$PROJECT_DIR$/../../RtspFace/make.sh" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties" afterPath="$PROJECT_DIR$/.gradle/2.14.1/taskArtifacts/cache.properties" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build.gradle" afterPath="$PROJECT_DIR$/app/build.gradle" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" afterPath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
       <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/cpp/TeleWrapper.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.h" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" />
       <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/res/layout/main.xml" afterPath="$PROJECT_DIR$/app/src/main/res/layout/main.xml" />
     </list>
     <ignored path="RtspNativeCodec.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -92,12 +60,50 @@
     <favorites_list name="RtspNativeCodec" />
   </component>
   <component name="FileEditorManager">
-    <leaf>
+    <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
+      <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="836">
+              <caret line="61" column="56" selection-start-line="61" selection-start-column="51" selection-end-line="61" selection-end-column="56" />
+              <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="1083">
+              <caret line="801" column="13" selection-start-line="801" selection-start-column="13" selection-end-line="801" selection-end-column="13" />
+              <folding>
+                <element signature="e#0#31#0" expanded="true" />
+                <element signature="e#162#200#0" expanded="true" />
+                <marker date="1500898548250" expanded="true" signature="944:1493" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="1597:2068" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="7205:7515" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="13882:14139" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="14316:14460" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="14551:14773" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="14934:15176" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="15530:17000" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="17102:17363" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="17468:17735" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="27803:27854" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="28157:28454" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="28639:28912" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="29088:29455" ph="{...}" />
+                <marker date="1500898548250" expanded="true" signature="29550:29554" ph="{...}" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
       <file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="608">
-              <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+            <state relative-caret-position="399">
+              <caret line="87" column="64" selection-start-line="87" selection-start-column="64" selection-end-line="87" selection-end-column="64" />
               <folding />
             </state>
           </provider>
@@ -1416,7 +1422,7 @@
     </option>
     <option name="modificationStamps">
       <map>
-        <entry key="D:\workspace\proxy\VisitFace\RtspNativeCodec" value="4483033476256" />
+        <entry key="D:\workspace\proxy\VisitFace\RtspNativeCodec" value="4484151545900" />
       </map>
     </option>
     <option name="projectBuildClasspath">
@@ -1639,48 +1645,57 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/build.gradle" />
-        <option value="$PROJECT_DIR$/../../RtspFace/MediaHelper.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_V4L2Source.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_V4L2Source.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Gainer.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue2.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue2.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_Queue.h" />
-        <option value="$PROJECT_DIR$/app/src/main/res/layout/main.xml" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.h" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.cpp" />
         <option value="$PROJECT_DIR$/../../FaceServer/proto_hton_ntoh.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
         <option value="$PROJECT_DIR$/../../FaceServer/PbFaceList" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/serial.c" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCache.h" />
         <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImg.java" />
         <option value="$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/RtspFaceNative.java" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.cpp" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" />
-        <option value="$PROJECT_DIR$/app/build.gradle" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/TeleWrapper.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork1.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork1.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork2.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Fork2.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/AndroidManifest.xml" />
         <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.cpp" />
-        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
-        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
-        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/GraphicHelper.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test .cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp" />
+        <option value="$PROJECT_DIR$/app/build.gradle" />
+        <option value="$PROJECT_DIR$/app/src/main/res/layout/main.xml" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Scale.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CameraWrapper.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_Scale.h" />
+        <option value="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_ColorConv.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h" />
         <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
       </list>
     </option>
   </component>
@@ -1688,7 +1703,7 @@
   <component name="ProjectFrameBounds">
     <option name="x" value="-8" />
     <option name="y" value="-8" />
-    <option name="width" value="1924" />
+    <option name="width" value="1932" />
     <option name="height" value="1176" />
   </component>
   <component name="ProjectInspectionProfilesVisibleTreeState">
@@ -1732,16 +1747,18 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
+      <pane id="Scope" />
+      <pane id="PackagesPane" />
+      <pane id="Scratches" />
+      <pane id="AndroidView">
+        <subPane />
+      </pane>
       <pane id="ProjectPane">
         <subPane>
           <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="External Libraries" />
-              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ExternalLibrariesNode" />
             </PATH_ELEMENT>
           </PATH>
           <PATH>
@@ -1836,6 +1853,38 @@
               <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
             </PATH_ELEMENT>
             <PATH_ELEMENT>
+              <option name="myItemId" value="RtspFace" />
+              <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="RtspFace" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
+            <PATH_ELEMENT>
+              <option name="myItemId" value="testProgs" />
+              <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>
@@ -1857,14 +1906,38 @@
               <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="cpp" />
+              <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PsiDirectoryNode" />
+            </PATH_ELEMENT>
           </PATH>
         </subPane>
-      </pane>
-      <pane id="PackagesPane" />
-      <pane id="Scratches" />
-      <pane id="Scope" />
-      <pane id="AndroidView">
-        <subPane />
       </pane>
     </panes>
   </component>
@@ -1873,10 +1946,11 @@
     <property name="android.project.structure.last.selected" value="app" />
     <property name="android.project.structure.proportion" value="0.15" />
     <property name="show.do.not.ask.upgrade.gradle.plugin" value="2.2.3" />
-    <property name="device.picker.selection" value="GB8ZAK9ZR4" />
+    <property name="device.picker.selection" value="GB8ZARP6EL" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$/../../../pocketsphinx-android-demo" />
-    <property name="settings.editor.selected.configurable" value="preferences.editor" />
+    <property name="settings.editor.selected.configurable" value="preferences.sourceCode.JSON" />
     <property name="settings.editor.splitter.proportion" value="0.2" />
+    <property name="GpuMonitor.paused" value="false" />
   </component>
   <component name="RunManager" selected="Android App.app">
     <configuration default="true" type="AndroidJUnit" factoryName="Android JUnit">
@@ -2244,6 +2318,14 @@
           <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace" />
         </SvnCopyRootSimple>
         <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\RtspFace\CvUtil" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace\CvUtil" />
+        </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\RtspFace\libv4l2cpp\src" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace\libv4l2cpp\src" />
+        </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
           <option name="myVcsRoot" value="D:\workspace\proxy\RtspFace\Logger\src" />
           <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace\Logger\src" />
         </SvnCopyRootSimple>
@@ -2289,40 +2371,40 @@
     <servers />
   </component>
   <component name="ToolWindowManager">
-    <frame x="-8" y="-8" width="1924" height="1176" extended-state="1" />
+    <frame x="-8" y="-8" width="1932" height="1176" extended-state="0" />
     <editor active="true" />
     <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.33" 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.32743362" sideWeight="0.40565032" 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.32743362" sideWeight="0.37070817" 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="false" show_stripe_button="true" weight="0.28318584" sideWeight="0.5042644" order="8" 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.49360865" sideWeight="0.8550107" order="12" side_tool="false" 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.32645035" sideWeight="0.83208156" order="12" 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.4978678" order="9" 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.37069812" sideWeight="0.7436034" order="10" 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.2851524" sideWeight="0.73390555" order="10" 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" />
-      <window_info id="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.3048181" sideWeight="0.52132195" order="11" side_tool="true" content_ui="tabs" />
-      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.26984978" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
-      <window_info id="Gradle" 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="Gradle Console" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4355949" sideWeight="0.16791846" order="11" side_tool="true" content_ui="tabs" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="true" show_stripe_button="true" weight="0.21901709" sideWeight="0.5" order="0" side_tool="false" content_ui="combo" />
+      <window_info id="Gradle" 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="4" side_tool="false" content_ui="tabs" />
       <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="false" show_stripe_button="true" weight="0.28908554" sideWeight="0.47867805" order="3" 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="9" 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="5" 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.32251722" sideWeight="0.45922747" 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" />
       <window_info id="Message" 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="0" side_tool="false" content_ui="tabs" />
       <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="0" side_tool="false" content_ui="tabs" />
-      <window_info id="Properties" 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="Properties" 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="6" side_tool="false" content_ui="tabs" />
       <window_info id="Hierarchy" active="false" anchor="right" 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="combo" />
       <window_info id="Designer" 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="Ant Build" active="false" anchor="right" 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="Palette&#9;" 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="Palette&#9;" 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="7" side_tool="false" content_ui="tabs" />
       <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.4" sideWeight="0.5" order="5" side_tool="false" content_ui="tabs" />
-      <window_info id="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="4" side_tool="false" content_ui="tabs" />
+      <window_info id="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="8" side_tool="false" content_ui="tabs" />
       <window_info id="Find" 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="1" side_tool="false" content_ui="tabs" />
     </layout>
   </component>
@@ -2339,285 +2421,106 @@
   </component>
   <component name="XDebuggerManager">
     <breakpoint-manager>
-      <option name="time" value="757" />
+      <breakpoints>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp</url>
+          <line>146</line>
+          <option name="timeStamp" value="968" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp</url>
+          <line>309</line>
+          <option name="timeStamp" value="986" />
+        </line-breakpoint>
+        <line-breakpoint enabled="true" type="com.jetbrains.cidr.execution.debugger.OCBreakpointType">
+          <url>file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp</url>
+          <line>351</line>
+          <option name="timeStamp" value="987" />
+        </line-breakpoint>
+      </breakpoints>
+      <option name="time" value="1081" />
     </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-22/android/view/MockView.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test .cpp" />
+    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/sched.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="152">
-          <caret line="22" column="33" selection-start-line="22" selection-start-column="33" selection-end-line="22" selection-end-column="33" />
+        <state relative-caret-position="241">
+          <caret line="83" column="8" selection-start-line="83" selection-start-column="8" selection-end-line="83" selection-end-column="8" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/sources/android-22/android/view/SurfaceView.java">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="176">
-          <caret line="33" column="37" selection-start-line="33" selection-start-column="37" selection-end-line="33" selection-end-column="37" />
+        <state relative-caret-position="133">
+          <caret line="7" column="0" selection-start-line="7" selection-start-column="0" selection-end-line="8" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.cpp">
+    <entry file="file://$PROJECT_DIR$/captures/com.example.nativecodec_2017.07.20_15.23.trace">
+      <provider selected="true" editor-type-id="capture-editor">
+        <state />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="76">
-          <caret line="4" column="20" selection-start-line="4" selection-start-column="20" selection-end-line="4" selection-end-column="20" />
+        <state relative-caret-position="440">
+          <caret line="361" column="27" selection-start-line="361" selection-start-column="27" selection-end-line="361" selection-end-column="27" />
+          <folding />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../FaceServer/proto_hton_ntoh.cpp">
+    <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="347">
-          <caret line="42" column="23" selection-start-line="42" selection-start-column="23" selection-end-line="42" selection-end-column="23" />
+        <state relative-caret-position="-670">
+          <caret line="47" column="33" selection-start-line="47" selection-start-column="33" selection-end-line="47" selection-end-column="33" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../FaceServer/face_daemon_proto.h">
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="233">
-          <caret line="30" column="12" selection-start-line="30" selection-start-column="12" selection-end-line="30" selection-end-column="12" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CaptureCamera.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="494">
-          <caret line="26" column="25" selection-start-line="26" selection-start-column="16" selection-end-line="26" selection-end-column="25" />
-        </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="4807">
-          <caret line="253" column="4" selection-start-line="253" selection-start-column="4" selection-end-line="253" selection-end-column="4" />
+        <state relative-caret-position="180">
+          <caret line="90" column="22" selection-start-line="90" selection-start-column="22" selection-end-line="90" selection-end-column="22" />
+          <folding />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/libs/opencv/include/opencv2/imgproc.hpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="329">
-          <caret line="4479" column="0" selection-start-line="4479" selection-start-column="0" selection-end-line="4482" selection-end-column="57" />
+        <state relative-caret-position="31920">
+          <caret line="1680" column="62" selection-start-line="1680" selection-start-column="62" selection-end-line="1680" selection-end-column="62" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3116">
-          <caret line="164" column="0" selection-start-line="164" selection-start-column="0" selection-end-line="164" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/st_face/include/cv_common.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="494">
-          <caret line="26" column="10" selection-start-line="26" selection-start-column="10" selection-end-line="26" selection-end-column="10" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/libs/st_face/include/cv_face.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="418">
-          <caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../FaceServer/PbFaceList.pb.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="596">
-          <caret line="69" column="34" selection-start-line="69" selection-start-column="34" selection-end-line="69" selection-end-column="34" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../FaceServer/PbFaceList">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="456">
-          <caret line="45" column="40" selection-start-line="45" selection-start-column="40" selection-end-line="45" selection-end-column="40" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/serial.c">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="247">
-          <caret line="33" column="19" selection-start-line="33" selection-start-column="19" selection-end-line="33" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/serial.h">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.h">
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="302">
-          <caret line="37" column="19" selection-start-line="37" selection-start-column="19" selection-end-line="37" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="456">
-          <caret line="24" column="29" selection-start-line="24" selection-start-column="29" selection-end-line="24" selection-end-column="29" />
-        </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="1425">
-          <caret line="75" column="21" selection-start-line="75" selection-start-column="9" selection-end-line="75" selection-end-column="21" />
-        </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="1045">
-          <caret line="55" column="0" selection-start-line="55" selection-start-column="0" selection-end-line="55" selection-end-column="0" />
-        </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="152">
-          <caret line="8" column="19" selection-start-line="8" selection-start-column="8" selection-end-line="8" selection-end-column="19" />
+        <state relative-caret-position="2470">
+          <caret line="130" column="1" selection-start-line="129" selection-start-column="6" selection-end-line="129" selection-end-column="32" />
+          <folding>
+            <marker date="1500545826378" expanded="false" signature="52:113" ph="..." />
+            <marker date="1500545826378" expanded="true" signature="654:1452" ph="{...}" />
+            <marker date="1500545826378" expanded="true" signature="686:1023" ph="{...}" />
+            <marker date="1500545826378" expanded="true" signature="1223:1266" ph="{...}" />
+            <marker date="1500545826378" expanded="true" signature="1474:1773" ph="{...}" />
+            <marker date="1500545826378" expanded="true" signature="2181:3453" ph="{...}" />
+            <marker date="1500545826378" expanded="true" signature="3489:3648" ph="{...}" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_BlockGrouping.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="250">
-          <caret line="346" column="0" selection-start-line="346" selection-start-column="0" selection-end-line="346" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/cn/com/basic/face/util/NativeImg.java">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="152">
-          <caret line="8" column="26" selection-start-line="8" selection-start-column="15" selection-end-line="8" selection-end-column="26" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="418">
-          <caret line="22" column="0" selection-start-line="22" selection-start-column="0" selection-end-line="22" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/DebugNetwork.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="133">
-          <caret line="7" column="37" selection-start-line="7" selection-start-column="37" selection-end-line="7" selection-end-column="37" />
-        </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="171">
-          <caret line="22" column="26" selection-start-line="22" selection-start-column="15" selection-end-line="22" selection-end-column="26" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="285">
-          <caret line="15" column="36" selection-start-line="15" selection-start-column="36" selection-end-line="15" selection-end-column="36" />
+        <state relative-caret-position="9139">
+          <caret line="481" column="7" selection-start-line="481" selection-start-column="7" selection-end-line="481" selection-end-column="7" />
           <folding />
-        </state>
-      </provider>
-      <provider editor-type-id="android-manifest">
-        <state />
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/asm-generic/posix_types.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="241">
-          <caret line="24" column="39" selection-start-line="24" selection-start-column="39" selection-end-line="24" selection-end-column="39" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/sys/types.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="89" column="15" selection-start-line="89" selection-start-column="15" selection-end-line="89" selection-end-column="15" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$USER_HOME$/AppData/Local/Android/Sdk/ndk-bundle/platforms/android-22/arch-arm/usr/include/time.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="222">
-          <caret line="61" column="11" selection-start-line="61" selection-start-column="11" selection-end-line="61" selection-end-column="11" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="2603">
-          <caret line="137" column="0" selection-start-line="137" selection-start-column="0" selection-end-line="138" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6593">
-          <caret line="347" column="0" selection-start-line="347" selection-start-column="0" selection-end-line="347" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="4826">
-          <caret line="254" column="28" selection-start-line="254" selection-start-column="28" selection-end-line="254" selection-end-column="28" />
-        </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="4370">
-          <caret line="284" column="52" selection-start-line="284" selection-start-column="52" selection-end-line="284" selection-end-column="52" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="6745">
-          <caret line="355" column="5" selection-start-line="355" selection-start-column="5" selection-end-line="355" selection-end-column="5" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="413">
-          <caret line="63" column="19" selection-start-line="63" selection-start-column="19" selection-end-line="63" selection-end-column="19" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="4009">
-          <caret line="211" column="45" selection-start-line="211" selection-start-column="6" selection-end-line="211" selection-end-column="45" />
-        </state>
-      </provider>
-    </entry>
-    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="3439">
-          <caret line="181" column="32" selection-start-line="181" selection-start-column="32" selection-end-line="181" selection-end-column="32" />
-        </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="1349">
-          <caret line="71" column="28" selection-start-line="71" selection-start-column="28" selection-end-line="71" selection-end-column="28" />
-        </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="399">
-          <caret line="301" column="21" selection-start-line="301" selection-start-column="21" selection-end-line="301" selection-end-column="21" />
         </state>
       </provider>
     </entry>
@@ -2657,13 +2560,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/license.lic">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/gradlew.bat">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
@@ -2671,25 +2567,64 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/gradlew">
+    <entry file="file://$PROJECT_DIR$/license.lic">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="0">
           <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/GraphicHelper.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-931">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding>
+            <element signature="e#55#74#0" expanded="false" />
+          </folding>
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="0">
-          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+        <state relative-caret-position="304">
+          <caret line="16" column="1" selection-start-line="16" selection-start-column="1" selection-end-line="16" selection-end-column="1" />
           <folding />
+        </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="1102">
+          <caret line="58" column="24" selection-start-line="58" selection-start-column="16" selection-end-line="58" selection-end-column="24" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/cpu_sched_test.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="114">
+          <caret line="32" column="29" selection-start-line="32" selection-start-column="29" selection-end-line="32" selection-end-column="29" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/libs/live555/include/groupsock/GroupsockHelper.hh">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="224">
+          <caret line="55" column="0" selection-start-line="55" selection-start-column="0" selection-end-line="56" selection-end-column="53" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/libs/live555/include/liveMedia/RTSPClient.hh">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="224">
+          <caret line="86" column="11" selection-start-line="86" selection-start-column="11" selection-end-line="86" selection-end-column="11" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/build.gradle">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="399">
-          <caret line="21" column="17" selection-start-line="21" selection-start-column="17" selection-end-line="21" selection-end-column="17" />
+        <state relative-caret-position="171">
+          <caret line="9" column="13" selection-start-line="9" selection-start-column="13" selection-end-line="9" selection-end-column="13" />
           <folding />
         </state>
       </provider>
@@ -2701,10 +2636,227 @@
         </state>
       </provider>
     </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/FaceCacheForPLBG.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-430">
+          <caret line="207" column="49" selection-start-line="207" selection-start-column="49" selection-end-line="207" selection-end-column="49" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/AndroidManifest.xml">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="367">
+          <caret line="26" column="37" selection-start-line="26" selection-start-column="37" selection-end-line="26" selection-end-column="37" />
+          <folding />
+        </state>
+      </provider>
+      <provider editor-type-id="android-manifest">
+        <state />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/main.xml">
+      <provider editor-type-id="text-editor">
+        <state relative-caret-position="0">
+          <caret line="0" column="0" selection-start-line="0" selection-start-column="0" selection-end-line="0" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+      <provider selected="true" editor-type-id="android-designer2">
+        <state />
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/CvUtil/CvxText.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="551">
+          <caret line="34" column="33" selection-start-line="34" selection-start-column="33" selection-end-line="34" selection-end-column="33" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/live555/testProgs/testRTSPClient.hpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="187">
+          <caret line="319" column="9" selection-start-line="319" selection-start-column="9" selection-end-line="319" selection-end-column="9" />
+          <folding>
+            <element signature="e#24564#25529#0" expanded="false" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="627">
+          <caret line="33" column="19" selection-start-line="33" selection-start-column="19" selection-end-line="33" selection-end-column="19" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="387">
+          <caret line="85" column="18" selection-start-line="85" selection-start-column="18" selection-end-line="85" selection-end-column="18" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Paint.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="482">
+          <caret line="435" column="0" selection-start-line="435" selection-start-column="0" selection-end-line="435" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/MaterialBuffer.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="-399">
+          <caret line="13" column="7" selection-start-line="13" selection-start-column="7" selection-end-line="13" selection-end-column="7" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_ColorConv.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="438">
+          <caret line="26" column="19" selection-start-line="26" selection-start-column="19" selection-end-line="26" selection-end-column="19" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Scale.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="342">
+          <caret line="18" column="23" selection-start-line="18" selection-start-column="23" selection-end-line="18" selection-end-column="23" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_Scale.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="247">
+          <caret line="99" column="79" selection-start-line="99" selection-start-column="79" selection-end-line="99" selection-end-column="79" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_ColorConv.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1577">
+          <caret line="83" column="1" selection-start-line="83" selection-start-column="1" selection-end-line="83" selection-end-column="1" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/libs/st_face/include/cv_common.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="215">
+          <caret line="83" column="20" selection-start-line="83" selection-start-column="4" selection-end-line="83" selection-end-column="20" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/MediaHelper.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="475">
+          <caret line="25" column="11" selection-start-line="25" selection-start-column="4" selection-end-line="25" selection-end-column="11" />
+          <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="4313">
+          <caret line="281" column="68" selection-start-line="281" selection-start-column="68" selection-end-line="281" selection-end-column="68" />
+          <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="2603">
+          <caret line="137" column="13" selection-start-line="137" selection-start-column="13" selection-end-line="137" selection-end-column="13" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewRender.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="8949">
+          <caret line="471" column="0" selection-start-line="471" selection-start-column="0" selection-end-line="471" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="874">
+          <caret line="46" column="0" selection-start-line="46" selection-start-column="0" selection-end-line="46" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder_ndk.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="6555">
+          <caret line="345" column="0" selection-start-line="345" selection-start-column="0" selection-end-line="345" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_SensetimeFaceTrack.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="717">
+          <caret line="243" column="23" selection-start-line="243" selection-start-column="23" selection-end-line="243" selection-end-column="23" />
+          <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="836">
+          <caret line="61" column="56" selection-start-line="61" selection-start-column="51" selection-end-line="61" selection-end-column="56" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$USER_HOME$/Desktop/鏂板缓鏂囦欢澶�/RtspNativeCodecJNI.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="627">
+          <caret line="33" column="0" selection-start-line="33" selection-start-column="0" selection-end-line="34" selection-end-column="0" />
+          <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="1083">
+          <caret line="801" column="13" selection-start-line="801" selection-start-column="13" selection-end-line="801" selection-end-column="13" />
+          <folding>
+            <element signature="e#0#31#0" expanded="true" />
+            <element signature="e#162#200#0" expanded="true" />
+            <marker date="1500898548250" expanded="true" signature="944:1493" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="1597:2068" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="7205:7515" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="13882:14139" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="14316:14460" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="14551:14773" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="14934:15176" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="15530:17000" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="17102:17363" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="17468:17735" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="27803:27854" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="28157:28454" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="28639:28912" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="29088:29455" ph="{...}" />
+            <marker date="1500898548250" expanded="true" signature="29550:29554" ph="{...}" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="608">
-          <caret line="79" column="21" selection-start-line="79" selection-start-column="21" selection-end-line="79" selection-end-column="21" />
+        <state relative-caret-position="399">
+          <caret line="87" column="64" selection-start-line="87" selection-start-column="64" selection-end-line="87" selection-end-column="64" />
           <folding />
         </state>
       </provider>
diff --git a/VisitFace/RtspNativeCodec/app/app.iml b/VisitFace/RtspNativeCodec/app/app.iml
index ddf393d..1ed01ef 100644
--- a/VisitFace/RtspNativeCodec/app/app.iml
+++ b/VisitFace/RtspNativeCodec/app/app.iml
@@ -37,6 +37,9 @@
     <content url="file://$MODULE_DIR$/../../../RtspFace">
       <sourceFolder url="file://$MODULE_DIR$/../../../RtspFace" isTestSource="false" />
     </content>
+    <content url="file://$MODULE_DIR$/../../../RtspFace/CvUtil">
+      <sourceFolder url="file://$MODULE_DIR$/../../../RtspFace/CvUtil" isTestSource="false" />
+    </content>
     <content url="file://$MODULE_DIR$/../../../RtspFace/Logger/src">
       <sourceFolder url="file://$MODULE_DIR$/../../../RtspFace/Logger/src" isTestSource="false" />
     </content>
diff --git a/VisitFace/RtspNativeCodec/app/build.gradle b/VisitFace/RtspNativeCodec/app/build.gradle
index 3186864..aeb36b1 100644
--- a/VisitFace/RtspNativeCodec/app/build.gradle
+++ b/VisitFace/RtspNativeCodec/app/build.gradle
@@ -35,7 +35,7 @@
     }
     sourceSets {
         main {
-            jniLibs.srcDirs = ['libs/opencv/lib', 'libs/protobuf/lib', 'libs/st_face/lib']
+            jniLibs.srcDirs = ['libs/opencv/lib', 'libs/protobuf/lib', 'libs/st_face/lib', 'libs/freetype/lib']
         }
     }
 }
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
index 4a466a3..d48088c 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
@@ -1,6 +1,6 @@
 cmake_minimum_required(VERSION 3.4.1)
 
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -DUSE_OPENCV -DUSE_ST_SDK -DANDROID_PLATFORM=android-22  -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static  -Wall -UNDEBUG")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O3 -std=c++11 -DUSE_OPENCV -DUSE_ST_SDK -DANDROID_PLATFORM=android-22  -DANDROID_TOOLCHAIN=gcc -DANDROID_STL=gnustl_static  -Wall -UNDEBUG")
 
 #debug for video only test
 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -fno-rtti  -Wall -UNDEBUG")
@@ -17,7 +17,7 @@
 			CaptureCamera.cpp
 			cpu_sched_test.cpp
 			serial.c
-			#TeleWrapper.cpp
+			TeleWrapper.cpp
 
 			"D:/workspace/proxy/RtspFace/PipeLine.cpp"
 			"D:/workspace/proxy/RtspFace/Logger/src/logger.cc"
@@ -44,7 +44,7 @@
 			 "D:/workspace/proxy/RtspFace/libv4l2cpp/src/V4l2MmapDevice.cpp"
 			 "D:/workspace/proxy/RtspFace/libv4l2cpp/src/V4l2Output.cpp"
 
-			#"D:/workspace/proxy/RtspFace/CvUtil/CvxText.cpp"
+			"D:/workspace/proxy/RtspFace/CvUtil/CvxText.cpp"
 
 			)
 
@@ -101,7 +101,7 @@
 					  "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/opencv/lib/armeabi-v7a/libopencv_java3.so"
 					  "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/protobuf/lib/armeabi-v7a/libprotobuf.so"
 					  "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/st_face/lib/armeabi-v7a/libcvface_api.so"
-					  #"D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/freetype/lib/arm64-v8a/libfreetype.so"
+					  "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/freetype/lib/armeabi-v7a/libfreetype.so"
 
 					  #"D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/libv4l2wrapper/lib/armeabi-v7a/libv4l2wrapper.a"
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
index d7bea59..4d64689 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.cpp
@@ -126,37 +126,25 @@
             return  false;
         }
 
-        ANativeWindow* window = (ANativeWindow*)(windowRender);
-        ANativeWindow_Buffer buffer;
-        if(windowRender != nullptr && ANativeWindow_lock(window, &buffer, NULL) == 0)
-        {
-            plScaleCfg.toHeight=buffer.height;
-            plScaleCfg.toWidth=buffer.width;
-            ANativeWindow_unlockAndPost(window);
-        } else
-        {
-            plScaleCfg.toHeight=480;
-            plScaleCfg.toWidth=640;
-        }
-        PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
-        ret = plScale->init(&plScaleCfg);
-        if (!ret)
-        {
-            LOG_ERROR << "pipeLineRender.plScale init error" << LOG_ENDL;
-            return  false;
-        }
+		PL_Scale* plScale = (PL_Scale*)pipeLineRender->push_elem("PL_Scale");
+		ret = plScale->init(&plScaleCfg);
+		if (!ret)
+		{
+		    LOG_ERROR << "pipeLineRender.plScale init error" << LOG_ENDL;
+		    return  false;
+		}
 
-        PL_ColorConv_Config PLColorConvCfg;
-        PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
-        ret = plColorConv->init(&PLColorConvCfg);
-        if (!ret)
-        {
-            LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
-            return  false;
-        }
+		PL_ColorConv_Config PLColorConvCfg;
+		PL_ColorConv* plColorConv = (PL_ColorConv*)pipeLineRender->push_elem("PL_ColorConv");
+		ret = plColorConv->init(&PLColorConvCfg);
+		if (!ret)
+		{
+		    LOG_ERROR << "pipeLineRender.plPaint init error" << LOG_ENDL;
+		    return  false;
+		}
 
         PL_Paint_Config plPaintCfg;
-        plPaintCfg.fontPath = "/data/msyh.ttc";
+		plPaintCfg.fontPath = fontPath;
         plPaintCfg.plplCtx = &plplContext;
         PL_Paint* plPaint = (PL_Paint*)pipeLineRender->push_elem("PL_Paint");
         ret = plPaint->init(&plPaintCfg);
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
index cb4c4e2..0e12624 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CameraWrapper.h
@@ -56,12 +56,14 @@
 
 	std::map<int, std::wstring> faceLabels;
 
+	std::string fontPath;
+
 	CameraWrapper() : 
 		pipeLineDecoderDetector(nullptr), pipeLineAnalyzer(nullptr), pipeLineRender(nullptr), rtspConfig(), amcdConfig(), asvrConfig(), sftConfig(),
 		cameraIdx(0), javaVM(nullptr), javaEnv(nullptr), faceCallbackClazz(0), faceCallbackFunc(0), windowRender(nullptr), windowDecode(nullptr),
 		decoder_thid(0), live_daemon_thid(0), live_daemon_mut(), running(false), killed(false), lastAliveTime(0),
 		faceCacheLocked(false), faceCache(),
-		plplContext(), faceLabels()
+		plplContext(), faceLabels(), fontPath()
 	{
 	}
 	
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index 3174a0b..b0bb8e1 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -17,6 +17,7 @@
 #include <stdlib.h>
 
 #include "DebugNetwork.h"
+#include "TeleWrapper.h"
 
 #include "cpu_sched_test.h"
 
@@ -32,6 +33,8 @@
 CameraWrapper g_CameraWrappers[CAMERA_COUNT];
 
 CaptureCamera g_CaptureCamera;
+
+TeleWrapper g_TeleWrapper;
 
 extern "C"
 {
@@ -221,6 +224,22 @@
     cameraWrapper.asvrConfig.windowSurface = cameraWrapper.windowRender; // support reset
     //cameraWrapper.windowRender = ANativeWindow_fromSurface(env, (jobject)getSurfaceHolderGetSurface(env, surfaceRender));
 
+    {
+        ANativeWindow* window = (ANativeWindow*)(cameraWrapper.windowRender);
+        ANativeWindow_Buffer buffer;
+        if(cameraWrapper.windowRender != nullptr && ANativeWindow_lock(window, &buffer, NULL) == 0)
+        {
+            cameraWrapper.plScaleCfg.toHeight=buffer.height;
+            cameraWrapper.plScaleCfg.toWidth=buffer.stride;
+            ANativeWindow_unlockAndPost(window);
+        }
+        else
+        {
+            cameraWrapper.plScaleCfg.toHeight=480;
+            cameraWrapper.plScaleCfg.toWidth=640;
+        }
+    }
+
     LOGP(DEBUG, "@@@ setsurface %p,%p", cameraWrapper.windowDecode, cameraWrapper.windowRender);
 }
 
@@ -299,7 +318,8 @@
         cameraWrapper.asvrConfig.outputOriginFrame = true;
         cameraWrapper.asvrConfig.outputRenderFrame = true;
         cameraWrapper.asvrConfig.scaleToWidth = 0;
-        cameraWrapper.asvrConfig.scaleToHeight = 0;
+		cameraWrapper.asvrConfig.scaleToHeight = 0;
+		cameraWrapper.asvrConfig.directlyDisplay = true;
     }
 
     {
@@ -318,7 +338,9 @@
         cameraWrapper.sftConfig.score_min = 0.2f;
     }
 
-    bool ret = cameraWrapper.initPl();
+	cameraWrapper.fontPath = "/data/msyh.ttc";
+
+	bool ret = cameraWrapper.initPl();
     if (ret)
         return (cameraWrapper.start() ? JNI_TRUE : JNI_FALSE);
     else
@@ -730,6 +752,38 @@
 
 }
 
+bool Java_cn_com_basic_face_util_RtspFaceNative_teleCall(JNIEnv *env, jclass clazz, jstring phone)
+{
+	std::string _phone;
+	{
+		const char *utfFunc = env->GetStringUTFChars(phone, NULL);
+		_phone = utfFunc;
+		env->ReleaseStringUTFChars(phone, utfFunc);
+	}
+
+	const char *phoneNum = _phone.c_str();
+	TeleTask  task;
+	task.command= TeleTask::CALL;
+	task.param = phoneNum;
+	LOG_INFO << "Java_cn_com_basic_face_util_RtspFaceNative_telCall::jni" << LOG_ENDL;
+	//
+	g_TeleWrapper.pushTask(task);
+}
+
+void Java_cn_com_basic_face_util_RtspFaceNative_teleHang(JNIEnv *env, jclass clazz)
+{
+	TeleTask  task;
+	task.command =TeleTask::HANGUP;
+	//
+	g_TeleWrapper.pushTask(task);
+}
+
+void Java_cn_com_basic_face_util_RtspFaceNative_teleShutdown(JNIEnv *env, jclass clazz)
+{
+	LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_telShutdown" << LOG_ENDL;
+	g_TeleWrapper.stop();
+}
+
 void Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel(JNIEnv *env, jclass clazz, jint cameraIdx, jint stTrackId, jstring label)
 {
     LOG_DEBUG << "@@@ Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel" << LOG_ENDL;
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
index ef47043..5581225 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
@@ -60,6 +60,7 @@
 
 bool Java_cn_com_basic_face_util_RtspFaceNative_teleCall(JNIEnv *env, jclass clazz, jstring phoneNumber);
 void Java_cn_com_basic_face_util_RtspFaceNative_teleHang(JNIEnv *env, jclass clazz);
+void Java_cn_com_basic_face_util_RtspFaceNative_teleShutdown(JNIEnv *env, jclass clazz);
 
 void Java_cn_com_basic_face_util_RtspFaceNative_setFaceLabel(JNIEnv *env, jclass clazz, jint cameraIdx, jint stTrackId, jstring label);
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.cpp
index c0efaf0..99bff45 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.cpp
@@ -1,107 +1,96 @@
+#include <logger.h>
 #include "TeleWrapper.h"
+
+extern "C" {
+#include "serial.h"
+}
 
 bool TeleWrapper::start()
 {
-LOG_INFO << "TeleWrapper::start" << LOG_ENDL;
-running = true;
- pthread_mutex_init(&mutex, NULL); // // 初始化互斥对象
-	int ret = pthread_create(&tel_thid, NULL, TeleWrapper::tel_thd, this);
-	if(ret != 0)
-	{
-		LOGP(ERROR, "pthread_create: %s/n", strerror(ret));
-		running = false;
-		return false;
-	}
+    LOG_INFO << "TeleWrapper::start" << LOG_ENDL;
 
-	return true;
- 
+    fd = serialOpen(PORT, BAUD);
+
+    running = true;
+    pthread_mutex_init(&mutex, NULL); // 鍒濆鍖栦簰鏂ュ璞�,鍔ㄦ�佸姞閿�
+    cond = PTHREAD_COND_INITIALIZER;
+    int ret = pthread_create(&tel_thid, NULL, TeleWrapper::tel_thd, this);
+
+    if(ret != 0)
+    {
+        LOGP(ERROR, "pthread_create: %s/n", strerror(ret));
+        running = false;
+        return false;
+    }
+
+    return true;
+
 }
 
 void TeleWrapper::stop()
 {
-LOG_INFO << "TeleWrapper::stop" << LOG_ENDL;
-	
-	if (!running)
-		return;
+    LOG_INFO << "TeleWrapper::stop" << LOG_ENDL;
 
-	running = false;
-	pthread_join(tel_thid, NULL);
-	pthread_mutex_destroy(&mutex);  
-}
+    if (!running)
+        return;
 
-void TeleWrapper::pushTask(TeleTask task)
-{                                      
-      if(telQueue.empty()|| telQueue.back().command!=task.command) //队列为空 或者 放入任务和前一个任务不一致 时
-           {
-              telQueue.push(task); //放进队列 
-              thread_resume(); //唤醒线程
-           }
-  }
-      
-     void TeleWrapper::popTask()
-{
-           TeleTask curTask = telQueue.front();
-            telQueue.pop();
-            switch(curTask.command)
-            {
-                case TeleTask::CALL: //打电话
-                 callNum(curTask.param);
-                 break:
-                 case TeleTask::HANGUP:
-                 //  挂机
-                 hang();
-                 break;
-            }
-}
- 
-     
-void TeleWrapper:: *tel_thd(void *arg)  //线程函数
-{
-	LOG_INFO << "TeleWrapper::tel_thd start" << LOG_ENDL;
-	
-		TeleWrapper& teleWrapper = *(TeleWrapper*)arg;
-     while(teleWrapper.running)
-     {
-         if(telQueue.empty())
-       {
-        thread_pause();
-        return ;
-       }
-          if(!pthread_pause)
-          {
-           popTask();
-        }
-     }
-   LOG_INFO << "TeleWrapper::tel_thd stop" << LOG_ENDL;
-}
+    running = false;
+    pthread_join(tel_thid, NULL);//闃诲绾跨▼锛岀瓑寰呯嚎绋�
+    pthread_mutex_destroy(&mutex);
 
-void TeleWrapper::thread_pause()
-{
-   if(!pthread_pause)
-    {   
-        pthread_mutex_lock(&mutex);
-        pthread_pause = true;
-        LOG_INFO << "thread pause " << LOG_ENDL;
-        pthread_mutex_unlock(&mutex)
-       }
+    serialClose(fd);
 }
 
 
-void TeleWrapper::thread_resume()
+
+
+
+void TeleWrapper::popTask()
 {
-    if(pthread_pause)
+
+    TeleTask curTask = telQueue.front();
+    telQueue.pop();
+    switch(curTask.command)
     {
-      pthread_mutex_lock(&mutex);
-        pthread_pause = false;
-         pthread_cond_broadcast(&cond_pause);  
-        LOG_INFO << "thread wake " << LOG_ENDL;
-        pthread_mutex_unlock(&mutex)
+        case TeleTask::CALL: //鎵撶數璇�
+            callNum(curTask.param);
+            break;
+        case TeleTask::HANGUP:
+            //  鎸傛満
+            hang();
+            break;
     }
 }
+void TeleWrapper::pushTask(TeleTask task)
+{
+    telQueue.push(task);
+    pthread_mutex_unlock(&mutex);
+    //pthread_cond_signal(&cond);
+    //pthread_mutex_lock(&mutex);
+    //thread_resume(); //鍞ら啋绾跨▼
+}
 
+void * TeleWrapper::tel_thd(void *arg)  //绾跨▼鍑芥暟
+{
+    LOG_INFO << "TeleWrapper::tel_thd start" << LOG_ENDL;
 
+    TeleWrapper& teleWrapper = *(TeleWrapper*)arg;
+    while(teleWrapper.running)
+    {
+        if(teleWrapper.telQueue.empty())
+            pthread_mutex_lock(&teleWrapper.mutex);
 
-void TeleWrapper::callNum(  char phone)
+        if(teleWrapper.telQueue.empty())
+            continue;
+
+        teleWrapper.popTask();
+    }
+
+    pthread_mutex_unlock(&teleWrapper.mutex);
+    LOG_INFO << "TeleWrapper::tel_thd stop" << LOG_ENDL;
+}
+
+void TeleWrapper::callNum(char phone)
 {
     switch (phone)
     {
@@ -138,22 +127,24 @@
     }
 }
 
-void TeleWrapper::callNum( std::string phone)
+void TeleWrapper::callNum(const std::string phone)
 {
-   fd = serialOpen(PORT, BAUD);
-    serialWriteString(fd, "AA");//摘机
+
+    //serialWriteString(fd, "BA");
+    serialWriteString(fd, "AA");//鎽樻満
     sleep(1);
-     while (*phone)
+    const char* _phone = phone.c_str();
+    while (*_phone)
     {
         sleep(1);
-        callNum(*(phone++));
+        callNum(*(_phone++));
     }
 }
 
 void TeleWrapper::hang()
 {
-      serialWriteString(fd, "BA");
-      serialClose(fd);
+    sleep(40);
+    serialWriteString(fd, "BA");
 }
 
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.h
index c9bc047..32309d3 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/TeleWrapper.h
@@ -1,12 +1,13 @@
 #ifndef __TeleWrapper_H__
 #define __TeleWrapper_H__
 
+#include <thread>
 #include <queue>
 #include <pthread.h>
-#include <unistd.h>  
-#include <stdlib.h> 
-#include "serial.h"
- 
+#include <unistd.h>
+#include <stdlib.h>
+#include <string>
+
 
 #define PORT  "/dev/ttyS4"
 #define  BAUD 2400
@@ -14,53 +15,49 @@
 
 typedef struct TeleTask
 {
-	enum Tel
-	{
-		CALL,
-		HANGUP
-	};
-	Tel command;
-	std::string param;
+    enum Tel
+    {
+        CALL,
+        HANGUP
+    };
+    Tel command;
+    std::string param;
+    //  string param;
 }TeleTask;
 
 class TeleWrapper
 {
 public:
-	TeleWrapper() {}
-	~TeleWrapper() {}
+    TeleWrapper() {}
+    ~TeleWrapper() {}
 
-	bool start();
-	void stop();
-	void pushTask(TeleTask task);
-	void popTask();
-	
-	
-  void call(std::string phone);
-  void hang();
+    bool start();
+    void stop();
+  //  void pause();
+    void pushTask(TeleTask task);
+    void popTask();
 
-	pthread_t tel_thid;
-  bool running;
+
+    void call(std::string phone);
+    void hang();
+
+    pthread_t tel_thid;
+    bool running;
+
+    std::queue<TeleTask> telQueue;
+
+    //涓嶅畨鍏�
+    pthread_mutex_t mutex;
+    pthread_cond_t cond;
 private:
+    int  fd =-1;
+    //static
+    static void *tel_thd(void *arg) ;
 
-  int  fd =-1;
-  
-	std::queue<TeleTask> telQueue;
-	void *tel_thd(void *arg) ;
- 
-  bool pthread_pause = false;  
-  
-  pthread_cond_t cond_pause = PTHREAD_COND_INITIALIZER;  
-  pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
-  
-  void thread_pause();
-  void thread_resume();
-  
-  
 
- void callNum(  char phone);
+    void callNum(char phone);
+    void callNum(const std::string phone);
 
 };
 
-
-
-#endif 
+#endif
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp
index cd4bd17..5568ac2 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/cpu_sched_test.cpp
@@ -25,10 +25,22 @@
 		LOG_ERROR << "cpu " << i <<": " << CPU_ISSET(i, &mask) <<LOG_ENDL;
 	}
 
-    CPU_SET(id, &mask);
+	//CPU_CLR(0x0000, &mask);
+	//CPU_CLR(0x0001, &mask);
+	//CPU_CLR(0x0002, &mask);
+	//CPU_CLR(0x0003, &mask);
+	//CPU_CLR(0x0004, &mask);
+	//CPU_CLR(0x0005, &mask);
+
+	for(int i= 0; i< num; i++)
+	{
+		LOG_ERROR << "cpu " << i <<": " << CPU_ISSET(i, &mask) <<LOG_ENDL;
+	}
+
+    //CPU_SET(id, &mask);
     if (sched_setaffinity(0, sizeof(mask), &mask) == -1)
     {
-        fprintf(stderr, "warning: could not set CPU affinity/n");
+		LOG_ERROR << "warning: could not set CPU affinity" << LOG_ENDL;
     }
 }
 
diff --git a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
index 329a523..ac066b8 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
+++ b/VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java
@@ -86,7 +86,7 @@
         ThisActivity = this;
 
         RtspFaceNative.init();
-        RtspFaceNative.setLocalIP("192.168.1.84");
+        RtspFaceNative.setLocalIP("192.168.1.82");
 
         mGLView1 = (MyGLSurfaceView) findViewById(R.id.glsurfaceview1);
 
@@ -278,15 +278,10 @@
 
                         //mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString);
                         //#todo ok
-                        //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
                         //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin@192.168.1.188:554/cam/realmonitor?channel=1&subtype=2");
-                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://Admin:1234@192.168.1.70/h264");
-                        //mCreated = RtspFaceNative.createPlayer(1, "rtsp://Admin:1234@192.168.1.70/h264_2");
-                        mCreated = RtspFaceNative.createPlayer(1, "rtsp://Admin:1234@192.168.1.22/h264_2");
-                        //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/sub/av_stream");
-                        //mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:a1234567@192.168.1.132:554/h264/ch1/sub/av_stream");
-                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream");
-                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream");
+                        mCreated = RtspFaceNative.createPlayer(1, "rtsp://admin:admin12345@192.168.1.202:554/h264/ch1/main/av_stream");
+                        //mCreated = RtspFaceNative.createPlayer(2, "rtsp://Admin:1234@192.168.1.22/h264");
+                        mCreated = RtspFaceNative.createPlayer(2, "rtsp://admin:a1234567@192.168.1.201:554/h264/ch1/main/av_stream");
                         //mCreated = createPlayer(1, "rtsp://192.168.1.56:8554");
 
                         //byte[] arr = new byte[5];
diff --git a/VisitFace/RtspNativeCodec/app/src/main/res/layout/main.xml b/VisitFace/RtspNativeCodec/app/src/main/res/layout/main.xml
index 0676720..0fba257 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/res/layout/main.xml
+++ b/VisitFace/RtspNativeCodec/app/src/main/res/layout/main.xml
@@ -80,7 +80,7 @@
         <SurfaceView
             android:id="@+id/surfaceview1"
             android:layout_width="640px"
-            android:layout_height="480px" />
+            android:layout_height="480px"/>
 
         <SurfaceView
             android:id="@+id/surfaceview2"

--
Gitblit v1.8.0