From 3d3a92d352ed8a17a9bdec256c7e41a2cde2169c Mon Sep 17 00:00:00 2001
From: houxiao <houxiao@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期三, 08 三月 2017 11:51:53 +0800
Subject: [PATCH] decode 2-way 1080p

---
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h                                                                        |   23 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps                                                         |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt                                  |    1 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/rules.ninja                                                         |   23 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/rules.ninja                                                       |   23 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log                                        |   52 +-
 VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp                                                                      |  217 +++++--
 VisitFace/RtspNativeCodec/.idea/workspace.xml                                                                                          |  577 ++++++++++++++++++++-
 VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt                                                                              |   27 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json                                           |   54 -
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties                          |    4 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin                                                               |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt                                                      |    5 
 VisitFace/RtspNativeCodec/app/app.iml                                                                                                  |   24 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log                                          |   52 +-
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json                                         |   54 -
 VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin          |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt                                    |    1 
 VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties               |    2 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/build.ninja                                                         |   96 +--
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/build.ninja                                                       |   96 +--
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties.lock                                                           |    0 
 VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug.ap_                                                              |    0 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin                                           |    0 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock         |    0 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin                                                               |    0 
 VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileHashes.bin                                                                  |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_log                                                          |   66 ++
 VisitFace/RtspNativeCodec/app/src/main/java/com/example/nativecodec/NativeCodec.java                                                   |  132 +++-
 VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug-androidTest.ap_                                                  |    0 
 VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt                                                    |    5 
 32 files changed, 1,035 insertions(+), 499 deletions(-)

diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties.lock b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties.lock
index 0722bd6..42d28e0 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/cache.properties.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileHashes.bin b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileHashes.bin
index 5db4485..a3a1674 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileHashes.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileHashes.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
index 04065ef..65e27de 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshots.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
index 8f42ae8..491cdc7 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/fileSnapshotsToTreeSnapshotsIndex.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
index 2bd6ac9..a28bce9 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/taskArtifacts/taskArtifacts.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
index ca1b1fe..66db384 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.bin
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
index 86085a3..a8df4c6 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
index 100ab7f..005360b 100644
--- a/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
+++ b/VisitFace/RtspNativeCodec/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localJarClasspathSnapshot/localJarClasspathSnapshot.lock
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/.idea/workspace.xml b/VisitFace/RtspNativeCodec/.idea/workspace.xml
index 18e8cb8..3bc0cdb 100644
--- a/VisitFace/RtspNativeCodec/.idea/workspace.xml
+++ b/VisitFace/RtspNativeCodec/.idea/workspace.xml
@@ -1,22 +1,54 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
+  <component name="AndroidLayouts">
+    <shared>
+      <config />
+    </shared>
+  </component>
   <component name="AndroidLogFilters">
-    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="Show only selected application" />
+    <option name="TOOL_WINDOW_CONFIGURED_FILTER" value="No Filters" />
   </component>
   <component name="ChangeListManager">
     <list default="true" readonly="true" id="03a9d3bc-227b-491c-ac6f-70f09fdb8dce" name="Default" comment="">
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.h" />
-      <change type="NEW" beforePath="" afterPath="$PROJECT_DIR$/../../RtspFace/PL_AndroidSurfaceViewSink.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/Logger/src/logger.cc" afterPath="$PROJECT_DIR$/../../RtspFace/Logger/src/logger.cc" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/Logger/src/logger.hpp" afterPath="$PROJECT_DIR$/../../RtspFace/Logger/src/logger.hpp" />
-      <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_H264Encoder.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_H264Encoder.cpp" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/PL_H264Encoder.h" afterPath="$PROJECT_DIR$/../../RtspFace/PL_H264Encoder.h" />
-      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/../../RtspFace/live555/config.android" afterPath="$PROJECT_DIR$/../../RtspFace/live555/config.android" />
+      <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.bin" afterPath="$PROJECT_DIR$/.gradle/2.14.1/tasks/_app_compileDebugJavaWithJavac/localClassSetAnalysis/localClassSetAnalysis.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$/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/res/resources-debug-androidTest.ap_" afterPath="$PROJECT_DIR$/app/build/intermediates/res/resources-debug-androidTest.ap_" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/res/resources-debug.ap_" afterPath="$PROJECT_DIR$/app/build/intermediates/res/resources-debug.ap_" />
+      <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_RTSPClient.cpp" afterPath="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.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$/.idea/workspace.xml" afterPath="$PROJECT_DIR$/.idea/workspace.xml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/.ninja_log" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/.ninja_log" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/build.ninja" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/build.ninja" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/rules.ninja" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/debug/x86/rules.ninja" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/build.ninja" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/build.ninja" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/rules.ninja" afterPath="$PROJECT_DIR$/app/.externalNativeBuild/cmake/release/x86/rules.ninja" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/app.iml" afterPath="$PROJECT_DIR$/app/app.iml" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" afterPath="$PROJECT_DIR$/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" afterPath="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" afterPath="$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h" />
+      <change type="MODIFICATION" beforePath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" afterPath="$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java" />
     </list>
     <ignored path="RtspNativeCodec.iws" />
     <ignored path=".idea/workspace.xml" />
@@ -49,21 +81,111 @@
   </component>
   <component name="FileEditorManager">
     <leaf SIDE_TABS_SIZE_LIMIT_KEY="300">
-      <file leaf-file-name="native-codec-jni.cpp" pinned="false" current-in-tab="true">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp">
+      <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="569">
-              <caret line="323" column="41" selection-start-line="323" selection-start-column="41" selection-end-line="323" selection-end-column="41" />
+            <state relative-caret-position="608">
+              <caret line="32" column="0" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
               <folding />
             </state>
           </provider>
         </entry>
       </file>
-      <file leaf-file-name="CMakeLists.txt" pinned="false" current-in-tab="false">
-        <entry file="file://$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt">
+      <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="171">
-              <caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
+            <state relative-caret-position="785">
+              <caret line="199" column="1" selection-start-line="199" selection-start-column="1" selection-end-line="199" selection-end-column="1" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PipeLine.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="614">
+              <caret line="161" column="46" selection-start-line="161" selection-start-column="46" selection-end-line="161" selection-end-column="46" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PL_AndroidMediaCodecDecoder.cpp" pinned="false" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="948">
+              <caret line="210" column="53" selection-start-line="210" selection-start-column="53" selection-end-line="210" selection-end-column="53" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="NativeCodec.java" pinned="false" current-in-tab="false">
+        <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="158">
+              <caret line="176" column="44" selection-start-line="176" selection-start-column="44" selection-end-line="176" selection-end-column="44" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="View.class" pinned="false" current-in-tab="false">
+        <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/view/View.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="4161">
+              <caret line="305" column="0" selection-start-line="305" selection-start-column="0" selection-end-line="305" selection-end-column="0" />
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Instrumentation.class" pinned="false" current-in-tab="false">
+        <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/app/Instrumentation.class">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="342">
+              <caret line="41" column="57" selection-start-line="41" selection-start-column="57" selection-end-line="41" selection-end-column="57" />
+              <folding>
+                <element signature="e#1159#1160#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="MyGLSurfaceView.java" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/MyGLSurfaceView.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="684">
+              <caret line="67" column="20" selection-start-line="67" selection-start-column="20" selection-end-line="67" selection-end-column="20" />
+              <folding>
+                <element signature="e#1831#1832#0" expanded="true" />
+                <element signature="e#1883#1884#0" expanded="true" />
+                <element signature="e#12502#12503#0" expanded="true" />
+                <element signature="e#12533#12534#0" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="NdkMediaCodec.h" pinned="false" current-in-tab="false">
+        <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/media/NdkMediaCodec.h">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="1786">
+              <caret line="94" column="47" selection-start-line="94" selection-start-column="47" selection-end-line="94" selection-end-column="47" />
+              <folding>
+                <marker date="1486613038986" expanded="false" signature="1134:1146" ph="..." />
+                <marker date="1486613038986" expanded="false" signature="7545:7560" ph="..." />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="PL_RTSPClient.cpp" pinned="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp">
+          <provider selected="true" editor-type-id="text-editor">
+            <state relative-caret-position="2508">
+              <caret line="132" column="29" selection-start-line="132" selection-start-column="29" selection-end-line="132" selection-end-column="29" />
               <folding />
             </state>
           </provider>
@@ -1692,8 +1814,15 @@
   <component name="IdeDocumentHistory">
     <option name="CHANGED_PATHS">
       <list>
-        <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
         <option value="$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/logger.h" />
+        <option value="$PROJECT_DIR$/app/src/main/cpp/CMakeLists.txt" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PipeLine.h" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp" />
+        <option value="$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.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/java/com/example/nativecodec/NativeCodec.java" />
       </list>
     </option>
   </component>
@@ -1726,10 +1855,9 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="PackagesPane" />
-      <pane id="ProjectPane" />
-      <pane id="Scope" />
       <pane id="Scratches" />
+      <pane id="Scope" />
+      <pane id="PackagesPane" />
       <pane id="AndroidView">
         <subPane>
           <PATH>
@@ -1750,6 +1878,7 @@
           </PATH>
         </subPane>
       </pane>
+      <pane id="ProjectPane" />
     </panes>
   </component>
   <component name="PropertiesComponent">
@@ -1757,6 +1886,7 @@
     <property name="settings.editor.selected.configurable" value="android.sdk-updates" />
     <property name="settings.editor.splitter.proportion" value="0.2" />
     <property name="last_opened_file_path" value="$PROJECT_DIR$" />
+    <property name="device.picker.selection" value="Nexus7my" />
   </component>
   <component name="RunManager" selected="Android App.app">
     <configuration default="true" type="AndroidRunConfigurationType" factoryName="Android App">
@@ -1988,7 +2118,7 @@
       <listeners />
       <method />
     </configuration>
-    <configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App">
+    <configuration default="false" name="app" type="AndroidRunConfigurationType" factoryName="Android App" activateToolWindowBeforeRun="false">
       <module name="app" />
       <option name="DEPLOY" value="true" />
       <option name="ARTIFACT_NAME" value="" />
@@ -2067,6 +2197,18 @@
           <option name="myVcsRoot" value="D:\workspace\proxy\RtspFace\Logger\src" />
           <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace\Logger\src" />
         </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec" />
+        </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec\.idea" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec\.idea" />
+        </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec\app" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec\app" />
+        </SvnCopyRootSimple>
       </list>
     </option>
     <option name="myMoreRealMappingRoots">
@@ -2074,6 +2216,10 @@
         <SvnCopyRootSimple>
           <option name="myVcsRoot" value="D:\workspace\proxy\RtspFace" />
           <option name="myCopyRoot" value="D:\workspace\proxy\RtspFace" />
