8000 Remove file thread, change AAC profile · flutter-webrtc/flutter-webrtc@1107e32 · GitHub
[go: up one dir, main page]

Skip to content

Commit 1107e32

Browse files
committed
Remove file thread, change AAC profile
1 parent ea5bd06 commit 1107e32

File tree

1 file changed

+3
-23
lines changed

1 file changed

+3
-23
lines changed

android/src/main/java/com/cloudwebrtc/webrtc/record/VideoFileRenderer.java

Lines changed: 3 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ class VideoFileRenderer implements VideoSink, SamplesReadyCallback {
2727
private static final String TAG = "VideoFileRenderer";
2828
private final HandlerThread renderThread;
2929
private final Handler renderThreadHandler;
30-
private final HandlerThread fileThread;
31-
private final Handler fileThreadHandler;
3230
private final HandlerThread audioThread;
3331
private final Handler audioThreadHandler;
3432
private final FileOutputStream videoOutFile;
@@ -63,8 +61,6 @@ class VideoFileRenderer implements VideoSink, SamplesReadyCallback {
6361
renderThread = new HandlerThread(TAG + "RenderThread");
6462
renderThread.start();
6563
renderThreadHandler = new Handler(renderThread.getLooper());
66-
fileThread = new HandlerThread(TAG + "FileThread");
67-
fileThread.start();
6864
if (withAudio) {
6965
audioThread = new HandlerThread(TAG + "AudioThread");
7066
audioThread.start();
@@ -73,7 +69,6 @@ class VideoFileRenderer implements VideoSink, SamplesReadyCallback {
7369
audioThread = null;
7470
audioThreadHandler = null;
7571
}
76-
fileThreadHandler = new Handler(fileThread.getLooper());
7772
bufferInfo = new MediaCodec.BufferInfo();
7873
this.sharedContext = sharedContext;
7974

@@ -159,23 +154,8 @@ void release() {
159154
cleanupBarrier.countDown();
160155
}
161156
ThreadUtils.awaitUninterruptibly(cleanupBarrier);
162-
fileThreadHandler.post(() -> {
163-
mediaMuxer.stop();
164-
mediaMuxer.release();
165-
try {
166-
videoOutFile.close();
167-
Log.d(TAG, "Video written to disk as " + outputFileName);
168-
} catch (IOException e) {
169-
throw new RuntimeException("Error closing output file", e);
170-
}
171-
fileThread.quit();
172-
});
173-
try {
174-
fileThread.join();
175-
} catch (InterruptedException e) {
176-
Thread.currentThread().interrupt();
177-
Log.e(TAG, "Interrupted while waiting for the write to disk to complete.", e);
178-
}
157+
mediaMuxer.stop();
158+
mediaMuxer.release();
179159
}
180160

181161
private boolean encoderStarted = false;
@@ -308,7 +288,7 @@ public void onWebRtcAudioRecordSamplesReady(JavaAudioDeviceModule.AudioSamples a
308288
format.setInteger(MediaFormat.KEY_CHANNEL_COUNT, audioSamples.getChannelCount());
309289
format.setInteger(MediaFormat.KEY_SAMPLE_RATE, audioSamples.getSampleRate());
310290
format.setInteger(MediaFormat.KEY_BIT_RATE, 64 * 1024);
311-
format.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectMain);
291+
format.setInteger(MediaFormat.KEY_AAC_PROFILE, MediaCodecInfo.CodecProfileLevel.AACObjectLC);
312292
audioEncoder.configure(format, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
313293
audioEncoder.start();
314294
audioInputBuffers = audioEncoder.getInputBuffers();

0 commit comments

Comments
 (0)
0