Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Every X frames I call chunkRecording() after drainEncoder(true):
- private void chunkRecording(){
- stopEncoder();
- restartMuxerForNextChunk();
- mVideoEncoder = MediaCodec.createEncoderByType(MIME_TYPE);
- mVideoEncoder.configure(mVideoFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
- mInputSurface.updateSurface(mVideoEncoder.createInputSurface());
- mVideoEncoder.start();
- mInputSurface.makeCurrent();
- mStManager.signalSurfaceCreated(); // calls mTextureRender.surfaceCreated();
- }
- private static class CodecInputSurface {
- ...
- public void updateSurface(Surface newSurface){
- release();
- mSurface = newSurface;
- eglSetup();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement