diff --git a/PLDroidCameraStreamingDemo/app/build.gradle b/PLDroidCameraStreamingDemo/app/build.gradle
index 0cd1aa0..592ca35 100644
--- a/PLDroidCameraStreamingDemo/app/build.gradle
+++ b/PLDroidCameraStreamingDemo/app/build.gradle
@@ -23,5 +23,5 @@ dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.qiniu:happy-dns:0.2.5'
compile 'com.android.support:appcompat-v7:22.0.0'
- compile files('libs/pldroid-camera-streaming-1.6.0.jar')
+ compile files('libs/pldroid-camera-streaming-1.6.1.jar')
}
diff --git a/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.0.jar b/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.0.jar
deleted file mode 100644
index d944a23..0000000
Binary files a/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.0.jar and /dev/null differ
diff --git a/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.1.jar b/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.1.jar
new file mode 100644
index 0000000..0e2441c
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/libs/pldroid-camera-streaming-1.6.1.jar differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/HWCodecCameraStreamingActivity.java b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/HWCodecCameraStreamingActivity.java
index d9af78c..991145f 100644
--- a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/HWCodecCameraStreamingActivity.java
+++ b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/HWCodecCameraStreamingActivity.java
@@ -1,33 +1,14 @@
package com.pili.pldroid.streaming.camera.demo;
-import android.content.Context;
import android.graphics.Bitmap;
-import android.hardware.Camera;
-import android.os.Build;
+import android.graphics.BitmapFactory;
import android.os.Bundle;
-import android.os.Environment;
-import android.util.Log;
-import android.view.View;
-import android.view.Window;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
import com.pili.pldroid.streaming.CameraStreamingManager;
import com.pili.pldroid.streaming.CameraStreamingManager.EncodingType;
-import com.pili.pldroid.streaming.CameraStreamingSetting;
-import com.pili.pldroid.streaming.FrameCapturedCallback;
-import com.pili.pldroid.streaming.StreamStatusCallback;
-import com.pili.pldroid.streaming.StreamingProfile;
-import com.pili.pldroid.streaming.SurfaceTextureCallback;
-import com.pili.pldroid.streaming.camera.demo.gles.FBO;
+import com.pili.pldroid.streaming.WatermarkSetting;
import com.pili.pldroid.streaming.widget.AspectFrameLayout;
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.util.Map;
/**
* Created by jerikc on 15/10/29.
@@ -45,9 +26,12 @@ protected void onCreate(Bundle savedInstanceState) {
(CameraPreviewFrameView) findViewById(R.id.cameraPreview_surfaceView);
cameraPreviewFrameView.setListener(this);
+ WatermarkSetting watermarksetting = new WatermarkSetting(this, R.drawable.qiniu_logo, WatermarkSetting.WATERMARK_LOCATION.SOUTH_WEST, 100);
+
mCameraStreamingManager = new CameraStreamingManager(this, afl, cameraPreviewFrameView,
EncodingType.HW_VIDEO_WITH_HW_AUDIO_CODEC); // hw codec
- mCameraStreamingManager.prepare(mCameraStreamingSetting, mProfile);
+
+ mCameraStreamingManager.prepare(mCameraStreamingSetting, mMicrophoneStreamingSetting, watermarksetting, mProfile);
mCameraStreamingManager.setStreamingStateListener(this);
mCameraStreamingManager.setSurfaceTextureCallback(this);
diff --git a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/MainActivity.java b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/MainActivity.java
index e90dd89..22f7c3a 100644
--- a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/MainActivity.java
+++ b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/MainActivity.java
@@ -74,8 +74,6 @@ public void run() {
return;
}
intent.putExtra(Config.EXTRA_KEY_STREAM_JSON, resByHttp);
- } else {
- showToast("Stream Json Got Fail!");
}
startActivity(intent);
@@ -88,7 +86,7 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView mVersionInfoTextView = (TextView) findViewById(R.id.version_info);
- mVersionInfoTextView.setText("v1.6.0");
+ mVersionInfoTextView.setText("v1.6.1");
Button mHWCodecCameraStreamingBtn = (Button) findViewById(R.id.hw_codec_camera_streaming_btn);
if (!isSupportHWEncode()) {
diff --git a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/SWCodecCameraStreamingActivity.java b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/SWCodecCameraStreamingActivity.java
index 0a1d2f6..80d014a 100644
--- a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/SWCodecCameraStreamingActivity.java
+++ b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/SWCodecCameraStreamingActivity.java
@@ -1,55 +1,21 @@
package com.pili.pldroid.streaming.camera.demo;
-import android.content.Context;
-import android.content.pm.ActivityInfo;
import android.graphics.Bitmap;
-import android.hardware.Camera;
-import android.opengl.GLSurfaceView;
-import android.os.Build;
+import android.graphics.BitmapFactory;
import android.os.Bundle;
-import android.os.Environment;
import android.util.Log;
-import android.view.MotionEvent;
-import android.view.View;
-import android.view.Window;
-import android.widget.Button;
-import android.widget.TextView;
-import android.widget.Toast;
import com.pili.pldroid.streaming.CameraStreamingManager;
import com.pili.pldroid.streaming.CameraStreamingManager.EncodingType;
-import com.pili.pldroid.streaming.CameraStreamingSetting;
-import com.pili.pldroid.streaming.FrameCapturedCallback;
-import com.pili.pldroid.streaming.MicrophoneStreamingSetting;
-import com.pili.pldroid.streaming.StreamStatusCallback;
-import com.pili.pldroid.streaming.StreamingPreviewCallback;
-import com.pili.pldroid.streaming.StreamingProfile;
-import com.pili.pldroid.streaming.StreamingProfile.StreamStatusConfig;
-import com.pili.pldroid.streaming.StreamingProfile.StreamStatus;
-import com.pili.pldroid.streaming.StreamingProfile.ENCODING_ORIENTATION;
-import com.pili.pldroid.streaming.SurfaceTextureCallback;
-import com.pili.pldroid.streaming.camera.demo.gles.FBO;
-import com.pili.pldroid.streaming.camera.demo.ui.RotateLayout;
+import com.pili.pldroid.streaming.WatermarkSetting;
import com.pili.pldroid.streaming.widget.AspectFrameLayout;
-import com.qiniu.android.dns.DnsManager;
-import com.qiniu.android.dns.IResolver;
-import com.qiniu.android.dns.NetworkInfo;
-import com.qiniu.android.dns.http.DnspodFree;
-import com.qiniu.android.dns.local.AndroidDnsServer;
-import com.qiniu.android.dns.local.Resolver;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.net.InetAddress;
-
/**
* Created by jerikc on 15/10/29.
*/
public class SWCodecCameraStreamingActivity extends StreamingBaseActivity {
private static final String TAG = "SWCodecCameraStreaming";
+
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -60,19 +26,21 @@ protected void onCreate(Bundle savedInstanceState) {
(CameraPreviewFrameView) findViewById(R.id.cameraPreview_surfaceView);
cameraPreviewFrameView.setListener(this);
+ WatermarkSetting watermarksetting = new WatermarkSetting(this, R.drawable.qiniu_logo, WatermarkSetting.WATERMARK_LOCATION.SOUTH_WEST, WatermarkSetting.WATERMARK_SIZE.MEDIUM, 100);
+
mCameraStreamingManager = new CameraStreamingManager(this, afl, cameraPreviewFrameView,
- EncodingType.SW_VIDEO_WITH_SW_AUDIO_CODEC); // soft codec
- mCameraStreamingManager.prepare(mCameraStreamingSetting, mMicrophoneStreamingSetting, mProfile);
+ EncodingType.SW_VIDEO_WITH_SW_AUDIO_CODEC); // sw codec
+
+ mCameraStreamingManager.prepare(mCameraStreamingSetting, mMicrophoneStreamingSetting, watermarksetting, mProfile);
+
mCameraStreamingManager.setStreamingStateListener(this);
- mCameraStreamingManager.setStreamingPreviewCallback(this);
mCameraStreamingManager.setSurfaceTextureCallback(this);
mCameraStreamingManager.setStreamingSessionListener(this);
+// mCameraStreamingManager.setNativeLoggingEnabled(false);
mCameraStreamingManager.setStreamStatusCallback(this);
-
// update the StreamingProfile
// mProfile.setStream(new Stream(mJSONObject1));
// mCameraStreamingManager.setStreamingProfile(mProfile);
-// mCameraStreamingManager.setNativeLoggingEnabled(false);
setFocusAreaIndicator();
}
}
diff --git a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/StreamingBaseActivity.java b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/StreamingBaseActivity.java
index 01888ab..a655957 100644
--- a/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/StreamingBaseActivity.java
+++ b/PLDroidCameraStreamingDemo/app/src/main/java/com/pili/pldroid/streaming/camera/demo/StreamingBaseActivity.java
@@ -81,7 +81,6 @@ public class StreamingBaseActivity extends Activity implements
protected boolean mShutterButtonPressed = false;
private boolean mIsTorchOn = false;
private boolean mIsNeedMute = false;
- private boolean mIsNeedFB = false;
private boolean isEncOrientationPort = true;
protected static final int MSG_START_STREAMING = 0;
@@ -100,6 +99,7 @@ public class StreamingBaseActivity extends Activity implements
protected MicrophoneStreamingSetting mMicrophoneStreamingSetting;
protected StreamingProfile mProfile;
protected JSONObject mJSONObject;
+ private boolean mOrientationChanged = false;
protected boolean mIsReady = false;
@@ -193,7 +193,7 @@ protected void onCreate(Bundle savedInstanceState) {
try {
mJSONObject = new JSONObject(streamJsonStrFromServer);
- } catch (JSONException e) {
+ } catch (Exception e) {
e.printStackTrace();
}
@@ -224,9 +224,8 @@ protected void onCreate(Bundle savedInstanceState) {
.setRecordingHint(false)
.setResetTouchFocusDelayInMs(3000)
// .setFocusMode(CameraStreamingSetting.FOCUS_MODE_CONTINUOUS_PICTURE)
- .setCameraPrvSizeLevel(CameraStreamingSetting.PREVIEW_SIZE_LEVEL.MEDIUM)
+ .setCameraPrvSizeLevel(CameraStreamingSetting.PREVIEW_SIZE_LEVEL.SMALL)
.setCameraPrvSizeRatio(CameraStreamingSetting.PREVIEW_SIZE_RATIO.RATIO_16_9);
- mIsNeedFB = true;
mMicrophoneStreamingSetting = new MicrophoneStreamingSetting();
mMicrophoneStreamingSetting.setBluetoothSCOEnabled(false);
@@ -394,7 +393,7 @@ public void onSurfaceDestroyed() {
}
@Override
- public int onDrawFrame(int texId, int texWidth, int texHeight) {
+ public int onDrawFrame(int texId, int texWidth, int texHeight, float[] transformMatrix) {
// newTexId should not equal with texId. texId is from the SurfaceTexture.
// Otherwise, there is no filter effect.
int newTexId = mFBO.drawFrame(texId, texWidth, texHeight);
@@ -426,6 +425,8 @@ private class EncodingOrientationSwitcher implements Runnable {
@Override
public void run() {
Log.i(TAG, "isEncOrientationPort:" + isEncOrientationPort);
+ stopStreaming();
+ mOrientationChanged = !mOrientationChanged;
isEncOrientationPort = !isEncOrientationPort;
mProfile.setEncodingOrientation(isEncOrientationPort ? StreamingProfile.ENCODING_ORIENTATION.PORT : StreamingProfile.ENCODING_ORIENTATION.LAND);
mCameraStreamingManager.setStreamingProfile(mProfile);
@@ -503,6 +504,10 @@ public void onStateChanged(final int state, Object extra) {
mStatusMsgContent = getString(R.string.string_state_ready);
setShutterButtonEnabled(true);
setShutterButtonPressed(false);
+ if (mOrientationChanged) {
+ mOrientationChanged = false;
+ startStreaming();
+ }
break;
case CameraStreamingManager.STATE.IOERROR:
mLogContent += "IOERROR\n";
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_mmprocessing.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..7ebe049
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_mmprocessing.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so
index 72c5dd4..1efb19f 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_aac_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so
index 34c376a..cdfc50e 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_core.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so
index cb40517..cef4249 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/arm64-v8a/libpldroid_streaming_h264_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_mmprocessing.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..0f6a22f
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_mmprocessing.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so
index c996531..5d3f497 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_aac_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so
index b53f117..fc94d41 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_core.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so
index 5022daf..14c0bc9 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi-v7a/libpldroid_streaming_h264_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_mmprocessing.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..80fcc85
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_mmprocessing.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so
index 6cab868..d2c9625 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_aac_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so
index 0ca5657..949af7d 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_core.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so
index e60d332..263f4ce 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/armeabi/libpldroid_streaming_h264_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_mmprocessing.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..4533d81
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_mmprocessing.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so
index 30436c5..393bd1e 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_aac_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_core.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_core.so
index 19acdb2..828cf20 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_core.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_core.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so
index 3ad367b..f7b95f0 100755
Binary files a/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so and b/PLDroidCameraStreamingDemo/app/src/main/jniLibs/x86/libpldroid_streaming_h264_encoder.so differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/res/drawable/qiniu_logo.png b/PLDroidCameraStreamingDemo/app/src/main/res/drawable/qiniu_logo.png
new file mode 100644
index 0000000..d47b3c6
Binary files /dev/null and b/PLDroidCameraStreamingDemo/app/src/main/res/drawable/qiniu_logo.png differ
diff --git a/PLDroidCameraStreamingDemo/app/src/main/res/values/strings.xml b/PLDroidCameraStreamingDemo/app/src/main/res/values/strings.xml
index f9323c5..cd1a068 100644
--- a/PLDroidCameraStreamingDemo/app/src/main/res/values/strings.xml
+++ b/PLDroidCameraStreamingDemo/app/src/main/res/values/strings.xml
@@ -33,7 +33,6 @@
cd_btn_capture
cd_btn_orientation
cd_btn_mute
- cd_btn_fb
cd_tv_streaming_state_hint
cd_shutter_button
diff --git a/README.md b/README.md
index 87922b5..d155488 100644
--- a/README.md
+++ b/README.md
@@ -811,6 +811,19 @@ mCameraStreamingManager.setNativeLoggingEnabled(false);
### 推流 SDK
+* 1.6.1 ([Release Notes][30])
+ - 发布 pldroid-camera-streaming-1.6.1.jar
+ - 新增 libpldroid_mmprocessing.so
+ - 更新 libpldroid_streaming_core.so 和 libpldroid_streaming_h264_encoder.so
+ - 增加水印支持
+ - 优化软编 codec,提升画质和码控能力
+ - 兼容特殊的直播设备
+ - 新增 TransformMatrix 到 SurfaceTextureCallback#onDrawFrame
+ - 修复 `CameraStreamingManager#pause` 耗时较长
+ - 修复硬编纯音频无法正常停止推流
+ - 修复硬编推流过程中特殊步骤导致的概率性 crash
+ - 更新 Demo 代码
+
* 1.6.0 ([Release Notes][29])
- 发布 pldroid-camera-streaming-1.6.0.jar
- 更新 libpldroid_streaming_core.so 和 libpldroid_streaming_h264_encoder.so
@@ -1089,3 +1102,4 @@ mCameraStreamingManager.setNativeLoggingEnabled(false);
[27]: /ReleaseNotes/release-notes-1.5.1.md
[28]: /ReleaseNotes/release-notes-1.5.3.md
[29]: /ReleaseNotes/release-notes-1.6.0.md
+[30]: /ReleaseNotes/release-notes-1.6.1.md
diff --git a/ReleaseNotes/release-notes-1.6.1.md b/ReleaseNotes/release-notes-1.6.1.md
new file mode 100644
index 0000000..23afe97
--- /dev/null
+++ b/ReleaseNotes/release-notes-1.6.1.md
@@ -0,0 +1,25 @@
+# PLDroidCameraStreaming Release Notes for 1.6.1
+
+## 简介
+PLDroidCameraStreaming 是为 Android 开发者提供的 RTMP 直播推流 SDK
+
+## 记录
+
+### 推流 SDK
+ - 发布 pldroid-camera-streaming-1.6.1.jar
+ - 新增 libpldroid_mmprocessing.so
+ - 更新 libpldroid_streaming_core.so 和 libpldroid_streaming_h264_encoder.so
+ - 增加水印支持
+ - 新增 `WatermarkSetting`
+ - 新增 `WatermarkSetting.WATERMARK_LOCATION`
+ - 新增 `WatermarkSetting.WATERMARK_SIZE`
+ - 新增 `prepare(CameraStreamingSetting, MicrophoneStreamingSetting, WatermarkSetting, StreamingProfile)`
+ - 优化软编 codec,提升画质和码控能力
+ - 兼容特殊的直播设备
+ - 新增 TransformMatrix 到 SurfaceTextureCallback#onDrawFrame
+ - 修复 `CameraStreamingManager#pause` 耗时较长
+ - 修复硬编纯音频无法正常停止推流
+ - 修复硬编推流过程中特殊步骤导致的概率性 crash
+
+### Demo
+ - 更新 Demo 代码
diff --git a/releases/arm64-v8a/libpldroid_mmprocessing.so b/releases/arm64-v8a/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..7ebe049
Binary files /dev/null and b/releases/arm64-v8a/libpldroid_mmprocessing.so differ
diff --git a/releases/arm64-v8a/libpldroid_streaming_aac_encoder.so b/releases/arm64-v8a/libpldroid_streaming_aac_encoder.so
index 72c5dd4..1efb19f 100755
Binary files a/releases/arm64-v8a/libpldroid_streaming_aac_encoder.so and b/releases/arm64-v8a/libpldroid_streaming_aac_encoder.so differ
diff --git a/releases/arm64-v8a/libpldroid_streaming_core.so b/releases/arm64-v8a/libpldroid_streaming_core.so
index 34c376a..cdfc50e 100755
Binary files a/releases/arm64-v8a/libpldroid_streaming_core.so and b/releases/arm64-v8a/libpldroid_streaming_core.so differ
diff --git a/releases/arm64-v8a/libpldroid_streaming_h264_encoder.so b/releases/arm64-v8a/libpldroid_streaming_h264_encoder.so
index cb40517..cef4249 100755
Binary files a/releases/arm64-v8a/libpldroid_streaming_h264_encoder.so and b/releases/arm64-v8a/libpldroid_streaming_h264_encoder.so differ
diff --git a/releases/armeabi-v7a/libpldroid_mmprocessing.so b/releases/armeabi-v7a/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..0f6a22f
Binary files /dev/null and b/releases/armeabi-v7a/libpldroid_mmprocessing.so differ
diff --git a/releases/armeabi-v7a/libpldroid_streaming_aac_encoder.so b/releases/armeabi-v7a/libpldroid_streaming_aac_encoder.so
index c996531..5d3f497 100755
Binary files a/releases/armeabi-v7a/libpldroid_streaming_aac_encoder.so and b/releases/armeabi-v7a/libpldroid_streaming_aac_encoder.so differ
diff --git a/releases/armeabi-v7a/libpldroid_streaming_core.so b/releases/armeabi-v7a/libpldroid_streaming_core.so
index b53f117..fc94d41 100755
Binary files a/releases/armeabi-v7a/libpldroid_streaming_core.so and b/releases/armeabi-v7a/libpldroid_streaming_core.so differ
diff --git a/releases/armeabi-v7a/libpldroid_streaming_h264_encoder.so b/releases/armeabi-v7a/libpldroid_streaming_h264_encoder.so
index 5022daf..14c0bc9 100755
Binary files a/releases/armeabi-v7a/libpldroid_streaming_h264_encoder.so and b/releases/armeabi-v7a/libpldroid_streaming_h264_encoder.so differ
diff --git a/releases/armeabi/libpldroid_mmprocessing.so b/releases/armeabi/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..80fcc85
Binary files /dev/null and b/releases/armeabi/libpldroid_mmprocessing.so differ
diff --git a/releases/armeabi/libpldroid_streaming_aac_encoder.so b/releases/armeabi/libpldroid_streaming_aac_encoder.so
index 6cab868..d2c9625 100755
Binary files a/releases/armeabi/libpldroid_streaming_aac_encoder.so and b/releases/armeabi/libpldroid_streaming_aac_encoder.so differ
diff --git a/releases/armeabi/libpldroid_streaming_core.so b/releases/armeabi/libpldroid_streaming_core.so
index 0ca5657..949af7d 100755
Binary files a/releases/armeabi/libpldroid_streaming_core.so and b/releases/armeabi/libpldroid_streaming_core.so differ
diff --git a/releases/armeabi/libpldroid_streaming_h264_encoder.so b/releases/armeabi/libpldroid_streaming_h264_encoder.so
index e60d332..263f4ce 100755
Binary files a/releases/armeabi/libpldroid_streaming_h264_encoder.so and b/releases/armeabi/libpldroid_streaming_h264_encoder.so differ
diff --git a/releases/pldroid-camera-streaming-1.6.0.jar b/releases/pldroid-camera-streaming-1.6.0.jar
deleted file mode 100644
index d944a23..0000000
Binary files a/releases/pldroid-camera-streaming-1.6.0.jar and /dev/null differ
diff --git a/releases/pldroid-camera-streaming-1.6.1.jar b/releases/pldroid-camera-streaming-1.6.1.jar
new file mode 100644
index 0000000..0e2441c
Binary files /dev/null and b/releases/pldroid-camera-streaming-1.6.1.jar differ
diff --git a/releases/x86/libpldroid_mmprocessing.so b/releases/x86/libpldroid_mmprocessing.so
new file mode 100755
index 0000000..4533d81
Binary files /dev/null and b/releases/x86/libpldroid_mmprocessing.so differ
diff --git a/releases/x86/libpldroid_streaming_aac_encoder.so b/releases/x86/libpldroid_streaming_aac_encoder.so
index 30436c5..393bd1e 100755
Binary files a/releases/x86/libpldroid_streaming_aac_encoder.so and b/releases/x86/libpldroid_streaming_aac_encoder.so differ
diff --git a/releases/x86/libpldroid_streaming_core.so b/releases/x86/libpldroid_streaming_core.so
index 19acdb2..828cf20 100755
Binary files a/releases/x86/libpldroid_streaming_core.so and b/releases/x86/libpldroid_streaming_core.so differ
diff --git a/releases/x86/libpldroid_streaming_h264_encoder.so b/releases/x86/libpldroid_streaming_h264_encoder.so
index 3ad367b..f7b95f0 100755
Binary files a/releases/x86/libpldroid_streaming_h264_encoder.so and b/releases/x86/libpldroid_streaming_h264_encoder.so differ