Skip to content

Commit 8fdb283

Browse files
committed
remove securesubmit if possible
1 parent a4f4ade commit 8fdb283

File tree

3 files changed

+22
-47
lines changed

3 files changed

+22
-47
lines changed

app/src/main/java/com/pedro/streamer/rotation/CameraFragment.kt

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,6 @@ import com.pedro.library.util.BitrateAdapter
3939
import com.pedro.streamer.R
4040
import com.pedro.streamer.utils.PathUtils
4141
import com.pedro.streamer.utils.toast
42-
import kotlinx.coroutines.CoroutineScope
43-
import kotlinx.coroutines.Dispatchers
44-
import kotlinx.coroutines.launch
4542
import java.text.SimpleDateFormat
4643
import java.util.Date
4744
import java.util.Locale
@@ -159,12 +156,10 @@ class CameraFragment: Fragment(), ConnectChecker {
159156
}
160157
}
161158
bSwitchCamera.setOnClickListener {
162-
CoroutineScope(Dispatchers.IO).launch {
163-
genericStream.stopPreview()
164-
// Prepare video and audio with new settings.
165-
genericStream.prepareVideo(1920, 1080, 5000 * 1000, 30)
166-
genericStream.prepareAudio(32000, true, 128 * 1000)
167-
genericStream.startPreview(surfaceView)
159+
when (val source = genericStream.videoSource) {
160+
is Camera1Source -> source.switchCamera()
161+
is Camera2Source -> source.switchCamera()
162+
is CameraXSource -> source.switchCamera()
168163
}
169164
}
170165
return view

library/src/main/java/com/pedro/library/view/GlStreamInterface.kt

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -298,18 +298,14 @@ class GlStreamInterface(private val context: Context): OnFrameAvailableListener,
298298
}
299299

300300
fun attachPreview(surface: Surface) {
301-
executor?.secureSubmit {
302-
if (surfaceManager.isReady) {
303-
surfaceManagerPreview.release()
304-
surfaceManagerPreview.eglSetup(surface, surfaceManager)
305-
}
301+
if (surfaceManager.isReady) {
302+
surfaceManagerPreview.release()
303+
surfaceManagerPreview.eglSetup(surface, surfaceManager)
306304
}
307305
}
308306

309307
fun deAttachPreview() {
310-
executor?.secureSubmit {
311-
surfaceManagerPreview.release()
312-
}
308+
surfaceManagerPreview.release()
313309
}
314310

315311
override fun setStreamRotation(orientation: Int) {

library/src/main/java/com/pedro/library/view/OpenGlView.java

Lines changed: 14 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -302,15 +302,10 @@ private void draw(boolean forced) {
302302

303303
@Override
304304
public void addMediaCodecSurface(Surface surface) {
305-
ExecutorService executor = this.executor;
306-
if (executor == null) return;
307-
ExtensionsKt.secureSubmit(executor, () -> {
308-
if (surfaceManager.isReady()) {
309-
surfaceManagerEncoder.release();
310-
surfaceManagerEncoder.eglSetup(surface, surfaceManager);
311-
}
312-
return null;
313-
});
305+
if (surfaceManager.isReady()) {
306+
surfaceManagerEncoder.release();
307+
surfaceManagerEncoder.eglSetup(surface, surfaceManager);
308+
}
314309
}
315310

316311
@Override
@@ -321,41 +316,31 @@ public void removeMediaCodecSurface() {
321316

322317
@Override
323318
public void addMediaCodecRecordSurface(Surface surface) {
324-
ExecutorService executor = this.executor;
325-
if (executor == null) return;
326-
ExtensionsKt.secureSubmit(executor, () -> {
327-
if (surfaceManager.isReady()) {
328-
surfaceManagerEncoderRecord.release();
329-
surfaceManagerEncoderRecord.eglSetup(surface, surfaceManager);
330-
}
331-
return null;
332-
});
319+
if (surfaceManager.isReady()) {
320+
surfaceManagerEncoderRecord.release();
321+
surfaceManagerEncoderRecord.eglSetup(surface, surfaceManager);
322+
}
333323
}
334324

335325
@Override
336326
public void removeMediaCodecRecordSurface() {
337327
threadQueue.clear();
338-
ExecutorService executor = this.executor;
339-
if (executor == null) return;
340-
ExtensionsKt.secureSubmit(executor, () -> {
341-
surfaceManagerEncoderRecord.release();
342-
return null;
343-
});
328+
surfaceManagerEncoderRecord.release();
344329
}
345330

346331
@Override
347332
public void start() {
348333
threadQueue.clear();
349334
executor = ExtensionsKt.newSingleThreadExecutor(threadQueue);
335+
surfaceManager.release();
336+
surfaceManager.eglSetup(getHolder().getSurface());
337+
surfaceManagerPhoto.release();
338+
surfaceManagerPhoto.eglSetup(encoderWidth, encoderHeight, surfaceManager);
339+
running.set(true);
350340
ExecutorService executor = this.executor;
351341
ExtensionsKt.secureSubmit(executor, () -> {
352-
surfaceManager.release();
353-
surfaceManager.eglSetup(getHolder().getSurface());
354342
surfaceManager.makeCurrent();
355343
mainRender.initGl(getContext(), encoderWidth, encoderHeight, encoderWidth, encoderHeight);
356-
surfaceManagerPhoto.release();
357-
surfaceManagerPhoto.eglSetup(encoderWidth, encoderHeight, surfaceManager);
358-
running.set(true);
359344
mainRender.getSurfaceTexture().setOnFrameAvailableListener(this);
360345
forceRenderer.start(() -> {
361346
ExecutorService ex = this.executor;
@@ -388,7 +373,6 @@ public void stop() {
388373
surfaceManagerEncoderRecord.release();
389374
surfaceManager.release();
390375
mainRender.release();
391-
392376
}
393377

394378
@Override

0 commit comments

Comments
 (0)