diff options
author | James Almer <jamrial@gmail.com> | 2018-03-24 22:33:32 -0300 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2018-04-02 00:37:51 -0300 |
commit | 02ae52db87270715bb81ddb912a2e3968e973d1f (patch) | |
tree | 408d4abd4c56d8d4ebcadd540b014a3e3967426b /libavformat | |
parent | 265ec55983bf3b981190b564925a609d53391aa5 (diff) | |
download | ffmpeg-streaming-02ae52db87270715bb81ddb912a2e3968e973d1f.zip ffmpeg-streaming-02ae52db87270715bb81ddb912a2e3968e973d1f.tar.gz |
avformat/utils: use av_packet_make_refcounted to ensure packets are ref counted
Simplifies code, while also fixing a potential leak of side data in pkt.
Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/utils.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index f13c820..39a36a5 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -867,13 +867,9 @@ int ff_read_packet(AVFormatContext *s, AVPacket *pkt) continue; } - if (!pkt->buf) { - AVPacket tmp = { 0 }; - err = av_packet_ref(&tmp, pkt); - if (err < 0) - return err; - *pkt = tmp; - } + err = av_packet_make_refcounted(pkt); + if (err < 0) + return err; if ((s->flags & AVFMT_FLAG_DISCARD_CORRUPT) && (pkt->flags & AV_PKT_FLAG_CORRUPT)) { |