mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-28 20:53:54 +02:00
hls: fix min DTS code, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
bf606334ad
commit
3ac754b93b
@ -646,11 +646,21 @@ start:
|
||||
}
|
||||
/* Check if this stream has the packet with the lowest dts */
|
||||
if (var->pkt.data) {
|
||||
struct variant *minvar = c->variants[minvariant];
|
||||
if (minvariant < 0 ||
|
||||
av_compare_ts(var->pkt.dts, var->ctx->streams[var->pkt.stream_index]->time_base,
|
||||
minvar->pkt.dts, minvar->ctx->streams[minvar->pkt.stream_index]->time_base) > 0)
|
||||
if(minvariant < 0) {
|
||||
minvariant = i;
|
||||
} else {
|
||||
struct variant *minvar = c->variants[minvariant];
|
||||
int64_t dts = var->pkt.dts;
|
||||
int64_t mindts = minvar->pkt.dts;
|
||||
AVStream *st = var->ctx->streams[ var->pkt.stream_index];
|
||||
AVStream *minst= minvar->ctx->streams[minvar->pkt.stream_index];
|
||||
|
||||
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, st->time_base, mindts, minst->time_base) < 0)
|
||||
minvariant = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (c->end_of_segment) {
|
||||
|
Loading…
Reference in New Issue
Block a user