+        </SvnCopyRootSimple>
+        <SvnCopyRootSimple>
+          <option name="myVcsRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec" />
+          <option name="myCopyRoot" value="D:\workspace\proxy\VisitFace\RtspNativeCodec" />
         </SvnCopyRootSimple>
       </list>
     </option>
@@ -2098,7 +2244,7 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="0" width="1920" height="1156" extended-state="0" />
+    <frame x="0" y="0" width="1920" height="1156" extended-state="1" />
     <editor active="false" />
     <layout>
       <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32971373" sideWeight="0.5" order="6" side_tool="false" content_ui="tabs" />
@@ -2111,7 +2257,7 @@
       <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.32971373" sideWeight="0.50213903" order="7" side_tool="true" content_ui="tabs" />
       <window_info id="Android Monitor" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32971373" sideWeight="0.5" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32971373" sideWeight="0.49465242" order="7" side_tool="false" content_ui="tabs" />
-      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.33" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
+      <window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32971373" sideWeight="0.5" order="2" 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="Terminal" active="false" anchor="bottom" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.32971373" sideWeight="0.49786097" order="7" side_tool="false" content_ui="tabs" />
       <window_info id="Captures" active="false" anchor="left" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.25" sideWeight="0.5" order="2" side_tool="false" content_ui="tabs" />
@@ -2124,11 +2270,11 @@
       <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="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="Debug" 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="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.32971373" sideWeight="0.5" order="3" side_tool="false" 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="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="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="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="DOCKED" type="DOCKED" visible="false" show_stripe_button="true" weight="0.24973261" sideWeight="0.5" order="2" side_tool="false" content_ui="combo" />
       <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="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="Find" 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="1" side_tool="false" content_ui="tabs" />
@@ -2146,15 +2292,225 @@
     <option name="myLimit" value="2678400000" />
   </component>
   <component name="XDebuggerManager">
-    <breakpoint-manager />
+    <breakpoint-manager>
+      <option name="time" value="141" />
+    </breakpoint-manager>
     <watches-manager />
   </component>
   <component name="editorHistoryManager">
-    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp">
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="3781">
+          <caret line="199" column="1" selection-start-line="199" selection-start-column="1" selection-end-line="199" selection-end-column="1" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="3059">
+          <caret line="161" column="46" selection-start-line="161" selection-start-column="46" selection-end-line="161" selection-end-column="46" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="3990">
+          <caret line="210" column="53" selection-start-line="210" selection-start-column="53" selection-end-line="210" selection-end-column="53" />
+          <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="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>
+    </entry>
+    <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/view/View.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="4161">
+          <caret line="305" column="0" selection-start-line="305" selection-start-column="0" selection-end-line="305" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/app/Instrumentation.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="342">
+          <caret line="41" column="57" selection-start-line="41" selection-start-column="57" selection-end-line="41" selection-end-column="57" />
+          <folding>
+            <element signature="e#1159#1160#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/MyGLSurfaceView.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="684">
+          <caret line="67" column="20" selection-start-line="67" selection-start-column="20" selection-end-line="67" selection-end-column="20" />
+          <folding>
+            <element signature="e#1831#1832#0" expanded="true" />
+            <element signature="e#1883#1884#0" expanded="true" />
+            <element signature="e#12502#12503#0" expanded="true" />
+            <element signature="e#12533#12534#0" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/media/NdkMediaCodec.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1786">
+          <caret line="94" column="47" selection-start-line="94" selection-start-column="47" selection-end-line="94" selection-end-column="47" />
+          <folding>
+            <marker date="1486613038986" expanded="false" signature="1134:1146" ph="..." />
+            <marker date="1486613038986" expanded="false" signature="7545:7560" ph="..." />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2508">
+          <caret line="132" column="29" selection-start-line="132" selection-start-column="29" selection-end-line="132" selection-end-column="29" />
+          <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="551">
+          <caret line="29" column="104" selection-start-line="29" selection-start-column="104" selection-end-line="29" selection-end-column="104" />
+        </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="380">
+          <caret line="20" column="38" selection-start-line="20" selection-start-column="38" selection-end-line="20" selection-end-column="38" />
+          <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="1482">
+          <caret line="78" column="56" selection-start-line="78" selection-start-column="56" selection-end-line="78" selection-end-column="56" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="3059">
+          <caret line="161" column="46" selection-start-line="161" selection-start-column="46" selection-end-line="161" selection-end-column="46" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
+      <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" />
+          <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="3287">
+          <caret line="210" column="49" selection-start-line="210" selection-start-column="49" selection-end-line="210" selection-end-column="49" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/media/NdkMediaCodec.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1786">
+          <caret line="94" column="47" selection-start-line="94" selection-start-column="47" selection-end-line="94" selection-end-column="47" />
+          <folding>
+            <marker date="1486613038986" expanded="false" signature="1134:1146" ph="..." />
+            <marker date="1486613038986" expanded="false" signature="7545:7560" ph="..." />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2508">
+          <caret line="132" column="29" selection-start-line="132" selection-start-column="29" selection-end-line="132" selection-end-column="29" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="855">
+          <caret line="45" column="4" selection-start-line="45" selection-start-column="4" selection-end-line="45" selection-end-column="4" />
+        </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="551">
+          <caret line="29" column="104" selection-start-line="29" selection-start-column="104" selection-end-line="29" selection-end-column="104" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
+      <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_AndroidMediaCodecDecoder.cpp">
+      <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" />
+          <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="551">
+          <caret line="29" column="104" selection-start-line="29" selection-start-column="104" selection-end-line="29" selection-end-column="104" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="133">
+          <caret line="7" column="10" selection-start-line="7" selection-start-column="10" selection-end-line="7" selection-end-column="10" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/RtspNativeCodecJNI.cpp">
+      <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" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp">
+      <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>
@@ -2162,7 +2518,20 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="171">
           <caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
-          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp">
+      <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$/app/src/main/cpp/CMakeLists.txt">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="171">
+          <caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
         </state>
       </provider>
     </entry>
@@ -2170,7 +2539,6 @@
       <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" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2178,7 +2546,6 @@
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="9310">
           <caret line="490" column="1" selection-start-line="490" selection-start-column="1" selection-end-line="490" selection-end-column="1" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2186,7 +2553,6 @@
       <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" />
-          <folding />
         </state>
       </provider>
     </entry>
@@ -2197,13 +2563,6 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/jni.h">
-      <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="331">
-          <caret line="75" column="24" selection-start-line="75" selection-start-column="24" selection-end-line="75" selection-end-column="24" />
-        </state>
-      </provider>
-    </entry>
     <entry file="file://$PROJECT_DIR$/../../../JniHelpers/src/main/cpp/JniHelpersCommon.h">
       <provider selected="true" editor-type-id="text-editor">
         <state relative-caret-position="730">
@@ -2211,25 +2570,145 @@
         </state>
       </provider>
     </entry>
-    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/NativeCodec.java">
+    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/android/native_window_jni.h">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="920">
-          <caret line="292" column="24" selection-start-line="292" selection-start-column="24" selection-end-line="292" selection-end-column="24" />
+        <state relative-caret-position="399">
+          <caret line="21" column="0" selection-start-line="21" selection-start-column="0" selection-end-line="21" selection-end-column="16" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/logger.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="304">
+          <caret line="18" column="7" selection-start-line="18" selection-start-column="7" selection-end-line="18" selection-end-column="7" />
         </state>
       </provider>
     </entry>
     <entry file="file://$PROJECT_DIR$/app/src/main/cpp/native-codec-jni.cpp">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="569">
-          <caret line="323" column="41" selection-start-line="323" selection-start-column="41" selection-end-line="323" selection-end-column="41" />
-          <folding />
+        <state relative-caret-position="421">
+          <caret line="54" column="0" selection-start-line="54" selection-start-column="0" selection-end-line="54" selection-end-column="38" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="855">
+          <caret line="45" column="4" selection-start-line="45" selection-start-column="4" selection-end-line="45" selection-end-column="4" />
         </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="171">
-          <caret line="9" column="23" selection-start-line="9" selection-start-column="23" selection-end-line="9" selection-end-column="23" />
+        <state relative-caret-position="0">
+          <caret line="29" column="104" selection-start-line="29" selection-start-column="104" selection-end-line="29" selection-end-column="104" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/jni.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="440">
+          <caret line="879" column="0" selection-start-line="879" selection-start-column="0" selection-end-line="879" selection-end-column="0" />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_RTSPClient.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="2508">
+          <caret line="132" column="29" selection-start-line="132" selection-start-column="29" selection-end-line="132" selection-end-column="29" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/include/media/NdkMediaCodec.h">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="1786">
+          <caret line="94" column="47" selection-start-line="94" selection-start-column="47" selection-end-line="94" selection-end-column="47" />
+          <folding>
+            <marker date="1486613038986" expanded="false" signature="1134:1146" ph="..." />
+            <marker date="1486613038986" expanded="false" signature="7545:7560" ph="..." />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/res/layout/main.xml">
+      <provider selected="true" editor-type-id="android-designer2">
+        <state />
+      </provider>
+      <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>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/app/src/main/java/com/example/nativecodec/MyGLSurfaceView.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="684">
+          <caret line="67" column="20" selection-start-line="67" selection-start-column="20" selection-end-line="67" selection-end-column="20" />
+          <folding>
+            <element signature="e#1831#1832#0" expanded="true" />
+            <element signature="e#1883#1884#0" expanded="true" />
+            <element signature="e#12502#12503#0" expanded="true" />
+            <element signature="e#12533#12534#0" expanded="true" />
+          </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="608">
+          <caret line="32" column="0" selection-start-line="32" selection-start-column="0" selection-end-line="33" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/view/View.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="4161">
+          <caret line="305" column="0" selection-start-line="305" selection-start-column="0" selection-end-line="305" selection-end-column="0" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="jar://D:/adk/platforms/android-23/android.jar!/android/app/Instrumentation.class">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="342">
+          <caret line="41" column="57" selection-start-line="41" selection-start-column="57" selection-end-line="41" selection-end-column="57" />
+          <folding>
+            <element signature="e#1159#1160#0" expanded="true" />
+          </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="158">
+          <caret line="176" column="44" selection-start-line="176" selection-start-column="44" selection-end-line="176" selection-end-column="44" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PipeLine.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="614">
+          <caret line="161" column="46" selection-start-line="161" selection-start-column="46" selection-end-line="161" selection-end-column="46" />
+          <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="785">
+          <caret line="199" column="1" selection-start-line="199" selection-start-column="1" selection-end-line="199" selection-end-column="1" />
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/../../RtspFace/PL_AndroidMediaCodecDecoder.cpp">
+      <provider selected="true" editor-type-id="text-editor">
+        <state relative-caret-position="948">
+          <caret line="210" column="53" selection-start-line="210" selection-start-column="53" selection-end-line="210" selection-end-column="53" />
           <folding />
         </state>
       </provider>
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps
index cb6482a..c36f83c 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_deps
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_log b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_log
index 9923041..b2ec83f 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_log
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/.ninja_log
@@ -1,8 +1,60 @@
 # ninja log v5
