コード例 #1
0
  @Override
  public void prepare(EncodingConfig config) {
    super.prepare(config);
    getConfig().setMuxerState(EncodingConfig.MUXER_STATE.PREPARING);
    mReady = false;

    videoConfig = null;
    audioConfig = null;
    mH264Keyframe = null;
    mH264MetaSize = -1;
    mStarted = false;
    mEncoderReleased = false;
    mFFmpeg.init(getConfig().getAVOptions());

    if (formatRequiresADTS()) mCachedAudioPacket = new byte[1024];

    if (formatRequiresBuffering()) {
      mMuxerInputQueue = new ArrayList<ArrayDeque<ByteBuffer>>();
      startMuxingThread();
    } else {
      getConfig().setMuxerState(EncodingConfig.MUXER_STATE.READY);
      mReady = true;
    }
  }