修正bug

camera2
Matthew 8 months ago
parent 13a31186e6
commit 8cf7934629

@ -17,7 +17,7 @@
android:supportsRtl="true" android:supportsRtl="true"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme">
<activity <activity
android:name="net.ossrs.yasea.mplive.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" />

@ -40,7 +40,7 @@ import java.util.Random;
public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpListener, public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpListener,
SrsRecordHandler.SrsRecordListener, SrsEncodeHandler.SrsEncodeListener { SrsRecordHandler.SrsRecordListener, SrsEncodeHandler.SrsEncodeListener {
private static final String TAG = "Yasea"; private static final String TAG = "MpLive";
public final static int RC_CAMERA = 100; public final static int RC_CAMERA = 100;
private Button btnPublish; private Button btnPublish;
@ -92,7 +92,11 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
}else{ }else{
//权限已经开启,做相应事情 //权限已经开启,做相应事情
isPermissionGranted = true; isPermissionGranted = true;
try {
init(); init();
} catch (Exception ex) {
ex.printStackTrace();
}
} }
} }
@ -104,7 +108,11 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//权限被用户同意,做相应的事情 //权限被用户同意,做相应的事情
isPermissionGranted = true; isPermissionGranted = true;
try {
init(); init();
} catch (Exception ex) {
ex.printStackTrace();
}
} else { } else {
//权限被用户拒绝,做相应的事情 //权限被用户拒绝,做相应的事情
finish(); finish();
@ -114,7 +122,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
private void init() { private void init() {
// restore data. // restore data.
sp = getSharedPreferences("Yasea", MODE_PRIVATE); sp = getSharedPreferences("MpLive", MODE_PRIVATE);
rtmpUrl = sp.getString("rtmpUrl", rtmpUrl); rtmpUrl = sp.getString("rtmpUrl", rtmpUrl);
// initialize url. // initialize url.
@ -138,9 +146,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
mPublisher = new SrsPublisher(mCameraView); mPublisher = new SrsPublisher(mCameraView);
if (intent.hasExtra("cameraId")) {
mPublisher.switchCameraFace(intent.getIntExtra("cameraId", 0));
}
String url = intent.getStringExtra("url"); String url = intent.getStringExtra("url");
if (!TextUtils.isEmpty(url)) { if (!TextUtils.isEmpty(url)) {
@ -153,9 +159,12 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
mPublisher.setPreviewResolution(mWidth, mHeight); mPublisher.setPreviewResolution(mWidth, mHeight);
mPublisher.setOutputResolution(mHeight, mWidth); // 这里要和preview反过来 mPublisher.setOutputResolution(mHeight, mWidth); // 这里要和preview反过来
mPublisher.setVideoHDMode(); mPublisher.setVideoHDMode();
if (intent.hasExtra("cameraId")) {
int cameraId = intent.getIntExtra("cameraId", 0);
mPublisher.switchCameraFace(cameraId);
}
mPublisher.startCamera(); mPublisher.startCamera();
mCameraView.setCameraCallbacksHandler(new SrsCameraView.CameraCallbacksHandler(){ mCameraView.setCameraCallbacksHandler(new SrsCameraView.CameraCallbacksHandler(){
@Override @Override
public void onCameraParameters(Camera.Parameters params) { public void onCameraParameters(Camera.Parameters params) {
@ -180,6 +189,7 @@ public class MainActivity extends AppCompatActivity implements RtmpHandler.RtmpL
mHandler.postDelayed(new Runnable() { mHandler.postDelayed(new Runnable() {
@Override @Override
public void run() { public void run() {
Log.w(TAG, "Close self automatically");
finish(); finish();
System.exit(0); System.exit(0);
} }

@ -3,7 +3,7 @@
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:layout_height="fill_parent"
tools:context="net.ossrs.yasea.mplive.MainActivity"> tools:context="com.xypower.mplive.MainActivity">
<net.ossrs.yasea.SrsCameraView <net.ossrs.yasea.SrsCameraView
android:layout_width="match_parent" android:layout_width="match_parent"

@ -312,7 +312,9 @@ public class SrsCameraView extends GLSurfaceView implements GLSurfaceView.Render
public void disableEncoding() { public void disableEncoding() {
mIsEncoding = false; mIsEncoding = false;
mGLIntBufferCache.clear(); mGLIntBufferCache.clear();
if (mGLPreviewBuffer != null) {
mGLPreviewBuffer.clear(); mGLPreviewBuffer.clear();
}
if (worker != null) { if (worker != null) {
worker.interrupt(); worker.interrupt();

Loading…
Cancel
Save