# Conflicts:
#	app/src/main/java/com/xypower/mplive/MainActivity.java
master
liuguijing 7 months ago
commit 8e064912de

@ -39,7 +39,7 @@ option(ENABLE_ASAN "Enable Address Sanitize" OFF)
option(ENABLE_CXX_API "Enable C++ API SDK" OFF) option(ENABLE_CXX_API "Enable C++ API SDK" OFF)
option(ENABLE_FAAC "Enable FAAC" OFF) option(ENABLE_FAAC "Enable FAAC" OFF)
option(ENABLE_FFMPEG "Enable FFmpeg" OFF) option(ENABLE_FFMPEG "Enable FFmpeg" OFF)
option(ENABLE_HLS "Enable HLS" OFF) option(ENABLE_HLS "Enable HLS" ON)
option(ENABLE_JEMALLOC_STATIC "Enable static linking to the jemalloc library" OFF) option(ENABLE_JEMALLOC_STATIC "Enable static linking to the jemalloc library" OFF)
option(ENABLE_JEMALLOC_DUMP "Enable jemalloc to dump malloc statistics" OFF) option(ENABLE_JEMALLOC_DUMP "Enable jemalloc to dump malloc statistics" OFF)
option(ENABLE_MEM_DEBUG "Enable Memory Debug" OFF) option(ENABLE_MEM_DEBUG "Enable Memory Debug" OFF)
@ -55,7 +55,7 @@ option(ENABLE_SRT "Enable SRT" OFF)
option(ENABLE_TESTS "Enable Tests" OFF) option(ENABLE_TESTS "Enable Tests" OFF)
option(ENABLE_SCTP "Enable SCTP" OFF) option(ENABLE_SCTP "Enable SCTP" OFF)
option(ENABLE_WEBRTC "Enable WebRTC" OFF) option(ENABLE_WEBRTC "Enable WebRTC" OFF)
option(ENABLE_X264 "Enable x264" OFF) option(ENABLE_X264 "Enable x264" ON)
option(ENABLE_WEPOLL "Enable wepoll" ON) option(ENABLE_WEPOLL "Enable wepoll" ON)
option(ENABLE_VIDEOSTACK "Enable video stack" OFF) option(ENABLE_VIDEOSTACK "Enable video stack" OFF)
option(DISABLE_REPORT "Disable report to report.zlmediakit.com" OFF) option(DISABLE_REPORT "Disable report to report.zlmediakit.com" OFF)

@ -187,6 +187,7 @@ void System::systemSetup(){
#endif //ENABLE_JEMALLOC_DUMP #endif //ENABLE_JEMALLOC_DUMP
#if !defined(_WIN32) #if !defined(_WIN32)
#if !defined(__ANDROID__)
struct rlimit rlim,rlim_new; struct rlimit rlim,rlim_new;
if (getrlimit(RLIMIT_CORE, &rlim)==0) { if (getrlimit(RLIMIT_CORE, &rlim)==0) {
rlim_new.rlim_cur = rlim_new.rlim_max = RLIM_INFINITY; rlim_new.rlim_cur = rlim_new.rlim_max = RLIM_INFINITY;
@ -205,6 +206,7 @@ void System::systemSetup(){
} }
InfoL << "文件最大描述符个数设置为:" << rlim_new.rlim_cur; InfoL << "文件最大描述符个数设置为:" << rlim_new.rlim_cur;
} }
#endif // __ANDROID__
#ifndef ANDROID #ifndef ANDROID
signal(SIGSEGV, sig_crash); signal(SIGSEGV, sig_crash);

