Example #1
0
  private static boolean canStream(DownloadManager dm, int file_index) {
    if (dm == null) {

      return (false);
    }

    org.gudy.azureus2.core3.disk.DiskManagerFileInfo file;

    if (file_index == -1) {

      file = dm.getDownloadState().getPrimaryFile();
      if (file == null) {
        org.gudy.azureus2.core3.disk.DiskManagerFileInfo[] files =
            dm.getDiskManagerFileInfoSet().getFiles();
        if (files.length == 0) {
          return false;
        }
        file = files[0];
      }

      file_index = file.getIndex();

    } else {

      file = dm.getDiskManagerFileInfoSet().getFiles()[file_index];
    }

    if (file.getDownloaded() == file.getLength()) {

      return (false);
    }

    if (!StreamManager.getSingleton().isStreamingUsable()) {

      return (false);
    }

    TOTorrent torrent = dm.getTorrent();

    return (canUseEMP(torrent, file_index, false));
  }