-0	356	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	87aae31bd14c89d
-1	363	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	311777473f401928
-364	389	0	librtspface.a	91d40ea0a5aad399
-390	447	0	CMakeFiles/native-codec-jni.dir/looper.cpp.o	ed0de293d32c0958
-390	580	0	CMakeFiles/native-codec-jni.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	cef131be979d6144
-389	732	0	CMakeFiles/native-codec-jni.dir/native-codec-jni.cpp.o	59d2052ebc09fbf0
-732	904	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so	3011055c09f18480
+3	470	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+4	442	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+4	248	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+2	286	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+4	372	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+471	649	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+9	525	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+10	526	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+526	789	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+20	544	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+15	547	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+18	559	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+17	598	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+19	676	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+676	932	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+5	535	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+2	537	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+4	538	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+4	578	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+5	673	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+673	928	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+4	205	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+3	300	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+3	390	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+5	412	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+4	494	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+494	672	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+3	257	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+2	290	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+4	405	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+4	417	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+3	452	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+452	629	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+2	268	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+268	446	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+3	280	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+280	460	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+2	531	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+7	533	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+5	535	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+3	562	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+6	588	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+588	842	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+3	551	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+551	811	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+2	289	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+289	464	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+15	572	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+572	838	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+4	284	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+284	460	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+3	821	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+821	1081	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
+4	477	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o	eedaebc35d889050
+6	488	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o	58e9eea74820405d
+3	489	0	CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o	5f84c136188d28a7
+4	550	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o	745d9e91d84ca4b6
+5	616	0	CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o	86a9ffdfda44a6a6
+616	854	0	D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so	cf7836d4414cd77d
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt
index 4d45b78..3a923df 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeCache.txt
@@ -193,10 +193,7 @@
 Project_SOURCE_DIR:STATIC=D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp
 
 //Dependencies for the target
-native-codec-jni_LIB_DEPENDS:STATIC=general;android;general;log;general;mediandk;general;OpenMAXAL;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a;general;rtspface;
-
-//Dependencies for target
-rtspface_LIB_DEPENDS:STATIC=
+rtspface_LIB_DEPENDS:STATIC=general;android;general;log;general;mediandk;general;OpenMAXAL;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a;
 
 
 ########################
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log
index 60d500c..0c72cfd 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeOutput.log
@@ -3,17 +3,17 @@
 Determining if the C compiler works passed with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_c7ae8"
-[1/2] Building C object CMakeFiles/cmTC_c7ae8.dir/testCCompiler.c.o

-[2/2] Linking C executable cmTC_c7ae8

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_927ea"
+[1/2] Building C object CMakeFiles/cmTC_927ea.dir/testCCompiler.c.o

+[2/2] Linking C executable cmTC_927ea

 
 
 Detecting C compiler ABI info compiled with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_d8fe7"
-[1/2] Building C object CMakeFiles/cmTC_d8fe7.dir/CMakeCCompilerABI.c.o

-[2/2] Linking C executable cmTC_d8fe7

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_6fbc2"
+[1/2] Building C object CMakeFiles/cmTC_6fbc2.dir/CMakeCCompilerABI.c.o

+[2/2] Linking C executable cmTC_6fbc2

 Android clang version 3.8.256229  (based on LLVM 3.8.256229)


 Target: i686-none-linux-android


 Thread model: posix


@@ -22,16 +22,16 @@
 Selected GCC installation: D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x


 Candidate multilib: .;@m32


 Selected multilib: .;@m32


- "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_d8fe7 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_d8fe7.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


+ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_6fbc2 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_6fbc2.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


 
 
 Parsed C implicit link information from above output:
   link line regex: [^( *|.*[/\])(i686-linux-android-ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_d8fe7"]
-  ignore line: [[1/2] Building C object CMakeFiles/cmTC_d8fe7.dir/CMakeCCompilerABI.c.o]
-  ignore line: [[2/2] Linking C executable cmTC_d8fe7]
+  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_6fbc2"]
+  ignore line: [[1/2] Building C object CMakeFiles/cmTC_6fbc2.dir/CMakeCCompilerABI.c.o]
+  ignore line: [[2/2] Linking C executable cmTC_6fbc2]
   ignore line: [Android clang version 3.8.256229  (based on LLVM 3.8.256229)
]
   ignore line: [Target: i686-none-linux-android
]
   ignore line: [Thread model: posix
]
@@ -42,7 +42,7 @@
   ignore line: [@m32
]
   ignore line: [Selected multilib: .]
   ignore line: [@m32
]
-  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_d8fe7 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_d8fe7.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
+  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_6fbc2 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_6fbc2.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
     arg [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\ld] ==> ignore
     arg [--sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86] ==> ignore
     arg [-pie] ==> ignore
@@ -52,7 +52,7 @@
     arg [-dynamic-linker] ==> ignore
     arg [/system/bin/linker] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_d8fe7] ==> ignore
+    arg [cmTC_6fbc2] ==> ignore
     arg [D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\crtbegin_dynamic.o] ==> ignore
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x]
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib]
@@ -75,7 +75,7 @@
     arg [-znow] ==> ignore
     arg [--gc-sections] ==> ignore
     arg [-znocopyreloc] ==> ignore
-    arg [CMakeFiles/cmTC_d8fe7.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [CMakeFiles/cmTC_6fbc2.dir/CMakeCCompilerABI.c.o] ==> ignore
     arg [-lgcc] ==> lib [gcc]
     arg [-ldl] ==> lib [dl]
     arg [-lc] ==> lib [c]
@@ -95,17 +95,17 @@
 Determining if the CXX compiler works passed with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_d078e"
-[1/2] Building CXX object CMakeFiles/cmTC_d078e.dir/testCXXCompiler.cxx.o

-[2/2] Linking CXX executable cmTC_d078e

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_9f53a"
+[1/2] Building CXX object CMakeFiles/cmTC_9f53a.dir/testCXXCompiler.cxx.o

+[2/2] Linking CXX executable cmTC_9f53a

 
 
 Detecting CXX compiler ABI info compiled with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_29e07"
-[1/2] Building CXX object CMakeFiles/cmTC_29e07.dir/CMakeCXXCompilerABI.cpp.o

-[2/2] Linking CXX executable cmTC_29e07

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_689a8"
+[1/2] Building CXX object CMakeFiles/cmTC_689a8.dir/CMakeCXXCompilerABI.cpp.o

+[2/2] Linking CXX executable cmTC_689a8

 Android clang version 3.8.256229  (based on LLVM 3.8.256229)


 Target: i686-none-linux-android


 Thread model: posix


@@ -114,16 +114,16 @@
 Selected GCC installation: D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x


 Candidate multilib: .;@m32


 Selected multilib: .;@m32


- "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_29e07 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_29e07.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


+ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_689a8 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_689a8.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


 
 
 Parsed CXX implicit link information from above output:
   link line regex: [^( *|.*[/\])(i686-linux-android-ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_29e07"]
-  ignore line: [[1/2] Building CXX object CMakeFiles/cmTC_29e07.dir/CMakeCXXCompilerABI.cpp.o]
-  ignore line: [[2/2] Linking CXX executable cmTC_29e07]
+  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_689a8"]
+  ignore line: [[1/2] Building CXX object CMakeFiles/cmTC_689a8.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [[2/2] Linking CXX executable cmTC_689a8]
   ignore line: [Android clang version 3.8.256229  (based on LLVM 3.8.256229)
]
   ignore line: [Target: i686-none-linux-android
]
   ignore line: [Thread model: posix
]
@@ -134,7 +134,7 @@
   ignore line: [@m32
]
   ignore line: [Selected multilib: .]
   ignore line: [@m32
]
-  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_29e07 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_29e07.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
+  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_689a8 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_689a8.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
     arg [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\ld] ==> ignore
     arg [--sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86] ==> ignore
     arg [-pie] ==> ignore
@@ -144,7 +144,7 @@
     arg [-dynamic-linker] ==> ignore
     arg [/system/bin/linker] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_29e07] ==> ignore
+    arg [cmTC_689a8] ==> ignore
     arg [D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\crtbegin_dynamic.o] ==> ignore
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x]
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib]
@@ -167,7 +167,7 @@
     arg [-znow] ==> ignore
     arg [--gc-sections] ==> ignore
     arg [-znocopyreloc] ==> ignore
-    arg [CMakeFiles/cmTC_29e07.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [CMakeFiles/cmTC_689a8.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
     arg [-lstdc++] ==> lib [stdc++]
     arg [-lm] ==> lib [m]
     arg [-lgcc] ==> lib [gcc]
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt
index 43aa1f4..8066d7a 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/TargetDirectories.txt
@@ -1,4 +1,3 @@
-D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/native-codec-jni.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/rtspface.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/edit_cache.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/CMakeFiles/rebuild_cache.dir
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json
index ca0aae6..ff1daaf 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/android_gradle_build.json
@@ -11,36 +11,6 @@
 	"cppFileExtensions" : [ "cc", "cpp" ],
 	"libraries" : 
 	{
-		"native-codec-jni-Debug-x86" : 
-		{
-			"abi" : "x86",
-			"artifactName" : "native-codec-jni",
-			"buildCommand" : "D:\\adk\\cmake\\3.6.3155560\\bin\\cmake.exe --build D:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\.externalNativeBuild\\cmake\\debug\\x86 --target native-codec-jni",
-			"buildType" : "debug",
-			"files" : 
-			[
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/looper.cpp",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
-				},
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/native-codec-jni.cpp",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
-				},
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/RtspFace/Logger/src/logger.cc",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
-				}
-			],
-			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so",
-			"toolchain" : "364317101"
-		},
 		"rtspface-Debug-x86" : 
 		{
 			"abi" : "x86",
@@ -51,18 +21,36 @@
 			[
 				
 				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86   -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
 					"src" : "D:/workspace/proxy/RtspFace/PipeLine.cpp",
 					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
 				},
 				
 				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86   -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/RtspFace/Logger/src/logger.cc",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
 					"src" : "D:/workspace/proxy/RtspFace/PL_RTSPClient.cpp",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp",
 					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86"
 				}
 			],
-			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/librtspface.a",
+			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so",
 			"toolchain" : "364317101"
 		}
 	},
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/build.ninja b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/build.ninja
index f6c5d28..5c26d89 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/build.ninja
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/build.ninja
@@ -30,88 +30,67 @@
 include rules.ninja
 
 # =============================================================================
-# Object build statements for SHARED_LIBRARY target native-codec-jni
+# Object build statements for SHARED_LIBRARY target rtspface
 
