Advertisement
Guest User

Chunking MediaCodec output with Surface input

a guest
Oct 1st, 2013
155
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.73 KB | None | 0 0
  1. Every X frames I call chunkRecording() after drainEncoder(true):
  2.  
  3. private void chunkRecording(){
  4.         stopEncoder();
  5.     restartMuxerForNextChunk();
  6.         mVideoEncoder = MediaCodec.createEncoderByType(MIME_TYPE);
  7.         mVideoEncoder.configure(mVideoFormat, null, null, MediaCodec.CONFIGURE_FLAG_ENCODE);
  8.         mInputSurface.updateSurface(mVideoEncoder.createInputSurface());
  9.         mVideoEncoder.start();
  10.         mInputSurface.makeCurrent();
  11.         mStManager.signalSurfaceCreated(); // calls mTextureRender.surfaceCreated();
  12. }
  13.  
  14. private static class CodecInputSurface {
  15.   ...
  16.   public void updateSurface(Surface newSurface){
  17.             release();
  18.             mSurface = newSurface;
  19.             eglSetup();
  20.   }
  21.  
  22. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement