@ -158,9 +158,15 @@
* information will be in AVStream . time_base units , i . e . it has to be
* multiplied by the timebase to convert them to seconds .
*
* The packet data belongs to the demuxer and is invalid after the next call to
* av_read_frame ( ) . The user must free the packet with av_free_packet ( ) before
* calling av_read_frame ( ) again or closing the file .
* If AVPacket . destruct is set on the returned packet , then the packet is
* allocated dynamically and the user may keep it indefinitely .
* Otherwise , if AVPacket . destruct is NULL , the packet data is backed by a
* static storage somewhere inside the demuxer and the packet is only valid
* until the next av_read_frame ( ) call or closing the file . If the caller
* requires a longer lifetime , av_dup_packet ( ) will make an av_malloc ( ) ed copy
* of it .
* In both cases , the packet must be freed with av_free_packet ( ) when it is no
* longer needed .
*
* @ section lavf_decoding_seek Seeking
* @ }
@ -1550,13 +1556,13 @@ int av_read_packet(AVFormatContext *s, AVPacket *pkt);
* omit invalid data between valid frames so as to give the decoder the maximum
* information possible for decoding .
*
* The returned packet is valid
* until the next av_read_frame ( ) or until av_close_input_file ( ) an d
* must be freed with av_free_packet . For video , the packet contains
* exactly one frame . For audio , it contains an integer number of
* frames if each frame has a known fixed size ( e . g . PCM or ADPCM
* data ) . If the audio frames have a variable size ( e . g . MPEG audio ) ,
* then it contains one frame .
* If pkt - > destruct is NULL , then the packet is valid until the next
* av_read_frame ( ) or until av_close_input_file ( ) . Otherwise the packet is vali d
* indefinitely . In both cases the packet must be freed with
* av_free_packet when it is no longer needed . For video , the packet contains
* exactly one frame . For audio , it contains an integer number of frames if each
* frame has a known fixed size ( e . g . PCM or ADPCM data ) . If the audio frames
* have a variable size ( e . g . MPEG audio ) , then it contains one frame .
*
* pkt - > pts , pkt - > dts and pkt - > duration are always set to correct
* values in AVStream . time_base units ( and guessed if the format cannot
@ -1724,10 +1730,10 @@ int av_write_frame(AVFormatContext *s, AVPacket *pkt);
* @ param s media file handle
* @ param pkt The packet containing the data to be written . Libavformat takes
* ownership of the data and will free it when it sees fit using the packet ' s
* This can be NULL ( at any time , not just at the end ) , to flush the
* interleaving queues .
* @ ref AVPacket . destruct " destruct " field . The caller must not access the data
* after this function returns , as it may already be freed .
* This can be NULL ( at any time , not just at the end ) , to flush the
* interleaving queues .
* Packet ' s @ ref AVPacket . stream_index " stream_index " field must be set to the
* index of the corresponding stream in @ ref AVFormatContext . streams
* " s.streams " .