[FFmpeg-cvslog] avformat/utils: Don't create unnecessary references

Andreas Rheinhardt git at videolan.org
Sun Sep 29 01:30:43 EEST 2019


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at gmail.com> | Sat Sep 28 04:42:24 2019 +0200| [ada02cf85fffd7806ac48e907f45082dd91efc18] | committer: James Almer

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 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ada02cf85fffd7806ac48e907f45082dd91efc18
---

 libavformat/utils.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 1292fef3df..fe40ead438 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -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:



More information about the ffmpeg-cvslog mailing list