--- fftools/ffplay.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/fftools/ffplay.c b/fftools/ffplay.c index e7b20be76b..4bef9a6ecc 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -424,19 +424,18 @@ int64_t get_valid_channel_layout(int64_t channel_layout, int channels) static int packet_queue_put_private(PacketQueue *q, AVPacket *pkt) { MyAVPacketList pkt1; + int ret; if (q->abort_request) return -1; - if (av_fifo_space(q->pkt_list) < sizeof(pkt1)) { - if (av_fifo_grow(q->pkt_list, sizeof(pkt1)) < 0) - return -1; - } pkt1.pkt = pkt; pkt1.serial = q->serial; - av_fifo_generic_write(q->pkt_list, &pkt1, sizeof(pkt1), NULL); + ret = av_fifo_write(q->pkt_list, &pkt1, 1); + if (ret < 0) + return ret; q->nb_packets++; q->size += pkt1.pkt->size + sizeof(pkt1); q->duration += pkt1.pkt->duration; @@ -477,7 +476,7 @@ static int packet_queue_put_nullpacket(PacketQueue *q, AVPacket *pkt, int stream static int packet_queue_init(PacketQueue *q) { memset(q, 0, sizeof(PacketQueue)); - q->pkt_list = av_fifo_alloc(sizeof(MyAVPacketList)); + q->pkt_list = av_fifo_alloc2(1, sizeof(MyAVPacketList), AV_FIFO_FLAG_AUTO_GROW); if (!q->pkt_list) return AVERROR(ENOMEM); q->mutex = SDL_CreateMutex(); @@ -499,8 +498,8 @@ static void packet_queue_flush(PacketQueue *q) MyAVPacketList pkt1; SDL_LockMutex(q->mutex); - while (av_fifo_size(q->pkt_list) >= sizeof(pkt1)) { - av_fifo_generic_read(q->pkt_list, &pkt1, sizeof(pkt1), NULL); + while (av_fifo_can_read(q->pkt_list)) { + av_fifo_read(q->pkt_list, &pkt1, 1); av_packet_free(&pkt1.pkt); } q->nb_packets = 0; @@ -551,8 +550,8 @@ static int packet_queue_get(PacketQueue *q, AVPacket *pkt, int block, int *seria break; } - if (av_fifo_size(q->pkt_list) >= sizeof(pkt1)) { - av_fifo_generic_read(q->pkt_list, &pkt1, sizeof(pkt1), NULL); + if (av_fifo_can_read(q->pkt_list)) { + av_fifo_read(q->pkt_list, &pkt1, 1); q->nb_packets--; q->size -= pkt1.pkt->size + sizeof(pkt1); q->duration -= pkt1.pkt->duration; -- 2.33.0 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".