diff options
author | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2015-09-22 13:40:20 +0200 |
---|---|---|
committer | Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com> | 2015-10-12 21:46:54 +0200 |
commit | 173053a1252cfa67c1e4e2d2cf9484b44bfee2e3 (patch) | |
tree | 2f6e06725bfccc84ae8571abc8bf9ded53d7dd4f | |
parent | 8118fdf8bb92dbd91929e734cd136e3e2e41fdcb (diff) | |
download | ffmpeg-173053a1252cfa67c1e4e2d2cf9484b44bfee2e3.tar.gz |
hls: only seek if there is an offset
If there is no #EXT-X-BYTERANGE specified, there is no need to seek.
Seeking fails anyway for rtmp, because this protocol does not support
url_seek.
This fixes CNN.m3u from trac ticket 4797 (i.e. Debian bug #798189).
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
(cherry picked from commit f9f0b4c08e7dc2c178ede137af4f64ca84ab2deb)
Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
-rw-r--r-- | libavformat/hls.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c index 6df95d4041..adaa33aa10 100644 --- a/libavformat/hls.c +++ b/libavformat/hls.c @@ -1043,7 +1043,7 @@ static int open_input(HLSContext *c, struct playlist *pls) /* Seek to the requested position. If this was a HTTP request, the offset * should already be where want it to, but this allows e.g. local testing * without a HTTP server. */ - if (ret == 0 && seg->key_type == KEY_NONE) { + if (ret == 0 && seg->key_type == KEY_NONE && seg->url_offset) { int seekret = ffurl_seek(pls->input, seg->url_offset, SEEK_SET); if (seekret < 0) { av_log(pls->parent, AV_LOG_ERROR, "Unable to seek to offset %"PRId64" of HLS segment '%s'\n", seg->url_offset, seg->url); |