lavc: add avcodec_free_frame().

Since an AVFrame now has malloced members (extended_data), it must have
a destructor.
This commit is contained in:
Anton Khirnov
2012-09-21 09:07:02 +02:00
parent b437cec143
commit a42aadabc6
4 changed files with 33 additions and 2 deletions

View File

@@ -3257,7 +3257,7 @@ int avcodec_copy_context(AVCodecContext *dest, const AVCodecContext *src);
/**
* Allocate an AVFrame and set its fields to default values. The resulting
* struct can be deallocated by simply calling av_free().
* struct must be freed using avcodec_free_frame().
*
* @return An AVFrame filled with default values or NULL on failure.
* @see avcodec_get_frame_defaults
@@ -3271,6 +3271,18 @@ AVFrame *avcodec_alloc_frame(void);
*/
void avcodec_get_frame_defaults(AVFrame *frame);
/**
* Free the frame and any dynamically allocated objects in it,
* e.g. extended_data.
*
* @param frame frame to be freed. The pointer will be set to NULL.
*
* @warning this function does NOT free the data buffers themselves
* (it does not know how, since they might have been allocated with
* a custom get_buffer()).
*/
void avcodec_free_frame(AVFrame **frame);
/**
* Initialize the AVCodecContext to use the given AVCodec. Prior to using this
* function the context has to be allocated with avcodec_alloc_context3().