X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Fttaenc.c;h=32eb269040439f09d616b5e7c5b6e0896d5338a8;hb=48cda7d02b768d965db6582271a2f8591f2a3a10;hp=73c29ae936c268100b913730def90bd0c6fa1ae2;hpb=b46cdd9d23703f4976d2504055ccc86741013f4b;p=ffmpeg diff --git a/libavformat/ttaenc.c b/libavformat/ttaenc.c index 73c29ae936c..32eb2690404 100644 --- a/libavformat/ttaenc.c +++ b/libavformat/ttaenc.c @@ -22,6 +22,7 @@ #include "libavutil/crc.h" #include "libavutil/intreadwrite.h" +#include "libavcodec/packet_internal.h" #include "apetag.h" #include "avformat.h" #include "avio_internal.h" @@ -29,7 +30,7 @@ typedef struct TTAMuxContext { AVIOContext *seek_table; - AVPacketList *queue, *queue_end; + PacketList *queue, *queue_end; uint32_t nb_samples; int frame_size; int last_frame; @@ -93,8 +94,8 @@ static int tta_write_packet(AVFormatContext *s, AVPacket *pkt) TTAMuxContext *tta = s->priv_data; int ret; - ret = ff_packet_list_put(&tta->queue, &tta->queue_end, pkt, - FF_PACKETLIST_FLAG_REF_PACKET); + ret = avpriv_packet_list_put(&tta->queue, &tta->queue_end, pkt, + av_packet_ref, 0); if (ret < 0) { return ret; } @@ -125,7 +126,7 @@ static void tta_queue_flush(AVFormatContext *s) AVPacket pkt; while (tta->queue) { - ff_packet_list_get(&tta->queue, &tta->queue_end, &pkt); + avpriv_packet_list_get(&tta->queue, &tta->queue_end, &pkt); avio_write(s->pb, pkt.data, pkt.size); av_packet_unref(&pkt); } @@ -145,16 +146,13 @@ static int tta_write_trailer(AVFormatContext *s) /* Write Seek table */ crc = ffio_get_checksum(tta->seek_table) ^ UINT32_MAX; avio_wl32(tta->seek_table, crc); - size = avio_close_dyn_buf(tta->seek_table, &ptr); + size = avio_get_dyn_buf(tta->seek_table, &ptr); avio_write(s->pb, ptr, size); - tta->seek_table = NULL; - av_free(ptr); /* Write audio data */ tta_queue_flush(s); ff_ape_write_tag(s); - avio_flush(s->pb); return 0; } @@ -164,7 +162,7 @@ static void tta_deinit(AVFormatContext *s) TTAMuxContext *tta = s->priv_data; ffio_free_dyn_buf(&tta->seek_table); - ff_packet_list_free(&tta->queue, &tta->queue_end); + avpriv_packet_list_free(&tta->queue, &tta->queue_end); } AVOutputFormat ff_tta_muxer = {