mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-08 16:54:03 +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:
parent
44cf3a2b16
commit
e0f5086fab
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user