protected void release(){
  if (DEBUG)   Log.d(TAG,"release:");
  try {
    mListener.onStopped(this);
  }
 catch (  final Exception e) {
    Log.e(TAG,"failed onStopped",e);
  }
  mIsCapturing=false;
  if (mMediaCodec != null) {
    try {
      mMediaCodec.stop();
      mMediaCodec.release();
      mMediaCodec=null;
    }
 catch (    final Exception e) {
      Log.e(TAG,"failed releasing MediaCodec",e);
    }
  }
  if (mMuxerStarted) {
    final MediaMuxerWrapper muxer=mWeakMuxer != null ? mWeakMuxer.get() : null;
    if (muxer != null) {
      try {
        muxer.stop();
      }
 catch (      final Exception e) {
        Log.e(TAG,"failed stopping muxer",e);
      }
    }
  }
  mBufferInfo=null;
}

protected void release ( ) { if ( DEBUG ) Log . d ( TAG , "release:" ) ; try { mListener . onStopped ( this ) ; } catch ( final Exception e ) { Log . e ( TAG , "failed onStopped" , e ) ; } mIsCapturing = false ; if ( mMediaCodec != null ) { try { mMediaCodec . stop ( ) ; mMediaCodec . release ( ) ; mMediaCodec = null ; } catch ( final Exception e ) { Log . e ( TAG , "failed releasing MediaCodec" , e ) ; } } if ( mMuxerStarted ) { final MediaMuxerWrapper muxer = mWeakMuxer != null ? mWeakMuxer . get ( ) : null ; if ( muxer != null ) { try { muxer . stop ( ) ; } catch ( final Exception e ) { Log . e ( TAG , "failed stopping muxer" , e ) ; } } } mBufferInfo = null ; }
release all releated objects
