Skip to content

Commit a584561

Browse files
解决第二次录制无画面的bug
1 parent 41871e5 commit a584561

File tree

6 files changed

+19
-1
lines changed

6 files changed

+19
-1
lines changed

libWSLive/src/main/java/me/lake/librestreaming/client/RESClient.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -517,6 +517,10 @@ public void setMirror(boolean isEnableMirror,boolean isEnablePreviewMirror,boole
517517
videoClient.setMirror(isEnableMirror,isEnablePreviewMirror,isEnableStreamMirror);
518518
}
519519

520+
public void setNeedResetEglContext(boolean bol){
521+
videoClient.setNeedResetEglContext(bol);
522+
}
523+
520524
static {
521525
System.loadLibrary("restreaming");
522526
}

libWSLive/src/main/java/me/lake/librestreaming/client/RESVideoClient.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,4 +460,7 @@ public void setVideoEncoder(final MediaVideoEncoder encoder) {
460460
public void setMirror(boolean isEnableMirror,boolean isEnablePreviewMirror,boolean isEnableStreamMirror) {
461461
videoCore.setMirror(isEnableMirror,isEnablePreviewMirror,isEnableStreamMirror);
462462
}
463+
public void setNeedResetEglContext(boolean bol){
464+
videoCore.setNeedResetEglContext(bol);
465+
}
463466
}

libWSLive/src/main/java/me/lake/librestreaming/core/RESHardVideoCore.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -877,5 +877,9 @@ private void processStMatrix(float[] matrix, boolean needMirror) {
877877

878878
return;
879879
}
880+
881+
public void setNeedResetEglContext(boolean bol){
882+
mNeedResetEglContext = bol;
883+
}
880884
//encoder mp4 end
881885
}

libWSLive/src/main/java/me/lake/librestreaming/core/RESSoftVideoCore.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -548,5 +548,8 @@ public void setVideoEncoder(final MediaVideoEncoder encoder) {
548548
@Override
549549
public void setMirror(boolean isEnableMirror, boolean isEnablePreviewMirror, boolean isEnableStreamMirror) {
550550

551+
}
552+
public void setNeedResetEglContext(boolean bol){
553+
551554
}
552555
}

libWSLive/src/main/java/me/lake/librestreaming/core/RESVideoCore.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,4 +47,7 @@ public interface RESVideoCore {
4747
void setVideoEncoder(final MediaVideoEncoder encoder);
4848

4949
void setMirror(boolean isEnableMirror,boolean isEnablePreviewMirror,boolean isEnableStreamMirror);
50+
void setNeedResetEglContext(boolean bol);
51+
52+
5053
}

libWSLive/src/main/java/me/lake/librestreaming/ws/StreamLiveCameraView.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,7 @@ public void stopStreaming(){
152152
private boolean isRecord = false;
153153
public void startRecord(){
154154
if(resClient != null){
155+
resClient.setNeedResetEglContext(true);
155156
try {
156157
mMuxer = new MediaMuxerWrapper(".mp4"); // if you record audio only, ".m4a" is also OK.
157158
new MediaVideoEncoder(mMuxer, mMediaEncoderListener, StreamAVOption.recordVideoWidth, StreamAVOption.recordVideoHeight);
@@ -385,7 +386,7 @@ public void onSurfaceTextureUpdated(SurfaceTexture surface) {
385386
/**
386387
* callback methods from encoder
387388
*/
388-
private final MediaEncoder.MediaEncoderListener mMediaEncoderListener = new MediaEncoder.MediaEncoderListener() {
389+
MediaEncoder.MediaEncoderListener mMediaEncoderListener = new MediaEncoder.MediaEncoderListener() {
389390
@Override
390391
public void onPrepared(final MediaEncoder encoder) {
391392
if (encoder instanceof MediaVideoEncoder && resClient != null)

0 commit comments

Comments
 (0)