lavc doxy: document that avcodec_flush_buffers() invalidates decoded frames

This commit is contained in:
Anton Khirnov 2013-06-18 11:35:44 +02:00
parent 2725f2d403
commit 5f4b1b1cbd

View File

@ -3388,8 +3388,8 @@ void avcodec_align_dimensions2(AVCodecContext *s, int *width, int *height,
* to the frame if av_frame_is_writable() returns 1.
* When AVCodecContext.refcounted_frames is set to 0, the returned
* reference belongs to the decoder and is valid only until the
* next call to this function or until closing the decoder.
* The caller may not write to it.
* next call to this function or until closing or flushing the
* decoder. The caller may not write to it.
* @param[out] got_frame_ptr Zero if no frame could be decoded, otherwise it is
* non-zero.
* @param[in] avpkt The input AVPacket containing the input buffer.
@ -3437,8 +3437,8 @@ int avcodec_decode_audio4(AVCodecContext *avctx, AVFrame *frame,
* to the frame if av_frame_is_writable() returns 1.
* When AVCodecContext.refcounted_frames is set to 0, the returned
* reference belongs to the decoder and is valid only until the
* next call to this function or until closing the decoder. The
* caller may not write to it.
* next call to this function or until closing or flushing the
* decoder. The caller may not write to it.
*
* @param[in] avpkt The input AVpacket containing the input buffer.
* You can create such packet with av_init_packet() and by then setting
@ -4060,7 +4060,13 @@ int avcodec_fill_audio_frame(AVFrame *frame, int nb_channels,
int buf_size, int align);
/**
* Flush buffers, should be called when seeking or when switching to a different stream.
* Reset the internal decoder state / flush internal buffers. Should be called
* e.g. when seeking or when switching to a different stream.
*
* @note when refcounted frames are not used (i.e. avctx->refcounted_frames is 0),
* this invalidates the frames previously returned from the decoder. When
* refcounted frames are used, the decoder just releases any references it might
* keep internally, but the caller's reference remains valid.
*/
void avcodec_flush_buffers(AVCodecContext *avctx);