-
-#############################################
-# Order-only phony target for native-codec-jni
-
-build cmake_order_depends_target_native-codec-jni: phony || librtspface.a
-build CMakeFiles/native-codec-jni.dir/looper.cpp.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/looper.cpp || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\looper.cpp.o.d
+build CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\RtspNativeCodecJNI.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\looper.cpp
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir
-build CMakeFiles/native-codec-jni.dir/native-codec-jni.cpp.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/native-codec-jni.cpp || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\native-codec-jni.cpp.o.d
-  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
-  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\native-codec-jni.cpp
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir
-build CMakeFiles/native-codec-jni.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/RtspFace/Logger/src/logger.cc || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\D_\workspace\proxy\RtspFace\Logger\src\logger.cc.o.d
-  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
-  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\RtspFace\Logger\src\logger.cc
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir\D_\workspace\proxy\RtspFace\Logger\src
-
-# =============================================================================
-# Link build statements for SHARED_LIBRARY target native-codec-jni
-
-
-#############################################
-# Link the shared library D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\debug\obj\x86\libnative-codec-jni.so
-
-build D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so: CXX_SHARED_LIBRARY_LINKER__native-codec-jni CMakeFiles/native-codec-jni.dir/looper.cpp.o CMakeFiles/native-codec-jni.dir/native-codec-jni.cpp.o CMakeFiles/native-codec-jni.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o | D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a librtspface.a || librtspface.a
-  LANGUAGE_COMPILE_FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info
-  LINK_FLAGS = -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
-  LINK_LIBRARIES = -landroid -llog -lmediandk -lOpenMAXAL D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a librtspface.a -lm "D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a"
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  POST_BUILD = cd .
-  PRE_LINK = cd .
-  SONAME = libnative-codec-jni.so
-  SONAME_FLAG = -Wl,-soname,
-  TARGET_FILE = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\debug\obj\x86\libnative-codec-jni.so
-  TARGET_PDB = native-codec-jni.so.dbg
-# =============================================================================
-# Object build statements for STATIC_LIBRARY target rtspface
-
+  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\RtspNativeCodecJNI.cpp
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir
 build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PipeLine.cpp
+  DEFINES = -Drtspface_EXPORTS
   DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PipeLine.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
   IN_ABS = D:\workspace\proxy\RtspFace\PipeLine.cpp
   OBJECT_DIR = CMakeFiles\rtspface.dir
   OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
+build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/Logger/src/logger.cc
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\Logger\src\logger.cc.o.d
+  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
+  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
+  IN_ABS = D:\workspace\proxy\RtspFace\Logger\src\logger.cc
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\Logger\src
 build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PL_RTSPClient.cpp
+  DEFINES = -Drtspface_EXPORTS
   DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PL_RTSPClient.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
   IN_ABS = D:\workspace\proxy\RtspFace\PL_RTSPClient.cpp
   OBJECT_DIR = CMakeFiles\rtspface.dir
   OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
+build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PL_AndroidMediaCodecDecoder.cpp.o.d
+  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info  -fPIC
+  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
+  IN_ABS = D:\workspace\proxy\RtspFace\PL_AndroidMediaCodecDecoder.cpp
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
 
 # =============================================================================
-# Link build statements for STATIC_LIBRARY target rtspface
+# Link build statements for SHARED_LIBRARY target rtspface
 
 
 #############################################
-# Link the static library librtspface.a
+# Link the shared library D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\debug\obj\x86\librtspface.so
 
-build librtspface.a: CXX_STATIC_LIBRARY_LINKER__rtspface CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o
+build D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so: CXX_SHARED_LIBRARY_LINKER__rtspface CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o | D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a
   LANGUAGE_COMPILE_FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O0 -fno-limit-debug-info -O0 -fno-limit-debug-info
+  LINK_FLAGS = -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
+  LINK_LIBRARIES = -landroid -llog -lmediandk -lOpenMAXAL D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a -lm "D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a"
   OBJECT_DIR = CMakeFiles\rtspface.dir
   POST_BUILD = cd .
   PRE_LINK = cd .
-  TARGET_FILE = librtspface.a
-  TARGET_PDB = rtspface.a.dbg
+  SONAME = librtspface.so
+  SONAME_FLAG = -Wl,-soname,
+  TARGET_FILE = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\debug\obj\x86\librtspface.so
+  TARGET_PDB = rtspface.so.dbg
 
 #############################################
 # Utility command for edit_cache
@@ -134,9 +113,8 @@
 # =============================================================================
 # Target aliases.
 
-build libnative-codec-jni.so: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so
-build native-codec-jni: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so
-build rtspface: phony librtspface.a
+build librtspface.so: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so
+build rtspface: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so
 # =============================================================================
 # Folder targets.
 
@@ -148,7 +126,7 @@
 #############################################
 # The main all target.
 
-build all: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/libnative-codec-jni.so librtspface.a
+build all: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/debug/obj/x86/librtspface.so
 
 #############################################
 # Make the all target the default.
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/rules.ninja b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/rules.ninja
index 8b0ff29..2958ed7 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/rules.ninja
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/debug/x86/rules.ninja
@@ -14,7 +14,7 @@
 #############################################
 # Rule for compiling CXX files.
 
-rule CXX_COMPILER__native-codec-jni
+rule CXX_COMPILER__rtspface
   depfile = $DEP_FILE
   deps = gcc
   command = D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
@@ -24,28 +24,9 @@
 #############################################
 # Rule for linking CXX shared library.
 
-rule CXX_SHARED_LIBRARY_LINKER__native-codec-jni
+rule CXX_SHARED_LIBRARY_LINKER__rtspface
   command = cmd.exe /C "$PRE_LINK && D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
   description = Linking CXX shared library $TARGET_FILE
-  restat = $RESTAT
-
-
-#############################################
-# Rule for compiling CXX files.
-
-rule CXX_COMPILER__rtspface
-  depfile = $DEP_FILE
-  deps = gcc
-  command = D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
-  description = Building CXX object $out
-
-
-#############################################
-# Rule for linking CXX static library.
-
-rule CXX_STATIC_LIBRARY_LINKER__rtspface
-  command = cmd.exe /C "$PRE_LINK && D:\adk\cmake\3.6.3155560\bin\cmake.exe -E remove $TARGET_FILE && D:\adk\ndk-bundle\toolchains\x86-4.9\prebuilt\windows-x86_64\bin\i686-linux-android-ar.exe qc $TARGET_FILE $LINK_FLAGS $in && D:\adk\ndk-bundle\toolchains\x86-4.9\prebuilt\windows-x86_64\bin\i686-linux-android-ranlib.exe $TARGET_FILE && $POST_BUILD"
-  description = Linking CXX static library $TARGET_FILE
   restat = $RESTAT
 
 
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt
index 6a837a0..8c5864c 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeCache.txt
@@ -193,10 +193,7 @@
 Project_SOURCE_DIR:STATIC=D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp
 
 //Dependencies for the target
-native-codec-jni_LIB_DEPENDS:STATIC=general;android;general;log;general;mediandk;general;OpenMAXAL;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a;general;rtspface;
-
-//Dependencies for target
-rtspface_LIB_DEPENDS:STATIC=
+rtspface_LIB_DEPENDS:STATIC=general;android;general;log;general;mediandk;general;OpenMAXAL;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a;general;D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a;
 
 
 ########################
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log
index c9f44c3..8b5dd3b 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeOutput.log
@@ -3,17 +3,17 @@
 Determining if the C compiler works passed with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_fd6ba"
-[1/2] Building C object CMakeFiles/cmTC_fd6ba.dir/testCCompiler.c.o

-[2/2] Linking C executable cmTC_fd6ba

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_222b5"
+[1/2] Building C object CMakeFiles/cmTC_222b5.dir/testCCompiler.c.o

+[2/2] Linking C executable cmTC_222b5

 
 
 Detecting C compiler ABI info compiled with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_99755"
-[1/2] Building C object CMakeFiles/cmTC_99755.dir/CMakeCCompilerABI.c.o

-[2/2] Linking C executable cmTC_99755

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_16b3d"
+[1/2] Building C object CMakeFiles/cmTC_16b3d.dir/CMakeCCompilerABI.c.o

+[2/2] Linking C executable cmTC_16b3d

 Android clang version 3.8.256229  (based on LLVM 3.8.256229)


 Target: i686-none-linux-android


 Thread model: posix


@@ -22,16 +22,16 @@
 Selected GCC installation: D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x


 Candidate multilib: .;@m32


 Selected multilib: .;@m32


- "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_99755 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_99755.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


+ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_16b3d "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_16b3d.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


 
 
 Parsed C implicit link information from above output:
   link line regex: [^( *|.*[/\])(i686-linux-android-ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_99755"]
-  ignore line: [[1/2] Building C object CMakeFiles/cmTC_99755.dir/CMakeCCompilerABI.c.o]
-  ignore line: [[2/2] Linking C executable cmTC_99755]
+  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_16b3d"]
+  ignore line: [[1/2] Building C object CMakeFiles/cmTC_16b3d.dir/CMakeCCompilerABI.c.o]
+  ignore line: [[2/2] Linking C executable cmTC_16b3d]
   ignore line: [Android clang version 3.8.256229  (based on LLVM 3.8.256229)
]
   ignore line: [Target: i686-none-linux-android
]
   ignore line: [Thread model: posix
]
@@ -42,7 +42,7 @@
   ignore line: [@m32
]
   ignore line: [Selected multilib: .]
   ignore line: [@m32
]
-  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_99755 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_99755.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
+  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_16b3d "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_16b3d.dir/CMakeCCompilerABI.c.o -lgcc -ldl -lc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
     arg [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\ld] ==> ignore
     arg [--sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86] ==> ignore
     arg [-pie] ==> ignore
@@ -52,7 +52,7 @@
     arg [-dynamic-linker] ==> ignore
     arg [/system/bin/linker] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_99755] ==> ignore
+    arg [cmTC_16b3d] ==> ignore
     arg [D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\crtbegin_dynamic.o] ==> ignore
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x]
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib]
@@ -75,7 +75,7 @@
     arg [-znow] ==> ignore
     arg [--gc-sections] ==> ignore
     arg [-znocopyreloc] ==> ignore
-    arg [CMakeFiles/cmTC_99755.dir/CMakeCCompilerABI.c.o] ==> ignore
+    arg [CMakeFiles/cmTC_16b3d.dir/CMakeCCompilerABI.c.o] ==> ignore
     arg [-lgcc] ==> lib [gcc]
     arg [-ldl] ==> lib [dl]
     arg [-lc] ==> lib [c]
@@ -95,17 +95,17 @@
 Determining if the CXX compiler works passed with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_5f221"
-[1/2] Building CXX object CMakeFiles/cmTC_5f221.dir/testCXXCompiler.cxx.o

