m3u8使用`ignoreFailureTs`后将不会自动重试失败的切片 https://github.com/AriaLyy/Aria/issues/662
This commit is contained in:
laoyuyu
2020-08-13 21:06:06 +08:00
parent ff0796c580
commit 86aeac0ad8
10 changed files with 25 additions and 18 deletions

View File

@@ -118,7 +118,8 @@ final public class M3U8InfoTask implements IInfoTask {
private void handleConnect(String tsListUrl, HttpURLConnection conn) throws IOException {
int code = conn.getResponseCode();
if (code == HttpURLConnection.HTTP_OK) {
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
BufferedReader reader =
new BufferedReader(new InputStreamReader(ConnectionHelp.convertInputStream(conn)));
String line = reader.readLine();
if (TextUtils.isEmpty(line) || !line.equalsIgnoreCase("#EXTM3U")) {
failDownload("读取M3U8信息失败读取不到#EXTM3U标签", false);
@@ -394,7 +395,7 @@ final public class M3U8InfoTask implements IInfoTask {
ConnectionHelp.setConnectParam(mHttpOption, conn);
conn.setConnectTimeout(mConnectTimeOut);
conn.connect();
InputStream is = conn.getInputStream();
InputStream is = ConnectionHelp.convertInputStream(conn);
fos = new FileOutputStream(keyF);
byte[] buffer = new byte[1024];
int len;

View File

@@ -196,6 +196,7 @@ final class M3U8LiveLoader extends BaseM3U8Loader {
config.peerIndex = indexId;
config.threadType = SubThreadConfig.getThreadType(ITaskWrapper.M3U8_LIVE);
config.updateInterval = SubThreadConfig.getUpdateInterval(ITaskWrapper.M3U8_LIVE);
config.ignoreFailure = mM3U8Option.isIgnoreFailureTs();
if (!config.tempFile.exists()) {
FileUtil.createFile(config.tempFile);
}

View File

@@ -486,6 +486,7 @@ final class M3U8VodLoader extends BaseM3U8Loader {
config.peerIndex = index;
config.threadType = SubThreadConfig.getThreadType(ITaskWrapper.M3U8_LIVE);
config.updateInterval = SubThreadConfig.getUpdateInterval(ITaskWrapper.M3U8_LIVE);
config.ignoreFailure = mM3U8Option.isIgnoreFailureTs();
if (!config.tempFile.exists()) {
FileUtil.createFile(config.tempFile);
}