mirror of https://git.ffmpeg.org/ffmpeg.git
Simplify packet duplication code in ff_interleave_add_packet.
Behaviour only changes if pkt->destuct neither av_destruct_packet, av_destruct_packet_nofree nor NULL, in which case the new code avoids a double free. Originally committed as revision 18452 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
031e14ea79
commit
d2e63e8b05
|
@ -2613,10 +2613,8 @@ void ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt,
|
|||
|
||||
this_pktl = av_mallocz(sizeof(AVPacketList));
|
||||
this_pktl->pkt= *pkt;
|
||||
if(pkt->destruct == av_destruct_packet)
|
||||
pkt->destruct= NULL; // not shared -> must keep original from being freed
|
||||
else
|
||||
av_dup_packet(&this_pktl->pkt); //shared -> must dup
|
||||
pkt->destruct= NULL; // do not free original but only the copy
|
||||
av_dup_packet(&this_pktl->pkt); // duplicate the packet if it uses non-alloced memory
|
||||
|
||||
next_point = &s->packet_buffer;
|
||||
while(*next_point){
|
||||
|
|
Loading…
Reference in New Issue