mirror of https://git.ffmpeg.org/ffmpeg.git
lavf/utils: add error check in av_read_frame()
In particular, fix crash when the input file contains no packets (e.g. an ffmeta input).
This commit is contained in:
parent
127b70e423
commit
64d340c62a
|
@ -1409,12 +1409,19 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt)
|
|||
AVStream *st;
|
||||
|
||||
if (!genpts) {
|
||||
ret = s->packet_buffer ? read_from_packet_buffer(&s->packet_buffer,
|
||||
&s->packet_buffer_end,
|
||||
pkt) :
|
||||
while (1) {
|
||||
ret = s->packet_buffer ?
|
||||
read_from_packet_buffer(&s->packet_buffer, &s->packet_buffer_end, pkt) :
|
||||
read_frame_internal(s, pkt);
|
||||
if (ret < 0) {
|
||||
if (ret == AVERROR(EAGAIN))
|
||||
continue;
|
||||
else
|
||||
return ret;
|
||||
}
|
||||
goto return_packet;
|
||||
}
|
||||
}
|
||||
|
||||
for (;;) {
|
||||
AVPacketList *pktl = s->packet_buffer;
|
||||
|
|
Loading…
Reference in New Issue