@ -9,19 +9,19 @@ def AppVersionName = AppMajorVersion + "." + AppMinorVersion + "." + AppBuildNum
def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber def AppVersionCode = AppMajorVersion * 100000 + AppMinorVersion * 1000 + AppBuildNumber
android { android {
compileSdkVersion 26 compileSdkVersion 33
defaultConfig { defaultConfig {
applicationId "com.xypower.mplive" applicationId "com.xypower.mplive"
minSdkVersion 21 minSdkVersion 21
targetSdkVersion 26 targetSdkVersion 28
versionCode AppVersionCode versionCode AppVersionCode
versionName AppVersionName versionName AppVersionName
externalNativeBuild { externalNativeBuild {
cmake { cmake {
cppFlags "-std=c++11 -frtti -fexceptions" cppFlags "-std=c++11 -frtti -fexceptions"
arguments "-DENABLE_API=on", "-DENABLE_API_STATIC_LIB=on", "-DENABLE_TESTS=off", "-DENABLE_PLAYER=off", "-DENABLE_SERVER_LIB=on" arguments "-DENABLE_API=on", "-DENABLE_API_STATIC_LIB=on", "-DENABLE_TESTS=off", "-DENABLE_HLS", "-DENABLE_PLAYER=off", "-DENABLE_SERVER_LIB=on"
abiFilters "armeabi-v7a", "arm64-v8a" abiFilters "armeabi-v7a", "arm64-v8a"
} }
} }

@ -4,7 +4,10 @@
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera.autofocus" /> <uses-feature android:name="android.hardware.camera.autofocus" />
@ -14,14 +17,16 @@
android:allowBackup="true" android:allowBackup="true"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:label="@string/app_name" android:label="@string/app_name"
android:networkSecurityConfig="@xml/network_security_config"
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
android:requestLegacyExternalStorage="true" >
<activity <activity
android:name=".MainActivity" android:name=".MainActivity"
android:configChanges="orientation|screenSize"> android:configChanges="orientation|screenSize">
<intent-filter> <intent-filter>
<action android:name="android.intent.action.MAIN" /> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter> </intent-filter>
</activity> </activity>

@ -57,7 +57,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
private SharedPreferences sp; private SharedPreferences sp;
// private String rtmpUrl = "rtmp://192.168.50.250/live/0"; // private String rtmpUrl = "rtmp://192.168.50.250/live/0";
private String rtmpUrl = "rtmp://61.169.135.146/live/0"; private String rtmpUrl = "rtmp://127.0.0.1/live/0";
private String recPath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4"; private String recPath = Environment.getExternalStorageDirectory().getPath() + "/test.mp4";
private SrsPublisher mPublisher; private SrsPublisher mPublisher;
@ -154,7 +154,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
} }
efu.setText(rtmpUrl); efu.setText(rtmpUrl);
mCameraView = (SrsCameraView) findViewById(R.id.glsurfaceview_camera); mCameraView = (SrsCameraView) findViewById(R.id.glsurfaceview_camera);
final int rotation = intent.getIntExtra("rotation", 0); final int rotation = intent.getIntExtra("rotation", -1);
if (rotation != -1) { if (rotation != -1) {
//设置图像显示方向 //设置图像显示方向
mCameraView.setPreviewOrientation(rotation); mCameraView.setPreviewOrientation(rotation);
@ -199,9 +199,11 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
editor.putString("rtmpUrl", rtmpUrl); editor.putString("rtmpUrl", rtmpUrl);
editor.apply(); editor.apply();
efu.setText(rtmpUrl + "rotation= " + rotation + " cameraid=" + cameraId + " auto=" + autoStart); efu.setText(rtmpUrl + "rotation= " + rotation + " cameraid=" + cameraId + " auto=" + autoStart);
// efu.setText(rtmpUrl + " cameraid=" + cameraId + " auto=" + autoStart);
efu.setText(rtmpUrl);
mPublisher.startPublish(rtmpUrl); mPublisher.startPublish(rtmpUrl);
if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) { if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) {
Toast.makeText(getApplicationContext(), "Use hard encoder", Toast.LENGTH_SHORT).show(); // Toast.makeText(getApplicationContext(), "Use hard encoder", Toast.LENGTH_SHORT).show();
} else { } else {
Toast.makeText(getApplicationContext(), "Use soft encoder", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "Use soft encoder", Toast.LENGTH_SHORT).show();
} }
@ -211,7 +213,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
} }
}, 500); }, 500);
} else { } else {
mPublisher.switchCameraFace(cameraId, rotation); mPublisher.switchCameraFace(cameraId,rotation);
} }
int autoClose = intent.getIntExtra("autoClose", 0); int autoClose = intent.getIntExtra("autoClose", 0);
@ -240,7 +242,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
efu.setText(rtmpUrl); efu.setText(rtmpUrl);
mPublisher.startPublish(rtmpUrl); mPublisher.startPublish(rtmpUrl);
// mPublisher.startCamera(); // mPublisher.startCamera();
mPublisher.switchCameraFace(cameraId, rotation); mPublisher.switchCameraFace(cameraId,rotation);
if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) { if (btnSwitchEncoder.getText().toString().contentEquals("soft encoder")) {
Toast.makeText(getApplicationContext(), "Use hard encoder", Toast.LENGTH_SHORT).show(); Toast.makeText(getApplicationContext(), "Use hard encoder", Toast.LENGTH_SHORT).show();
@ -279,7 +281,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
int size = cameraData.size(); int size = cameraData.size();
if (size > 0) { if (size > 0) {
int i = (++cameraId) % size; int i = (++cameraId) % size;
mPublisher.switchCameraFace(cameraId, rotation); mPublisher.switchCameraFace(cameraId,rotation);
} }
} }
}); });

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
Loading…
Cancel
Save