- pict_list = av_mallocz(sizeof(AVPacketList));
- if (!pict_list)
- return AVERROR(ENOMEM);
-
- ret = av_packet_ref(&pict_list->pkt, pkt);
- if (ret < 0) {
- av_freep(&pict_list);
- return ret;
- }
-
- if (!aiff->pict_list)
- aiff->pict_list = pict_list;
- else {
- last = aiff->pict_list;
- while (last->next)
- last = last->next;
- last->next = pict_list;
- }
+ return ff_packet_list_put(&aiff->pict_list, &aiff->pict_list_end,
+ pkt, FF_PACKETLIST_FLAG_REF_PACKET);