mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-03-05 03:58:00 +00:00
lavf/utils: remove loop on AVERROR(EAGAIN) in av_read_frame()
The loop was introduced in 64d340c62a
, and
was likely breaking non blocking reads as it busy loops.
This commit is contained in:
parent
fd63c2ff0c
commit
bbe9fe469a
@ -1409,18 +1409,12 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt)
|
|||||||
AVStream *st;
|
AVStream *st;
|
||||||
|
|
||||||
if (!genpts) {
|
if (!genpts) {
|
||||||
while (1) {
|
ret = s->packet_buffer ?
|
||||||
ret = s->packet_buffer ?
|
read_from_packet_buffer(&s->packet_buffer, &s->packet_buffer_end, pkt) :
|
||||||
read_from_packet_buffer(&s->packet_buffer, &s->packet_buffer_end, pkt) :
|
read_frame_internal(s, pkt);
|
||||||
read_frame_internal(s, pkt);
|
if (ret < 0)
|
||||||
if (ret < 0) {
|
return ret;
|
||||||
if (ret == AVERROR(EAGAIN))
|
goto return_packet;
|
||||||
continue;
|
|
||||||
else
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
goto return_packet;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
Loading…
Reference in New Issue
Block a user