Skip to content
Snippets Groups Projects
pthread_frame.c 32.6 KiB
Newer Older
  • Learn to ignore specific revisions
  •         av_frame_unref(f->f);
            return;
        }
    
        fctx = p->parent;
        pthread_mutex_lock(&fctx->buffer_mutex);
    
        if (p->num_released_buffers + 1 >= INT_MAX / sizeof(*p->released_buffers))
            goto fail;
        tmp = av_fast_realloc(p->released_buffers, &p->released_buffers_allocated,
                              (p->num_released_buffers + 1) *
                              sizeof(*p->released_buffers));
        if (!tmp)
            goto fail;
        p->released_buffers = tmp;
    
        dst = &p->released_buffers[p->num_released_buffers];
        av_frame_move_ref(dst, f->f);
    
        p->num_released_buffers++;
    
    fail:
        pthread_mutex_unlock(&fctx->buffer_mutex);
    }