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)); }