/** Start the player */
  public synchronized void start() {
    if (!opened) {
      // Player not opened
      return;
    }

    if (started) {
      // Already started
      return;
    }

    // Init NAL
    if (!initNAL()) {
      return;
    }
    nalInit = false;
    timeStamp = 0;

    // Start RTP layer
    rtpSender.startSession();

    // Player is started
    videoStartTime = SystemClock.uptimeMillis();
    started = true;
    frameProcess = new FrameProcess(selectedVideoCodec.getFramerate());
    frameProcess.start();
    notifyPlayerEventStarted();
  }