Commit 6fbfb20f authored by Steven Liu's avatar Steven Liu

avformat/hls: remove redundant code

Reviewed-by: 's avatarJun Zhao <mypopydev@gmail.com>
Signed-off-by: 's avatarSteven Liu <lq@chinaffmpeg.org>
parent b3b3a3e3
...@@ -937,14 +937,8 @@ static struct segment *next_segment(struct playlist *pls) ...@@ -937,14 +937,8 @@ static struct segment *next_segment(struct playlist *pls)
return pls->segments[n]; return pls->segments[n];
} }
enum ReadFromURLMode {
READ_NORMAL,
READ_COMPLETE,
};
static int read_from_url(struct playlist *pls, struct segment *seg, static int read_from_url(struct playlist *pls, struct segment *seg,
uint8_t *buf, int buf_size, uint8_t *buf, int buf_size)
enum ReadFromURLMode mode)
{ {
int ret; int ret;
...@@ -952,12 +946,9 @@ static int read_from_url(struct playlist *pls, struct segment *seg, ...@@ -952,12 +946,9 @@ static int read_from_url(struct playlist *pls, struct segment *seg,
if (seg->size >= 0) if (seg->size >= 0)
buf_size = FFMIN(buf_size, seg->size - pls->cur_seg_offset); buf_size = FFMIN(buf_size, seg->size - pls->cur_seg_offset);
if (mode == READ_COMPLETE) {
ret = avio_read(pls->input, buf, buf_size); ret = avio_read(pls->input, buf, buf_size);
if (ret != buf_size) if (ret != buf_size)
av_log(NULL, AV_LOG_ERROR, "Could not read complete segment.\n"); av_log(NULL, AV_LOG_ERROR, "Could not read complete segment.\n");
} else
ret = avio_read(pls->input, buf, buf_size);
if (ret > 0) if (ret > 0)
pls->cur_seg_offset += ret; pls->cur_seg_offset += ret;
...@@ -1077,7 +1068,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf, ...@@ -1077,7 +1068,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf,
while (1) { while (1) {
/* see if we can retrieve enough data for ID3 header */ /* see if we can retrieve enough data for ID3 header */
if (*len < ID3v2_HEADER_SIZE && buf_size >= ID3v2_HEADER_SIZE) { if (*len < ID3v2_HEADER_SIZE && buf_size >= ID3v2_HEADER_SIZE) {
bytes = read_from_url(pls, seg, buf + *len, ID3v2_HEADER_SIZE - *len, READ_COMPLETE); bytes = read_from_url(pls, seg, buf + *len, ID3v2_HEADER_SIZE - *len);
if (bytes > 0) { if (bytes > 0) {
if (bytes == ID3v2_HEADER_SIZE - *len) if (bytes == ID3v2_HEADER_SIZE - *len)
...@@ -1129,7 +1120,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf, ...@@ -1129,7 +1120,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf,
if (remaining > 0) { if (remaining > 0) {
/* read the rest of the tag in */ /* read the rest of the tag in */
if (read_from_url(pls, seg, pls->id3_buf + id3_buf_pos, remaining, READ_COMPLETE) != remaining) if (read_from_url(pls, seg, pls->id3_buf + id3_buf_pos, remaining) != remaining)
break; break;
id3_buf_pos += remaining; id3_buf_pos += remaining;
av_log(pls->ctx, AV_LOG_DEBUG, "Stripped additional %d HLS ID3 bytes\n", remaining); av_log(pls->ctx, AV_LOG_DEBUG, "Stripped additional %d HLS ID3 bytes\n", remaining);
...@@ -1143,7 +1134,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf, ...@@ -1143,7 +1134,7 @@ static void intercept_id3(struct playlist *pls, uint8_t *buf,
/* re-fill buffer for the caller unless EOF */ /* re-fill buffer for the caller unless EOF */
if (*len >= 0 && (fill_buf || *len == 0)) { if (*len >= 0 && (fill_buf || *len == 0)) {
bytes = read_from_url(pls, seg, buf + *len, buf_size - *len, READ_NORMAL); bytes = read_from_url(pls, seg, buf + *len, buf_size - *len);
/* ignore error if we already had some data */ /* ignore error if we already had some data */
if (bytes >= 0) if (bytes >= 0)
...@@ -1303,7 +1294,7 @@ static int update_init_section(struct playlist *pls, struct segment *seg) ...@@ -1303,7 +1294,7 @@ static int update_init_section(struct playlist *pls, struct segment *seg)
av_fast_malloc(&pls->init_sec_buf, &pls->init_sec_buf_size, sec_size); av_fast_malloc(&pls->init_sec_buf, &pls->init_sec_buf_size, sec_size);
ret = read_from_url(pls, seg->init_section, pls->init_sec_buf, ret = read_from_url(pls, seg->init_section, pls->init_sec_buf,
pls->init_sec_buf_size, READ_COMPLETE); pls->init_sec_buf_size);
ff_format_io_close(pls->parent, &pls->input); ff_format_io_close(pls->parent, &pls->input);
if (ret < 0) if (ret < 0)
...@@ -1498,7 +1489,7 @@ reload: ...@@ -1498,7 +1489,7 @@ reload:
} }
seg = current_segment(v); seg = current_segment(v);
ret = read_from_url(v, seg, buf, buf_size, READ_NORMAL); ret = read_from_url(v, seg, buf, buf_size);
if (ret > 0) { if (ret > 0) {
if (just_opened && v->is_id3_timestamped != 0) { if (just_opened && v->is_id3_timestamped != 0) {
/* Intercept ID3 tags here, elementary audio streams are required /* Intercept ID3 tags here, elementary audio streams are required
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment