From ac6b37de4b10d105bb78ab5cd0d8fa176ec0e7eb Mon Sep 17 00:00:00 2001 From: Harlan Date: Sun, 12 Aug 2018 14:10:18 +0800 Subject: [PATCH] rewrite ff_data_to_hex --- trunk/src/app/srs_app_hls.cpp | 2 +- trunk/src/kernel/srs_kernel_utility.cpp | 29 ++++++++++--------------- trunk/src/kernel/srs_kernel_utility.hpp | 2 +- 3 files changed, 13 insertions(+), 20 deletions(-) diff --git a/trunk/src/app/srs_app_hls.cpp b/trunk/src/app/srs_app_hls.cpp index 24af1e14b..b403439bd 100644 --- a/trunk/src/app/srs_app_hls.cpp +++ b/trunk/src/app/srs_app_hls.cpp @@ -771,7 +771,7 @@ srs_error_t SrsHlsMuxer::_refresh_m3u8(string m3u8_file) { string filename = req->stream+"-"+srs_int2str(segment->sequence_no)+".key"; char hexiv[33]; - ff_data_to_hex(hexiv,segment->iv,16,0); + srs_data_to_hex(hexiv,segment->iv,16); hexiv[32] = '\0'; string key_path; //if key_url is not set,only use the file name diff --git a/trunk/src/kernel/srs_kernel_utility.cpp b/trunk/src/kernel/srs_kernel_utility.cpp index 2e69069f2..2f421cce8 100644 --- a/trunk/src/kernel/srs_kernel_utility.cpp +++ b/trunk/src/kernel/srs_kernel_utility.cpp @@ -1051,25 +1051,18 @@ int srs_do_create_dir_recursively(string dir) return c; } - char *ff_data_to_hex(char *buff, const uint8_t *src, int s, int lowercase) + char *srs_data_to_hex(char *des,const u_int8_t *src,int len) { - int i; - static const char hex_table_uc[16] = { '0', '1', '2', '3', - '4', '5', '6', '7', - '8', '9', 'A', 'B', - 'C', 'D', 'E', 'F' }; - static const char hex_table_lc[16] = { '0', '1', '2', '3', - '4', '5', '6', '7', - '8', '9', 'a', 'b', - 'c', 'd', 'e', 'f' }; - const char *hex_table = lowercase ? hex_table_lc : hex_table_uc; - - for (i = 0; i < s; i++) { - buff[i * 2] = hex_table[src[i] >> 4]; - buff[i * 2 + 1] = hex_table[src[i] & 0xF]; - } - - return buff; + if(src == NULL || len == 0 || des == NULL){ + return NULL; + } + const char *hex_table = "0123456789ABCDEF"; + for (int i=0; i> 4]; + des[i * 2 + 1] = hex_table[src[i] & 0x0F]; + } + + return des; } int ff_hex_to_data(uint8_t* data, const char* p) diff --git a/trunk/src/kernel/srs_kernel_utility.hpp b/trunk/src/kernel/srs_kernel_utility.hpp index 0403d1d4b..6ead50e40 100644 --- a/trunk/src/kernel/srs_kernel_utility.hpp +++ b/trunk/src/kernel/srs_kernel_utility.hpp @@ -184,7 +184,7 @@ extern int ff_hex_to_data(uint8_t* data, const char* p); /** * convert data string to hex. */ -extern char *ff_data_to_hex(char *buff, const uint8_t *src, int s, int lowercase); +extern char *srs_data_to_hex(char *buff, const uint8_t *src, int s); /** * generate the c0 chunk header for msg.