|
@ -9,7 +9,7 @@ |
|
|
AVIOContext *playlist_pb; |
|
|
AVIOContext *playlist_pb; |
|
|
} HLSContext; |
|
|
} HLSContext; |
|
|
|
|
|
|
|
|
@@ -1250,8 +1252,16 @@
|
|
|
@@ -1256,8 +1258,16 @@
|
|
|
} else if (seg->key_type == KEY_AES_128) { |
|
|
} else if (seg->key_type == KEY_AES_128) { |
|
|
char iv[33], key[33], url[MAX_URL_SIZE]; |
|
|
char iv[33], key[33], url[MAX_URL_SIZE]; |
|
|
if (strcmp(seg->key, pls->key_url)) { |
|
|
if (strcmp(seg->key, pls->key_url)) { |
|
@ -27,7 +27,7 @@ |
|
|
ret = avio_read(pb, pls->key, sizeof(pls->key)); |
|
|
ret = avio_read(pb, pls->key, sizeof(pls->key)); |
|
|
if (ret != sizeof(pls->key)) { |
|
|
if (ret != sizeof(pls->key)) { |
|
|
av_log(pls->parent, AV_LOG_ERROR, "Unable to read key file %s\n", |
|
|
av_log(pls->parent, AV_LOG_ERROR, "Unable to read key file %s\n", |
|
|
@@ -1263,6 +1273,8 @@
|
|
|
@@ -1269,6 +1279,8 @@
|
|
|
seg->key); |
|
|
seg->key); |
|
|
} |
|
|
} |
|
|
av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); |
|
|
av_strlcpy(pls->key_url, seg->key, sizeof(pls->key_url)); |
|
@ -36,7 +36,7 @@ |
|
|
} |
|
|
} |
|
|
ff_data_to_hex(iv, seg->iv, sizeof(seg->iv), 0); |
|
|
ff_data_to_hex(iv, seg->iv, sizeof(seg->iv), 0); |
|
|
ff_data_to_hex(key, pls->key, sizeof(pls->key), 0); |
|
|
ff_data_to_hex(key, pls->key, sizeof(pls->key), 0); |
|
|
@@ -2399,6 +2411,8 @@
|
|
|
@@ -2405,6 +2417,8 @@
|
|
|
OFFSET(http_multiple), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, FLAGS}, |
|
|
OFFSET(http_multiple), AV_OPT_TYPE_BOOL, {.i64 = -1}, -1, 1, FLAGS}, |
|
|
{"http_seekable", "Use HTTP partial requests, 0 = disable, 1 = enable, -1 = auto", |
|
|
{"http_seekable", "Use HTTP partial requests, 0 = disable, 1 = enable, -1 = auto", |
|
|
OFFSET(http_seekable), AV_OPT_TYPE_BOOL, { .i64 = -1}, -1, 1, FLAGS}, |
|
|
OFFSET(http_seekable), AV_OPT_TYPE_BOOL, { .i64 = -1}, -1, 1, FLAGS}, |