2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
=================================================================
Análisis de código fuente relacionado con la gestión de memoria FFmpeg:
Código fuente de FFmpeg: av_buffer_ref, análisis de funciones av_buffer_unref
=================================================================
Muchas estructuras en el código fuente de FFmpeg, como AVPacket y AVFrame, usan AVBufferRef y AVBuffer para administrar los buffers. AVBuffer registra la cantidad de usos de recursos a través de la variable miembro refcount y controla la liberación de recursos. Este artículo proporciona una introducción a las estructuras AVBuffer y AVBufferRef.
AVBuffer es una interfaz de programación de aplicaciones para búferes de datos contados por referencia, que representan el búfer de datos en sí. Es opaco y los usuarios que utilizan la API FFmpeg no pueden acceder directamente a él. Los usuarios sólo pueden acceder a él indirectamente a través de AVBufferRef. Pero puedes comprobar si dos referencias diferentes describen el mismo búfer de datos comparando dos punteros AVBuffer.
La estructura AVBuffer se declara en el archivo de encabezado libavutil/buffer_internal.h del código fuente de FFmpeg (la versión del código fuente de FFmpeg utilizada para la demostración en este artículo es 5.0.3):
struct AVBuffer {
uint8_t *data; /**