lavc: add some AVPacket doxy.

This commit is contained in:
Anton Khirnov 2012-10-31 17:27:24 +01:00
parent fdc8672886
commit 0876c28080
1 changed files with 22 additions and 0 deletions

View File

@ -872,6 +872,28 @@ enum AVPacketSideDataType {
AV_PKT_DATA_H263_MB_INFO,
};
/**
* This structure stores compressed data. It is typically exported by demuxers
* and then passed as input to decoders, or received as output from encoders and
* then passed to muxers.
*
* For video, it should typically contain one compressed frame. For audio it may
* contain several compressed frames.
*
* AVPacket is one of the few structs in Libav, whose size is a part of public
* ABI. Thus it may be allocated on stack and no new fields can be added to it
* without libavcodec and libavformat major bump.
*
* The semantics of data ownership depends on the destruct field.
* If it is set, the packet data is dynamically allocated and is valid
* indefinitely until av_free_packet() is called (which in turn calls the
* destruct callback to free the data). If destruct is not set, the packet data
* is typically backed by some static buffer somewhere and is only valid for a
* limited time (e.g. until the next read call when demuxing).
*
* The side data is always allocated with av_malloc() and is freed in
* av_free_packet().
*/
typedef struct AVPacket {
/**
* Presentation timestamp in AVStream->time_base units; the time at which