On Tue, Feb 2, 2016 at 11:41 PM, wm4 <nfx...@googlemail.com> wrote: > On Tue, 2 Feb 2016 14:31:20 -0800 > Ratin <rat...@gmail.com> wrote: > > > libavcodec has codes like this one (utils.c): > > > > static AVPacket *add_to_pktbuf(AVPacketList **packet_buffer, AVPacket > *pkt, > > AVPacketList **plast_pktl) > > { > > AVPacketList *pktl = av_mallocz(sizeof(AVPacketList)); > > if (!pktl) > > return NULL; > > > > if (*packet_buffer) > > (*plast_pktl)->next = pktl; > > else > > *packet_buffer = pktl; > > > > /* Add the packet in the buffered packet list. */ > > *plast_pktl = pktl; > > pktl->pkt = *pkt; <=========================== > > return &pktl->pkt; > > } > > > > Here a struct variable is meant to be copied over via assignment, is that > > 100% correct to always work the way was intended? Given that the struct > > pkt is a big struct which has raw bytes that are malloc'd. I was always > > trained to avoid such struct assignment operations. What do people think? > > There is no problem at all here. >
Sorry a bit confused, what happens when second argument is not malloc'ed, somebody uses AVPacket pkt; add_to_pktbuf(packet_list, &pkt, plastpkt) _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel