]> git.sesse.net Git - ffmpeg/commit
avformat/utils: Move the reference to the packet list
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 20 Sep 2019 20:39:10 +0000 (22:39 +0200)
committerJames Almer <jamrial@gmail.com>
Wed, 25 Sep 2019 23:53:09 +0000 (20:53 -0300)
commitfc20ba9e049e5dde25643bffb2565a5477e6e5f6
treefd8d322be1bf612658dd0aaac86ec58ba53d814d
parentbae8844e35147f92e612a9e0b44e939a293e5bc9
avformat/utils: Move the reference to the packet list

Up until now, ff_packet_list_put had a flaw: When it moved a packet to
the list (meaning, when it ought to move the reference to the packet
list instead of creating a new one via av_packet_ref), it did not reset
the original packet, confusing the ownership of the data in the packet.
This has been done because some callers of this function were not
compatible with resetting the packet.

This commit changes these callers and fixes this flaw. In order to
indicate that the ownership of the packet has moved to the packet list,
pointers to constant AVPackets are used whenever the target of the
pointer might already be owned by the packet list.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: James Almer <jamrial@gmail.com>
libavformat/utils.c