-[2/2] Linking CXX executable cmTC_5f221

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_5eb17"
+[1/2] Building CXX object CMakeFiles/cmTC_5eb17.dir/testCXXCompiler.cxx.o

+[2/2] Linking CXX executable cmTC_5eb17

 
 
 Detecting CXX compiler ABI info compiled with the following output:
 Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp
 
-Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_df1f2"
-[1/2] Building CXX object CMakeFiles/cmTC_df1f2.dir/CMakeCXXCompilerABI.cpp.o

-[2/2] Linking CXX executable cmTC_df1f2

+Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_1f142"
+[1/2] Building CXX object CMakeFiles/cmTC_1f142.dir/CMakeCXXCompilerABI.cpp.o

+[2/2] Linking CXX executable cmTC_1f142

 Android clang version 3.8.256229  (based on LLVM 3.8.256229)


 Target: i686-none-linux-android


 Thread model: posix


@@ -114,16 +114,16 @@
 Selected GCC installation: D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x


 Candidate multilib: .;@m32


 Selected multilib: .;@m32


- "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_df1f2 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_df1f2.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


+ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_1f142 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_1f142.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"


 
 
 Parsed CXX implicit link information from above output:
   link line regex: [^( *|.*[/\])(i686-linux-android-ld\.exe|([^/\]+-)?ld|collect2)[^/\]*( |$)]
   ignore line: [Change Dir: D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/CMakeTmp]
   ignore line: []
-  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_df1f2"]
-  ignore line: [[1/2] Building CXX object CMakeFiles/cmTC_df1f2.dir/CMakeCXXCompilerABI.cpp.o]
-  ignore line: [[2/2] Linking CXX executable cmTC_df1f2]
+  ignore line: [Run Build Command:"D:\adk\cmake\3.6.3155560\bin\ninja.exe" "cmTC_1f142"]
+  ignore line: [[1/2] Building CXX object CMakeFiles/cmTC_1f142.dir/CMakeCXXCompilerABI.cpp.o]
+  ignore line: [[2/2] Linking CXX executable cmTC_1f142]
   ignore line: [Android clang version 3.8.256229  (based on LLVM 3.8.256229)
]
   ignore line: [Target: i686-none-linux-android
]
   ignore line: [Thread model: posix
]
@@ -134,7 +134,7 @@
   ignore line: [@m32
]
   ignore line: [Selected multilib: .]
   ignore line: [@m32
]
-  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_df1f2 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_df1f2.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
+  link line: [ "D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\\ld" --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -pie --eh-frame-hdr -m elf_i386 -dynamic-linker /system/bin/linker -o cmTC_1f142 "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtbegin_dynamic.o" -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x -LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib -LD:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc --build-id --warn-shared-textrel --fatal-warnings --no-undefined -z noexecstack -z relro -z now --gc-sections -z nocopyreloc CMakeFiles/cmTC_1f142.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc -lgcc -ldl -lc -lgcc -lgcc -ldl "D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\\crtend_android.o"
]
     arg [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/bin\ld] ==> ignore
     arg [--sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86] ==> ignore
     arg [-pie] ==> ignore
@@ -144,7 +144,7 @@
     arg [-dynamic-linker] ==> ignore
     arg [/system/bin/linker] ==> ignore
     arg [-o] ==> ignore
-    arg [cmTC_df1f2] ==> ignore
+    arg [cmTC_1f142] ==> ignore
     arg [D:/adk/ndk-bundle/platforms/android-21/arch-x86/usr/lib\crtbegin_dynamic.o] ==> ignore
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x]
     arg [-LD:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib] ==> dir [D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64/lib/gcc/i686-linux-android/4.9.x/../../../../i686-linux-android/lib]
@@ -167,7 +167,7 @@
     arg [-znow] ==> ignore
     arg [--gc-sections] ==> ignore
     arg [-znocopyreloc] ==> ignore
-    arg [CMakeFiles/cmTC_df1f2.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
+    arg [CMakeFiles/cmTC_1f142.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
     arg [-lstdc++] ==> lib [stdc++]
     arg [-lm] ==> lib [m]
     arg [-lgcc] ==> lib [gcc]
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt
index 368f727..360cd2d 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/TargetDirectories.txt
@@ -1,4 +1,3 @@
-D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/native-codec-jni.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/rtspface.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/edit_cache.dir
 D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/CMakeFiles/rebuild_cache.dir
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json
index 8339719..3e7f85a 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/android_gradle_build.json
@@ -11,36 +11,6 @@
 	"cppFileExtensions" : [ "cc", "cpp" ],
 	"libraries" : 
 	{
-		"native-codec-jni-Release-x86" : 
-		{
-			"abi" : "x86",
-			"artifactName" : "native-codec-jni",
-			"buildCommand" : "D:\\adk\\cmake\\3.6.3155560\\bin\\cmake.exe --build D:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\.externalNativeBuild\\cmake\\release\\x86 --target native-codec-jni",
-			"buildType" : "release",
-			"files" : 
-			[
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/looper.cpp",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
-				},
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/native-codec-jni.cpp",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
-				},
-				
-				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Dnative_codec_jni_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
-					"src" : "D:/workspace/proxy/RtspFace/Logger/src/logger.cc",
-					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
-				}
-			],
-			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/libnative-codec-jni.so",
-			"toolchain" : "364317101"
-		},
 		"rtspface-Release-x86" : 
 		{
 			"abi" : "x86",
@@ -51,18 +21,36 @@
 			[
 				
 				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86   -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
 					"src" : "D:/workspace/proxy/RtspFace/PipeLine.cpp",
 					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
 				},
 				
 				{
-					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86   -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/RtspFace/Logger/src/logger.cc",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
 					"src" : "D:/workspace/proxy/RtspFace/PL_RTSPClient.cpp",
+					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
+				},
+				
+				{
+					"flags" : "  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  -Drtspface_EXPORTS -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\BasicUsageEnvironment -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\groupsock -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\liveMedia -ID:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\libs\\live555\\include\\UsageEnvironment -ID:\\workspace\\JniHelpers\\src\\main\\cpp -ID:\\workspace\\proxy\\RtspFace -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\libs\\x86\\include -isystem D:\\adk\\ndk-bundle\\sources\\cxx-stl\\gnu-libstdc++\\4.9\\include\\backward  -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC    -c ",
+					"src" : "D:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp",
 					"workingDirectory" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86"
 				}
 			],
-			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/librtspface.a",
+			"output" : "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/librtspface.so",
 			"toolchain" : "364317101"
 		}
 	},
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/build.ninja b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/build.ninja
index fa68aac..f12acd1 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/build.ninja
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/build.ninja
@@ -30,88 +30,67 @@
 include rules.ninja
 
 # =============================================================================
-# Object build statements for SHARED_LIBRARY target native-codec-jni
+# Object build statements for SHARED_LIBRARY target rtspface
 
-
-#############################################
-# Order-only phony target for native-codec-jni
-
-build cmake_order_depends_target_native-codec-jni: phony || librtspface.a
-build CMakeFiles/native-codec-jni.dir/looper.cpp.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/looper.cpp || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\looper.cpp.o.d
+build CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\RtspNativeCodecJNI.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\looper.cpp
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir
-build CMakeFiles/native-codec-jni.dir/native-codec-jni.cpp.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/src/main/cpp/native-codec-jni.cpp || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\native-codec-jni.cpp.o.d
-  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
-  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\native-codec-jni.cpp
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir
-build CMakeFiles/native-codec-jni.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o: CXX_COMPILER__native-codec-jni D$:/workspace/proxy/RtspFace/Logger/src/logger.cc || cmake_order_depends_target_native-codec-jni
-  DEFINES = -Dnative_codec_jni_EXPORTS
-  DEP_FILE = CMakeFiles\native-codec-jni.dir\D_\workspace\proxy\RtspFace\Logger\src\logger.cc.o.d
-  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
-  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
-  IN_ABS = D:\workspace\proxy\RtspFace\Logger\src\logger.cc
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  OBJECT_FILE_DIR = CMakeFiles\native-codec-jni.dir\D_\workspace\proxy\RtspFace\Logger\src
-
-# =============================================================================
-# Link build statements for SHARED_LIBRARY target native-codec-jni
-
-
-#############################################
-# Link the shared library D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\release\obj\x86\libnative-codec-jni.so
-
-build D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/libnative-codec-jni.so: CXX_SHARED_LIBRARY_LINKER__native-codec-jni CMakeFiles/native-codec-jni.dir/looper.cpp.o CMakeFiles/native-codec-jni.dir/native-codec-jni.cpp.o CMakeFiles/native-codec-jni.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o | D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a librtspface.a || librtspface.a
-  LANGUAGE_COMPILE_FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG
-  LINK_FLAGS = -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
-  LINK_LIBRARIES = -landroid -llog -lmediandk -lOpenMAXAL D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a librtspface.a -lm "D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a"
-  OBJECT_DIR = CMakeFiles\native-codec-jni.dir
-  POST_BUILD = cd .
-  PRE_LINK = cd .
-  SONAME = libnative-codec-jni.so
-  SONAME_FLAG = -Wl,-soname,
-  TARGET_FILE = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\release\obj\x86\libnative-codec-jni.so
-  TARGET_PDB = native-codec-jni.so.dbg
-# =============================================================================
-# Object build statements for STATIC_LIBRARY target rtspface
-
+  IN_ABS = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\src\main\cpp\RtspNativeCodecJNI.cpp
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir
 build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PipeLine.cpp
+  DEFINES = -Drtspface_EXPORTS
   DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PipeLine.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
   IN_ABS = D:\workspace\proxy\RtspFace\PipeLine.cpp
   OBJECT_DIR = CMakeFiles\rtspface.dir
   OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
+build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/Logger/src/logger.cc
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\Logger\src\logger.cc.o.d
+  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
+  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
+  IN_ABS = D:\workspace\proxy\RtspFace\Logger\src\logger.cc
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\Logger\src
 build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PL_RTSPClient.cpp
+  DEFINES = -Drtspface_EXPORTS
   DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PL_RTSPClient.cpp.o.d
   FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
   INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
   IN_ABS = D:\workspace\proxy\RtspFace\PL_RTSPClient.cpp
   OBJECT_DIR = CMakeFiles\rtspface.dir
   OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
+build CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o: CXX_COMPILER__rtspface D$:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp
+  DEFINES = -Drtspface_EXPORTS
+  DEP_FILE = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace\PL_AndroidMediaCodecDecoder.cpp.o.d
+  FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG  -fPIC
+  INCLUDES = -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/BasicUsageEnvironment -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/groupsock -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/liveMedia -ID:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/include/UsageEnvironment -ID:/workspace/JniHelpers/src/main/cpp -ID:/workspace/proxy/RtspFace -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/include -isystem D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/include/backward
+  IN_ABS = D:\workspace\proxy\RtspFace\PL_AndroidMediaCodecDecoder.cpp
+  OBJECT_DIR = CMakeFiles\rtspface.dir
+  OBJECT_FILE_DIR = CMakeFiles\rtspface.dir\D_\workspace\proxy\RtspFace
 
 # =============================================================================
