avcodec/frame_thread_encoder: Improve type safety

Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2021-02-07 10:48:17 +01:00
parent 44cf3a2b16
commit e0f5086fab
1 changed files with 4 additions and 11 deletions

View File

@ -35,8 +35,8 @@
#define BUFFER_SIZE (2*MAX_THREADS)
typedef struct{
void *indata;
void *outdata;
AVFrame *indata;
AVPacket *outdata;
int64_t return_code;
unsigned index;
} Task;
@ -255,19 +255,12 @@ void ff_frame_thread_encoder_free(AVCodecContext *avctx){
while (av_fifo_size(c->task_fifo) > 0) {
Task task;
AVFrame *frame;
av_fifo_generic_read(c->task_fifo, &task, sizeof(task), NULL);
frame = task.indata;
av_frame_free(&frame);
task.indata = NULL;
av_frame_free(&task.indata);
}
for (i=0; i<BUFFER_SIZE; i++) {
if (c->finished_tasks[i].outdata != NULL) {
AVPacket *pkt = c->finished_tasks[i].outdata;
av_packet_free(&pkt);
c->finished_tasks[i].outdata = NULL;
}
av_packet_free(&c->finished_tasks[i].outdata);
}
pthread_mutex_destroy(&c->task_fifo_mutex);