docs: @Subscribe
      public void onManifestUpdated(HlsManifestWrittenEvent e) {
          if (!isRecording()) {
              if (Kickflip.getBroadcastListener() != null) {
                  if (VERBOSE) Log.i(TAG, "Sending onBroadcastStop");
                  Kickflip.getBroadcastListener().onBroadcastStop();
              }
          }
          if (VERBOSE) Log.i(TAG, "onManifestUpdated. Last segment? " + !isRecording());
          // Copy m3u8 at this moment and queue it to uploading
          // service
          final File copy = new File(mManifestSnapshotDir, e.getManifestFile().getName()
                  .replace(".m3u8", "_" + mNumSegmentsWritten + ".m3u8"));
          try {
              if (VERBOSE)
                  Log.i(TAG, "Copying " + e.getManifestFile().getAbsolutePath() + " to " + copy.getAbsolutePath());
              FileUtils.copy(e.getManifestFile(), copy);
              queueOrSubmitUpload(keyForFilename("index.m3u8"), copy);
              appendLastManifestEntryToEventManifest(copy, !isRecording());
          } catch (IOException e1) {
              Log.e(TAG, "Failed to copy manifest file. Upload of this manifest cannot proceed. Stream will have a discontinuity!");
              e1.printStackTrace();
          }
  
          mNumSegmentsWritten++;
      }