-# Link build statements for STATIC_LIBRARY target rtspface
+# Link build statements for SHARED_LIBRARY target rtspface
 
 
 #############################################
-# Link the static library librtspface.a
+# Link the shared library D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\release\obj\x86\librtspface.so
 
-build librtspface.a: CXX_STATIC_LIBRARY_LINKER__rtspface CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o
+build D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/librtspface.so: CXX_SHARED_LIBRARY_LINKER__rtspface CMakeFiles/rtspface.dir/RtspNativeCodecJNI.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PipeLine.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/Logger/src/logger.cc.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_RTSPClient.cpp.o CMakeFiles/rtspface.dir/D_/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp.o | D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a
   LANGUAGE_COMPILE_FLAGS = -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -Wa,--noexecstack -Wformat -Werror=format-security -fno-exceptions -fno-rtti  -std=c++11 -Wall -UNDEBUG -O2 -DNDEBUG -O2 -DNDEBUG
+  LINK_FLAGS = -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now
+  LINK_LIBRARIES = -landroid -llog -lmediandk -lOpenMAXAL D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a -lm "D:/adk/ndk-bundle/sources/cxx-stl/gnu-libstdc++/4.9/libs/x86/libgnustl_static.a"
   OBJECT_DIR = CMakeFiles\rtspface.dir
   POST_BUILD = cd .
   PRE_LINK = cd .
-  TARGET_FILE = librtspface.a
-  TARGET_PDB = rtspface.a.dbg
+  SONAME = librtspface.so
+  SONAME_FLAG = -Wl,-soname,
+  TARGET_FILE = D:\workspace\proxy\VisitFace\RtspNativeCodec\app\build\intermediates\cmake\release\obj\x86\librtspface.so
+  TARGET_PDB = rtspface.so.dbg
 
 #############################################
 # Utility command for edit_cache
@@ -134,9 +113,8 @@
 # =============================================================================
 # Target aliases.
 
-build libnative-codec-jni.so: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/libnative-codec-jni.so
-build native-codec-jni: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/libnative-codec-jni.so
-build rtspface: phony librtspface.a
+build librtspface.so: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/librtspface.so
+build rtspface: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/librtspface.so
 # =============================================================================
 # Folder targets.
 
@@ -148,7 +126,7 @@
 #############################################
 # The main all target.
 
-build all: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/libnative-codec-jni.so librtspface.a
+build all: phony D$:/workspace/proxy/VisitFace/RtspNativeCodec/app/build/intermediates/cmake/release/obj/x86/librtspface.so
 
 #############################################
 # Make the all target the default.
diff --git a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/rules.ninja b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/rules.ninja
index a4306dd..027059f 100644
--- a/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/rules.ninja
+++ b/VisitFace/RtspNativeCodec/app/.externalNativeBuild/cmake/release/x86/rules.ninja
@@ -14,7 +14,7 @@
 #############################################
 # Rule for compiling CXX files.
 
-rule CXX_COMPILER__native-codec-jni
+rule CXX_COMPILER__rtspface
   depfile = $DEP_FILE
   deps = gcc
   command = D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
@@ -24,28 +24,9 @@
 #############################################
 # Rule for linking CXX shared library.
 
-rule CXX_SHARED_LIBRARY_LINKER__native-codec-jni
+rule CXX_SHARED_LIBRARY_LINKER__rtspface
   command = cmd.exe /C "$PRE_LINK && D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86 -fPIC $LANGUAGE_COMPILE_FLAGS $ARCH_FLAGS $LINK_FLAGS -shared $SONAME_FLAG$SONAME -o $TARGET_FILE $in $LINK_PATH $LINK_LIBRARIES && $POST_BUILD"
   description = Linking CXX shared library $TARGET_FILE
-  restat = $RESTAT
-
-
-#############################################
-# Rule for compiling CXX files.
-
-rule CXX_COMPILER__rtspface
-  depfile = $DEP_FILE
-  deps = gcc
-  command = D:\adk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe  -target i686-none-linux-android -gcc-toolchain D:/adk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/adk/ndk-bundle/platforms/android-21/arch-x86  $DEFINES $INCLUDES $FLAGS -MD -MT $out -MF $DEP_FILE -o $out -c $IN_ABS
-  description = Building CXX object $out
-
-
-#############################################
-# Rule for linking CXX static library.
-
-rule CXX_STATIC_LIBRARY_LINKER__rtspface
-  command = cmd.exe /C "$PRE_LINK && D:\adk\cmake\3.6.3155560\bin\cmake.exe -E remove $TARGET_FILE && D:\adk\ndk-bundle\toolchains\x86-4.9\prebuilt\windows-x86_64\bin\i686-linux-android-ar.exe qc $TARGET_FILE $LINK_FLAGS $in && D:\adk\ndk-bundle\toolchains\x86-4.9\prebuilt\windows-x86_64\bin\i686-linux-android-ranlib.exe $TARGET_FILE && $POST_BUILD"
-  description = Linking CXX static library $TARGET_FILE
   restat = $RESTAT
 
 
diff --git a/VisitFace/RtspNativeCodec/app/app.iml b/VisitFace/RtspNativeCodec/app/app.iml
index 4c28c2a..5a73d6e 100644
--- a/VisitFace/RtspNativeCodec/app/app.iml
+++ b/VisitFace/RtspNativeCodec/app/app.iml
@@ -75,13 +75,6 @@
       <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
       <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
-      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
@@ -89,13 +82,30 @@
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
       <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/assets" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/classes" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/cmake" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/dependency-cache" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental-safeguard" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/pre-dexed" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
       <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
       <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
     </content>
     <orderEntry type="jdk" jdkName="Android API 23 Platform" jdkType="Android SDK" />
     <orderEntry type="sourceFolder" forTests="false" />
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
index b5df87e..8702ecf 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugAndroidTestResources/compile-file-map.properties
@@ -1 +1 @@
-#Mon Feb 27 09:57:46 GMT+08:00 2017
+#Wed Mar 08 11:43:25 GMT+08:00 2017
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
index 095cc73..e48c7fa 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/incremental/mergeDebugResources/compile-file-map.properties
@@ -1,6 +1,6 @@
-#Mon Feb 27 09:57:46 GMT+08:00 2017
+#Wed Mar 08 11:43:25 GMT+08:00 2017
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-xxhdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xxhdpi\\ic_launcher.png
-D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-hdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-hdpi\\ic_launcher.png
+D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-mdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-mdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\mipmap-xhdpi\\ic_launcher.png=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\mipmap-xhdpi\\ic_launcher.png
 D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\src\\main\\res\\layout\\main.xml=D\:\\workspace\\proxy\\VisitFace\\RtspNativeCodec\\app\\build\\intermediates\\res\\merged\\debug\\layout\\main.xml
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug-androidTest.ap_ b/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug-androidTest.ap_
index 647459d..53ba021 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug-androidTest.ap_
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug-androidTest.ap_
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug.ap_ b/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug.ap_
index 4714770..b656b68 100644
--- a/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug.ap_
+++ b/VisitFace/RtspNativeCodec/app/build/intermediates/res/resources-debug.ap_
Binary files differ
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
index 2acf0b0..915d490 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/CMakeLists.txt
@@ -2,13 +2,16 @@
 
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wall -UNDEBUG")
 
-add_library(native-codec-jni SHARED
-            looper.cpp
-            native-codec-jni.cpp
-            "D:/workspace/proxy/RtspFace/Logger/src/logger.cc")
+add_library(rtspface SHARED
+            RtspNativeCodecJNI.cpp
+            "D:/workspace/proxy/RtspFace/PipeLine.cpp"
+            "D:/workspace/proxy/RtspFace/Logger/src/logger.cc"
+            "D:/workspace/proxy/RtspFace/PL_RTSPClient.cpp"
+            "D:/workspace/proxy/RtspFace/PL_AndroidMediaCodecDecoder.cpp"
+            )
 
 # Include libraries needed for native-codec-jni lib
