|
|
|
@ -102,11 +102,12 @@ static void free_encryption(AVFormatContext *s) |
|
|
|
|
av_freep(&hls->key_basename); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int dict_set_bin(AVDictionary **dict, const char *key, uint8_t *buf) |
|
|
|
|
static int dict_set_bin(AVDictionary **dict, const char *key, |
|
|
|
|
uint8_t *buf, size_t len) |
|
|
|
|
{ |
|
|
|
|
char hex[33]; |
|
|
|
|
|
|
|
|
|
ff_data_to_hex(hex, buf, sizeof(buf), 0); |
|
|
|
|
ff_data_to_hex(hex, buf, len, 0); |
|
|
|
|
hex[32] = '\0'; |
|
|
|
|
|
|
|
|
|
return av_dict_set(dict, key, hex, 0); |
|
|
|
@ -136,7 +137,7 @@ static int setup_encryption(AVFormatContext *s) |
|
|
|
|
return AVERROR(EINVAL); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "key", hls->key)) < 0) |
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "key", hls->key, hls->key_len)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
k = hls->key; |
|
|
|
|
} else { |
|
|
|
@ -145,7 +146,7 @@ static int setup_encryption(AVFormatContext *s) |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "key", buf)) < 0) |
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "key", buf, sizeof(buf))) < 0) |
|
|
|
|
return ret; |
|
|
|
|
k = buf; |
|
|
|
|
} |
|
|
|
@ -158,7 +159,7 @@ static int setup_encryption(AVFormatContext *s) |
|
|
|
|
return AVERROR(EINVAL); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "iv", hls->iv)) < 0) |
|
|
|
|
if ((ret = dict_set_bin(&hls->enc_opts, "iv", hls->iv, hls->iv_len)) < 0) |
|
|
|
|
return ret; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|