You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
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:
@@ -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);
|
||||
|
Reference in New Issue
Block a user