-target_link_libraries(native-codec-jni
+target_link_libraries(rtspface
                       android
                       log
                       mediandk
@@ -22,22 +25,10 @@
 
                     "D:/workspace/JniHelpers/src/main/cpp")
 
-target_link_libraries(native-codec-jni
+target_link_libraries(rtspface
                       "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libliveMedia.a"
                       "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libgroupsock.a"
                       "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libBasicUsageEnvironment.a"
                       "D:/workspace/proxy/VisitFace/RtspNativeCodec/app/libs/live555/lib/libUsageEnvironment.a")
 
 include_directories("D:/workspace/proxy/RtspFace")
-
-add_library(rtspface STATIC
-            "D:/workspace/proxy/RtspFace/PipeLine.cpp"
-            "D:/workspace/proxy/RtspFace/PL_RTSPClient.cpp")
-target_link_libraries(native-codec-jni rtspface)
-
-
-#file(GLOB libJniHelpers_SOURCES D:/workspace/JniHelpers/src/main/cpp/*.cpp)
-#file(GLOB libJniHelpers_HEADERS D:/workspace/JniHelpers/src/main/cpp/*.h)
-#add_library(JniHelpers ${libJniHelpers_SOURCES} ${libJniHelpers_HEADERS})
-#target_link_libraries(native-codec-jni JniHelpers)
-
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
index c774c84..d3b5233 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.cpp
@@ -2,44 +2,113 @@
 #include <PipeLine.h>
 #include <PL_RTSPClient.h>
 #include <PL_AndroidMediaCodecDecoder.h>
-#include <PL_AndroidSurfaceViewSink.h>
 #include <logger.h>
 #include <Logger/src/logger.hpp>
-#include <logger.h>
 
-#include <jni.h>
-#include "looper.h"
-#include "media/NdkMediaCodec.h"
-#include "media/NdkMediaExtractor.h"
+//#include "looper.h"
+#include <android/native_window_jni.h>
+#include <media/NdkMediaCodec.h>
+#include <media/NdkMediaExtractor.h>
+
+#include <pthread.h>
 
 std::stringstream logss;
 Logger g_logger(logss);
 
 class CameraWrapper
 {
+public:
 	PipeLine* pipeLine;
 	
 	PL_RTSPClient_Config rtspConfig;
 	PL_AndroidMediaCodecDecoder_Config amcdConfig;
-	PL_AndroidSurfaceViewSink asvsConfig;
 	
 	jmethodID faceCallback;
+	ANativeWindow* window;
 	
-	CameraWrapper() : pipeLine(nullptr), rtspConfig(), amcdConfig(), asvsConfig(), faceCallback(0)
+	pthread_t live_daemon_thid;
+	bool running;
+
+	CameraWrapper() : 
+		pipeLine(nullptr), rtspConfig(), amcdConfig(), faceCallback(0), window(nullptr), 
+		live_daemon_thid(0), running(false)
 	{
 	}
 	
 	~CameraWrapper()
 	{
+		stop();
 		delete pipeLine;
 	}
 	
 	bool start()
 	{
+		LOG_INFO << "CameraWrapper::start" << LOG_ENDL;
+
+		running = true;
+		int ret = pthread_create(&live_daemon_thid, NULL, CameraWrapper::live_daemon_thd, this);
+		if(ret != 0)
+		{
+			LOGP(ERROR, "pthread_create: %s/n", strerror(ret));
+			running = false;
+			return false;
+		}
+
+		return true;
 	}
 	
 	void stop()
 	{
+		LOG_INFO << "CameraWrapper::stop" << LOG_ENDL;
+		
+		if (!running)
+			return;
+
+		running = false;
+		pthread_join(live_daemon_thid, NULL);
+	}
+
+	bool initPl()
+	{
+		PL_RTSPClient* rtspClient = (PL_RTSPClient*)pipeLine->push_elem("PL_RTSPClient");
+		bool ret = rtspClient->init(&rtspConfig);
+		if (!ret)
+		{
+			LOG_ERROR << "rtspClient.init error" << std::endl;
+			return  false;
+		}
+
+		PL_AndroidMediaCodecDecoder* amcDecoder = (PL_AndroidMediaCodecDecoder*)pipeLine->push_elem("PL_AndroidMediaCodecDecoder");
+		ret = amcDecoder->init(&amcdConfig);
+		if (!ret)
+		{
+			LOG_ERROR << "amcDecoder.init error" << std::endl;
+			return  false;
+		}
+
+		return true;
+	}
+	
+	static void* live_daemon_thd(void* arg)
+	{
+		LOG_INFO << "CameraWrapper::live_daemon_thd start" << LOG_ENDL;
+
+		CameraWrapper& cameraWrapper = *(CameraWrapper*)arg;
+
+		while(cameraWrapper.running)
+		{
+			PipeLineElem* last = cameraWrapper.pipeLine->pipe();
+			bool ret = cameraWrapper.pipeLine->check_pipe_complete(last);
+			LOG_DEBUG << "pipe ret=" << ret << LOG_ENDL;
+
+			if (ret)
+			{
+				PipeMaterial pm;
+				last->gain(pm);
+			}
+		}
+		
+		LOG_INFO << "CameraWrapper::live_daemon_thd stop, ret=" << LOG_ENDL;
 	}
 };
 
@@ -48,13 +117,12 @@
 extern "C"
 {
 
-void Java_RtspNativeCodec_init(JNIEnv *env, jclass clazz)
+void Java_com_example_nativecodec_NativeCodec_init(JNIEnv *env, jclass clazz)
 {
 	g_logger.set_level(VERBOSE);
 	
 	PipeLine::register_global_elem_creator("PL_RTSPClient", create_PL_RTSPClient);
 	PipeLine::register_global_elem_creator("PL_AndroidMediaCodecDecoder", create_PL_AndroidMediaCodecDecoder);
-	PipeLine::register_global_elem_creator("PL_AndroidSurfaceViewSink", create_PL_AndroidSurfaceViewSink);
 	
 	for (size_t i = 0; i < CAMERA_COUNT; i++)
 	{
@@ -64,104 +132,111 @@
 }
 
 // set the surface
-void Java_RtspNativeCodec_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx, jobject surface)
+void Java_com_example_nativecodec_NativeCodec_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx, jobject surface)
 {
-    LOGV("@@@ Java_RtspNativeCodec_setSurface");
+	LOG_DEBUG << "@@@ Java_com_example_nativecodec_NativeCodec_setSurface" << LOG_ENDL;
 	assert(cameraIdx <= CAMERA_COUNT);
-
-    // obtain a native window from a Java surface
-    if (asvsConfig.window)
-	{
-        ANativeWindow_release((ANativeWindow)(asvsConfig.window));
-        asvsConfig.window = NULL;
-    }
-    asvsConfig.window = ANativeWindow_fromSurface(env, surface);
-    LOGV("@@@ setsurface %p", asvsConfig.window);
-}
-
-jboolean Java_RtspNativeCodec_createPlayer(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jstring uri)
-{
-	LOGV("@@@ Java_RtspNativeCodec_createPlayer");
-	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
 	
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
+
+    // obtain a native window from a Java surface
+    if (cameraWrapper.window)
+	{
+        ANativeWindow_release((ANativeWindow*)(cameraWrapper.window));
+        cameraWrapper.window = NULL;
+    }
+    cameraWrapper.window = ANativeWindow_fromSurface(env, surface);
+	LOGP(DEBUG, "@@@ setsurface %p", cameraWrapper.window);
+}
+
+jboolean Java_com_example_nativecodec_NativeCodec_createPlayer(JNIEnv* env, jclass clazz, jint cameraIdx, jstring uri)
+{
+    LOG_DEBUG << "@@@ Java_com_example_nativecodec_NativeCodec_createPlayer" << LOG_ENDL;
+	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
 	
+	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
+
 	{
 		const char *utf8Uri = env->GetStringUTFChars(uri, NULL);
-		cameraWrapper.rtspConfig = utf8Uri;
+		cameraWrapper.rtspConfig.rtspURL = utf8Uri;
 		env->ReleaseStringUTFChars(uri, utf8Uri);
 
 		cameraWrapper.rtspConfig.progName = "RtspNativeCodec";
-		cameraWrapper.rtspConfig.rtspURL = utf8;
 		cameraWrapper.rtspConfig.aux = true; // ffmpeg need aux, but live555 not
 		cameraWrapper.rtspConfig.verbosityLevel = 1;
 		cameraWrapper.rtspConfig.tunnelOverHTTPPortNum = 0;
 		cameraWrapper.rtspConfig.args = nullptr;
-		
-		PL_RTSPClient* rtspClient = (PL_RTSPClient*)cameraWrapper.pipeLine.push_elem("PL_RTSPClient");
-		bool ret = rtspClient->init(&(cameraWrapper.rtspConfig));
-		if (!ret)
-		{
-			LOG_ERROR << "rtspClient.init error" << std::endl;
-			return JNI_FALSE;
-		}
-	}
-	
-	{
-		PL_AndroidMediaCodecDecoder* amcDecoder = (PL_AndroidMediaCodecDecoder*)cameraWrapper.pipeLine.push_elem("PL_AndroidMediaCodecDecoder");
-		cameraWrapper.amcdConfig.ak_mime = "";
-		cameraWrapper.amcdConfig.ak_width = 1920;
-		cameraWrapper.amcdConfig.ak_height = 1080;
-		bool ret = amcDecoder->init(&(cameraWrapper.amcdConfig));
-		if (!ret)
-		{
-			LOG_ERROR << "amcDecoder.init error" << std::endl;
-			return JNI_FALSE;
-		}
-	}
-	
-	{
-		PL_AndroidSurfaceViewSink* asvSink = (PL_AndroidSurfaceViewSink*)cameraWrapper.pipeLine.push_elem("PL_AndroidSurfaceViewSink");
-		cameraWrapper.asvsConfig.
-		bool ret = asvSink->init(&(cameraWrapper.asvsConfig));
-		if (!ret)
-		{
-			LOG_ERROR << "asvSink.init error" << std::endl;
-			return JNI_FALSE;
-		}
 	}
 
-	return (cameraWrapper.start() ? JNI_TRUE : JNI_FALSE);
+	{
+		cameraWrapper.amcdConfig.ak_mime = "video/avc";
+		cameraWrapper.amcdConfig.ak_width = 1920;
+		cameraWrapper.amcdConfig.ak_height = 1080;
+		cameraWrapper.amcdConfig.windowSurface = cameraWrapper.window;
+		cameraWrapper.amcdConfig.releaseOutputBuffIdx = true;
+	}
+
+	bool ret = cameraWrapper.initPl();
+	if (ret)
+		return (cameraWrapper.start() ? JNI_TRUE : JNI_FALSE);
+	else
+		return JNI_FALSE;
 }
 
 // shut down the native media system
-void Java_RtspNativeCodec_shutdown(JNIEnv* env, jclass clazz, jint cameraIdx)
+void Java_com_example_nativecodec_NativeCodec_shutdown(JNIEnv* env, jclass clazz, jint cameraIdx)
 {
-	LOGV("@@@ Java_RtspNativeCodec_shutdown");
+    LOG_DEBUG << "@@@ Java_com_example_nativecodec_NativeCodec_shutdown" << LOG_ENDL;
 	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
 	
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
 	cameraWrapper.stop();
 }
 
-jboolean Java_RtspNativeCodec_setFaceCallback(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jstring func)
+jboolean Java_com_example_nativecodec_NativeCodec_setFaceCallback(JNIEnv* env, jclass clazz, jint cameraIdx, jstring func)
 {
-	LOGV("@@@ Java_RtspNativeCodec_setFaceCallback");
+    LOG_DEBUG << "@@@ Java_com_example_nativecodec_NativeCodec_setFaceCallback" << LOG_ENDL;
 	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
 	
 	CameraWrapper& cameraWrapper(g_CameraWrappers[cameraIdx]);
-	
-	LOGE("jni callback (0)"); 
-    jclass cls = env->GetObjectClass(clazz);  
-    cameraWrapper.faceCallback = env->GetMethodID(cls, func, "(II)V"); // Java_FaceCallback_func
+
+    jclass cls = env->GetObjectClass(clazz);
+
+    const char *utfFunc = env->GetStringUTFChars(func, NULL);
+    cameraWrapper.faceCallback = env->GetMethodID(cls, utfFunc, "(II)V"); // Java_FaceCallback_func
+    env->ReleaseStringUTFChars(func, utfFunc);
 	
 	// call:
     //env->CallVoidMethod(obj, callback, 5 , 10);
 }
 
-jboolean Java_RtspNativeCodec_getFaceList(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jbyteArray faceListPb)
+void Java_com_example_nativecodec_NativeCodec_lockFace(JNIEnv* env, jclass clazz, jint cameraIdx)
 {
 	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
 }
 
+void Java_com_example_nativecodec_NativeCodec_releaseFace(JNIEnv* env, jclass clazz, jint cameraIdx)
+{
+	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
+}
+
+jboolean Java_com_example_nativecodec_NativeCodec_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceListPb)
+{
+	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
+}
+
+jboolean Java_com_example_nativecodec_NativeCodec_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImagesIdx, jbyteArray faceImages)
+{
+	assert(cameraIdx <= CAMERA_COUNT);
+	cameraIdx -= 1;
+}
+
+
 }
