You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
flvdec: Add sanity checking of the last packet size
For http, this avoids spurious warnings about failed requests (e.g. HTTP error 416 Requested Range Not Satisfiable), if the last packet is truncated and the size read is bogus. Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
@@ -846,6 +846,7 @@ skip:
|
||||
const int64_t fsize = avio_size(s->pb);
|
||||
avio_seek(s->pb, fsize - 4, SEEK_SET);
|
||||
size = avio_rb32(s->pb);
|
||||
if (size > 0 && size < fsize) {
|
||||
// Seek to the start of the last FLV tag at position (fsize - 4 - size)
|
||||
// but skip the byte indicating the type.
|
||||
avio_seek(s->pb, fsize - 3 - size, SEEK_SET);
|
||||
@@ -854,6 +855,7 @@ skip:
|
||||
ts |= avio_r8(s->pb) << 24;
|
||||
s->duration = ts * (int64_t)AV_TIME_BASE / 1000;
|
||||
}
|
||||
}
|
||||
avio_seek(s->pb, pos, SEEK_SET);
|
||||
flv->searched_for_end = 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user