Browse Source

avformat/utils: Don't create unnecessary references

When AVFMT_FLAG_GENPTS is set, av_read_frame would put a reference to a
packet in the packet list (via av_packet_ref) and then immediately
thereafter unreference the original packet. This has been changed to
move the reference instead.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tags/n4.3
Andreas Rheinhardt James Almer 5 years ago
parent
commit
ada02cf85f
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      libavformat/utils.c

+ 4
- 3
libavformat/utils.c View File

@@ -1858,10 +1858,11 @@ int av_read_frame(AVFormatContext *s, AVPacket *pkt)

ret = ff_packet_list_put(&s->internal->packet_buffer,
&s->internal->packet_buffer_end,
pkt, FF_PACKETLIST_FLAG_REF_PACKET);
av_packet_unref(pkt);
if (ret < 0)
pkt, 0);
if (ret < 0) {
av_packet_unref(pkt);
return ret;
}
}

return_packet:


Loading…
Cancel
Save