diff --git a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
index 7d64e1d..524b4ca 100644
--- a/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
+++ b/VisitFace/RtspNativeCodec/app/src/main/cpp/RtspNativeCodecJNI.h
@@ -1,27 +1,36 @@
 #ifndef __RTSPNATIVECODECJNI_H__
 #define __RTSPNATIVECODECJNI_H__
 
+#include <jni.h>
+
 #define CAMERA_COUNT 2
 
 extern "C"
 {
 
-void Java_RtspNativeCodec_init(JNIEnv *env, jclass clazz);
+void Java_com_example_nativecodec_NativeCodec_init(JNIEnv *env, jclass clazz);
 
 // set the surface
-void Java_RtspNativeCodec_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx, jobject surface);
+void Java_com_example_nativecodec_NativeCodec_setSurface(JNIEnv *env, jclass clazz, jint cameraIdx, jobject surface);
 
-jboolean Java_RtspNativeCodec_createPlayer(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jstring uri);
+jboolean Java_com_example_nativecodec_NativeCodec_createPlayer(JNIEnv* env, jclass clazz, jint cameraIdx, jstring uri);
 
 // shut down the native media system
-void Java_RtspNativeCodec_shutdown(JNIEnv* env, jclass clazz, jint cameraIdx);
-
+void Java_com_example_nativecodec_NativeCodec_shutdown(JNIEnv* env, jclass clazz, jint cameraIdx);
 
 typedef void (* Java_FaceCallback_func)(int cameraIdx, int count);
 
-jboolean Java_RtspNativeCodec_setFaceCallback(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jstring func);
+jboolean Java_com_example_nativecodec_NativeCodec_setFaceCallback(JNIEnv* env, jclass clazz, jint cameraIdx, jstring func);
 
-jboolean Java_RtspNativeCodec_getFaceList(JNIEnv* env, jclass clazz, jobject assetMgr, jint cameraIdx, jbyteArray faceListPb);
+void Java_com_example_nativecodec_NativeCodec_lockFace(JNIEnv* env, jclass clazz, jint cameraIdx);
+
+void Java_com_example_nativecodec_NativeCodec_releaseFace(JNIEnv* env, jclass clazz, jint cameraIdx);
+
+// get face list protobuf
+jboolean Java_com_example_nativecodec_NativeCodec_getFaceList(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceListPb);
+
+// get 2-dimension byte array of ARGB images
+jboolean Java_com_example_nativecodec_NativeCodec_getFaceImages(JNIEnv* env, jclass clazz, jint cameraIdx, jbyteArray faceImagesIdx, jbyteArray faceImages);
 
 }
 
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 ada6508..c9d8eac 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
@@ -58,11 +58,15 @@
         super.onCreate(icicle);
         setContentView(R.layout.main);
 
+        init();
+
         mGLView1 = (MyGLSurfaceView) findViewById(R.id.glsurfaceview1);
 
         // set up the Surface 1 video sink
         mSurfaceView1 = (SurfaceView) findViewById(R.id.surfaceview1);
         mSurfaceHolder1 = mSurfaceView1.getHolder();
+
+
 
         mSurfaceHolder1.addCallback(new SurfaceHolder.Callback() {
 
@@ -76,7 +80,7 @@
             public void surfaceCreated(SurfaceHolder holder) {
                 Log.v(TAG, "surfaceCreated");
                 if (mRadio1.isChecked()) {
-                    setSurface(holder.getSurface());
+                    //setSurface(1, holder.getSurface());
                 }
             }
 
@@ -114,33 +118,37 @@
 
         OnCheckedChangeListener checklistener = new CompoundButton.OnCheckedChangeListener() {
 
-          @Override
-          public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-              Log.i("@@@@", "oncheckedchanged");
-              if (buttonView == mRadio1 && isChecked) {
-                  mRadio2.setChecked(false);
-              }
-              if (buttonView == mRadio2 && isChecked) {
-                  mRadio1.setChecked(false);
-              }
-              if (isChecked) {
-                  if (mRadio1.isChecked()) {
-                      if (mSurfaceHolder1VideoSink == null) {
-                          mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1);
-                      }
-                      mSelectedVideoSink = mSurfaceHolder1VideoSink;
-                      mGLView1.onPause();
-                      Log.i("@@@@", "glview pause");
-                  } else {
-                      mGLView1.onResume();
-                      if (mGLView1VideoSink == null) {
-                          mGLView1VideoSink = new GLViewVideoSink(mGLView1);
-                      }
-                      mSelectedVideoSink = mGLView1VideoSink;
-                  }
-                  switchSurface();
-              }
-          }
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                Log.i("@@@@", "oncheckedchanged");
+                if (buttonView == mRadio1 && isChecked) {
+                    mRadio2.setChecked(false);
+                }
+                if (buttonView == mRadio2 && isChecked) {
+                    mRadio1.setChecked(false);
+                }
+
+
+                if (isChecked) {
+                    if (mRadio1.isChecked()) {
+                        if (mSurfaceHolder1VideoSink == null) {
+                            mSurfaceHolder1VideoSink = new SurfaceHolderVideoSink(mSurfaceHolder1);
+                            //mSurfaceHolder1VideoSink.useAsSinkForNative();
+                        }
+                        mSelectedVideoSink = mSurfaceHolder1VideoSink;
+                        mGLView1.onPause();
+                        Log.i("@@@@", "glview pause");
+                    } else {
+                        mGLView1.onResume();
+                        if (mGLView1VideoSink == null) {
+                            mGLView1VideoSink = new GLViewVideoSink(mGLView1);
+                            //mGLView1VideoSink.useAsSinkForNative();
+                        }
+                        mSelectedVideoSink = mGLView1VideoSink;
+                    }
+                    switchSurface();
+                }
+            }
         };
         mRadio1.setOnCheckedChangeListener(checklistener);
         mRadio2.setOnCheckedChangeListener(checklistener);
@@ -158,7 +166,7 @@
             public void onClick(View v) {
                 mRadio2.toggle();
             }
-      });
+        });
 
         // initialize button click handlers
 
@@ -172,17 +180,24 @@
                         if (mSelectedVideoSink == null) {
                             return;
                         }
-                        mSelectedVideoSink.useAsSinkForNative();
+                        //mSelectedVideoSink.useAsSinkForNative();
                         mNativeCodecPlayerVideoSink = mSelectedVideoSink;
                     }
                     if (mSourceString != null) {
-                        mCreated = createStreamingMediaPlayer(getResources().getAssets(),
-                                mSourceString);
+
+                        setSurface(1, mSurfaceHolder1.getSurface());
+                        mGLView1VideoSink.useAsSinkForNative();
+
+                        //mCreated = createStreamingMediaPlayer(getResources().getAssets(), mSourceString);
+                        mCreated = createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                        mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                        //mCreated = createPlayer(1, "rtsp://192.168.1.56:8554");
+
                     }
                 }
                 if (mCreated) {
                     mIsPlaying = !mIsPlaying;
-                    setPlayingStreamingMediaPlayer(mIsPlaying);
+                    //setPlayingStreamingMediaPlayer(mIsPlaying);
                 }
             }
 
@@ -195,7 +210,7 @@
             @Override
             public void onClick(View view) {
                 if (mNativeCodecPlayerVideoSink != null) {
-                    rewindStreamingMediaPlayer();
+                    //rewindStreamingMediaPlayer();
                 }
             }
 
@@ -203,16 +218,27 @@
     }
 
     void switchSurface() {
+
+        //mGLView1VideoSink.useAsSinkForNative();
+        //mSurfaceHolder1VideoSink.useAsSinkForNative();
+
         if (mCreated && mNativeCodecPlayerVideoSink != mSelectedVideoSink) {
             // shutdown and recreate on other surface
-          Log.i("@@@", "shutting down player");
-            shutdown();
+            Log.i("@@@", "shutting down player");
+            //shutdown(1);
+            //shutdown(2);
             mCreated = false;
-            mSelectedVideoSink.useAsSinkForNative();
+            //mSelectedVideoSink.useAsSinkForNative();
+
+
+
             mNativeCodecPlayerVideoSink = mSelectedVideoSink;
             if (mSourceString != null) {
                 Log.i("@@@", "recreating player");
-                mCreated = createStreamingMediaPlayer(getResources().getAssets(),mSourceString);
+                //mCreated = createStreamingMediaPlayer(getResources().getAssets(),mSourceString);
+                //mCreated = createPlayer(1, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                //mCreated = createPlayer(2, "rtsp://admin:admin12345@192.168.1.70:554/h264/ch1/main/av_stream");
+                //mCreated = createPlayer(1, "rtsp://192.168.1.56:8554");
                 mIsPlaying = false;
             }
         }
@@ -223,7 +249,7 @@
     protected void onPause()
     {
         mIsPlaying = false;
-        setPlayingStreamingMediaPlayer(false);
+        //setPlayingStreamingMediaPlayer(false);
         mGLView1.onPause();
         super.onPause();
     }
@@ -240,7 +266,8 @@
     @Override
     protected void onDestroy()
     {
-        shutdown();
+        shutdown(1);
+        shutdown(2);
         mCreated = false;
         super.onDestroy();
     }
@@ -252,16 +279,23 @@
     private RadioButton mRadio2;
 
     /** Native methods, implemented in jni folder */
-    public static native void createEngine();
-    public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename);
-    public static native void setPlayingStreamingMediaPlayer(boolean isPlaying);
-    public static native void shutdown();
-    public static native void setSurface(Surface surface);
-    public static native void rewindStreamingMediaPlayer();
+    //public static native void createEngine();
+    //public static native boolean createStreamingMediaPlayer(AssetManager assetMgr, String filename);
+    //public static native void setPlayingStreamingMediaPlayer(boolean isPlaying);
+    //public static native void shutdown();
+    //public static native void setSurface(Surface surface);
+    //public static native void rewindStreamingMediaPlayer();
+
+
+    public static native void init();
+    public static native void setSurface(int cameraIdx, Surface surface);
+    public static native boolean createPlayer(int cameraIdx, String uri);
+    public static native void shutdown(int cameraIdx);
+
 
     /** Load jni .so on initialization */
     static {
-         System.loadLibrary("native-codec-jni");
+        System.loadLibrary("rtspface");
     }
 
     // VideoSink abstracts out the difference between Surface and SurfaceTexture
@@ -290,7 +324,7 @@
         void useAsSinkForNative() {
             Surface s = mSurfaceHolder.getSurface();
             Log.i("@@@", "setting surface " + s);
-            setSurface(s);
+            setSurface(1, s);
         }
 
     }
@@ -311,7 +345,7 @@
         void useAsSinkForNative() {
             SurfaceTexture st = mMyGLSurfaceView.getSurfaceTexture();
             Surface s = new Surface(st);
-            setSurface(s);
+            setSurface(2, s);
             s.release();
         }
 

--
Gitblit v1.8.0