diff --git a/ffplay.c b/ffplay.c index 964408bcc378be7ed9699912e2b48c4e9c90ea4b..c3af2593280baf6c1a678553846f3b5b4c18d489 100644 --- a/ffplay.c +++ b/ffplay.c @@ -282,7 +282,7 @@ static int packet_queue_put(PacketQueue *q, AVPacket *pkt) q->last_pkt->next = pkt1; q->last_pkt = pkt1; q->nb_packets++; - q->size += pkt1->pkt.size; + q->size += pkt1->pkt.size + sizeof(*pkt1); /* XXX: should duplicate packet data in DV case */ SDL_CondSignal(q->cond); @@ -321,7 +321,7 @@ static int packet_queue_get(PacketQueue *q, AVPacket *pkt, int block) if (!q->first_pkt) q->last_pkt = NULL; q->nb_packets--; - q->size -= pkt1->pkt.size; + q->size -= pkt1->pkt.size + sizeof(*pkt1); *pkt = pkt1->pkt; av_free(pkt1); ret = 1;