@@ -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);
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> --- libavcodec/frame_thread_encoder.c | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-)