aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnssi Hannula <anssi.hannula@iki.fi>2013-12-30 11:46:01 +0200
committerAnssi Hannula <anssi.hannula@iki.fi>2014-04-06 17:55:03 +0300
commit8fd6875c83d511dc20390052ccd4d1d567ece152 (patch)
tree9440fd7bdf4079808b30a52574e7fec1697c9142
parentd549b0910c3471beb9ef268ce0d70d3ab9ed7bb3 (diff)
downloadffmpeg-8fd6875c83d511dc20390052ccd4d1d567ece152.tar.gz
avformat/hls: do not care about stream start timestamps
While selecting a packet to return to caller in read_packet(), the code corrects the timestamps for starting timestamps. However, this is wrong, since for live streams the initial timestamps might differ just because of the time delay between the retrieval of the various Media Playlists. Fortunately, spec 6.2.4 mandates that all variant streams must have matching timestamps, so we do not need to correct for initial timestamps. Drop the correction code. Note that ID3 timestamps were previously ignored, so this code was previously actually needed. Signed-off-by: Anssi Hannula <anssi.hannula@iki.fi>
-rw-r--r--libavformat/hls.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/libavformat/hls.c b/libavformat/hls.c
index b3019f3e68..30df7a9538 100644
--- a/libavformat/hls.c
+++ b/libavformat/hls.c
@@ -1528,19 +1528,12 @@ start:
} else if (pls->cur_seq_no == minpls->cur_seq_no) {
int64_t dts = pls->pkt.dts;
int64_t mindts = minpls->pkt.dts;
- AVStream *st = pls->ctx->streams[pls->pkt.stream_index];
- AVStream *minst = minpls->ctx->streams[minpls->pkt.stream_index];
AVRational tb = get_timebase( pls);
AVRational mintb = get_timebase(minpls);
if (dts == AV_NOPTS_VALUE) {
minplaylist = i;
} else if (mindts != AV_NOPTS_VALUE) {
- if (st->start_time != AV_NOPTS_VALUE)
- dts -= st->start_time;
- if (minst->start_time != AV_NOPTS_VALUE)
- mindts -= minst->start_time;
-
if (av_compare_ts(dts, tb,
mindts, mintb) < 0)
minplaylist = i;