mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
avutil/buffer: add av_buffer_pool_buffer_get_opaque
In order to access the original opaque parameter of a buffer in the buffer pool. (The buffer pool implementation overrides the normal opaque parameter but also saves it so it is accessible). v2: add assertion check before dereferencing the BufferPoolEntry. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
e3dca0744d
commit
16685114d5
@ -15,6 +15,9 @@ libavutil: 2017-10-21
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2019-12-xx - xxxxxxxxxx - lavu 56.37.100 - buffer.h
|
||||||
|
Add av_buffer_pool_buffer_get_opaque().
|
||||||
|
|
||||||
2019-11-17 - 1c23abc88f - lavu 56.36.100 - eval API
|
2019-11-17 - 1c23abc88f - lavu 56.36.100 - eval API
|
||||||
Add av_expr_count_vars().
|
Add av_expr_count_vars().
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "avassert.h"
|
||||||
#include "buffer_internal.h"
|
#include "buffer_internal.h"
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
#include "mem.h"
|
#include "mem.h"
|
||||||
@ -355,3 +356,10 @@ AVBufferRef *av_buffer_pool_get(AVBufferPool *pool)
|
|||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void *av_buffer_pool_buffer_get_opaque(AVBufferRef *ref)
|
||||||
|
{
|
||||||
|
BufferPoolEntry *buf = ref->buffer->opaque;
|
||||||
|
av_assert0(buf);
|
||||||
|
return buf->opaque;
|
||||||
|
}
|
||||||
|
@ -284,6 +284,19 @@ void av_buffer_pool_uninit(AVBufferPool **pool);
|
|||||||
*/
|
*/
|
||||||
AVBufferRef *av_buffer_pool_get(AVBufferPool *pool);
|
AVBufferRef *av_buffer_pool_get(AVBufferPool *pool);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Query the original opaque parameter of an allocated buffer in the pool.
|
||||||
|
*
|
||||||
|
* @param ref a buffer reference to a buffer returned by av_buffer_pool_get.
|
||||||
|
* @return the opaque parameter set by the buffer allocator function of the
|
||||||
|
* buffer pool.
|
||||||
|
*
|
||||||
|
* @note the opaque parameter of ref is used by the buffer pool implementation,
|
||||||
|
* therefore you have to use this function to access the original opaque
|
||||||
|
* parameter of an allocated buffer.
|
||||||
|
*/
|
||||||
|
void *av_buffer_pool_buffer_get_opaque(AVBufferRef *ref);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
*/
|
*/
|
||||||
|
@ -79,8 +79,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_MAJOR 56
|
#define LIBAVUTIL_VERSION_MAJOR 56
|
||||||
#define LIBAVUTIL_VERSION_MINOR 36
|
#define LIBAVUTIL_VERSION_MINOR 37
|
||||||
#define LIBAVUTIL_VERSION_MICRO 101
|
#define LIBAVUTIL_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
|
||||||
LIBAVUTIL_VERSION_MINOR, \
|
LIBAVUTIL_VERSION_MINOR, \
|
||||||
|
Loading…
Reference in New Issue
Block a user