X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavutil%2Ffifo.h;h=a904dfd02eec40b832b06dffc1c7923f2dddeaa2;hb=03703cb3d10b03f3ac8d599c9935a5285b411966;hp=1a549f254c1087e148b168c441d956c4558bd1be;hpb=bad5537e2c2caeb5deb1ff9d771ea01058b8010c;p=ffmpeg diff --git a/libavutil/fifo.h b/libavutil/fifo.h index 1a549f254c1..a904dfd02ee 100644 --- a/libavutil/fifo.h +++ b/libavutil/fifo.h @@ -31,15 +31,15 @@ typedef struct AVFifoBuffer { uint8_t *buffer; uint8_t *rptr, *wptr, *end; + uint32_t rndx, wndx; } AVFifoBuffer; /** * Initializes an AVFifoBuffer. - * @param *f AVFifoBuffer to initialize * @param size of FIFO - * @return <0 for failure >=0 otherwise + * @return AVFifoBuffer or NULL if mem allocation failure */ -int av_fifo_init(AVFifoBuffer *f, unsigned int size); +AVFifoBuffer *av_fifo_alloc(unsigned int size); /** * Frees an AVFifoBuffer. @@ -47,6 +47,12 @@ int av_fifo_init(AVFifoBuffer *f, unsigned int size); */ void av_fifo_free(AVFifoBuffer *f); +/** + * Resets the AVFifoBuffer to the state right after av_fifo_alloc, in particular it is emptied. + * @param *f AVFifoBuffer to reset + */ +void av_fifo_reset(AVFifoBuffer *f); + /** * Returns the amount of data in bytes in the AVFifoBuffer, that is the * amount of data you can read from it. @@ -56,12 +62,12 @@ void av_fifo_free(AVFifoBuffer *f); int av_fifo_size(AVFifoBuffer *f); /** - * Reads data from an AVFifoBuffer. - * @param *f AVFifoBuffer to read from - * @param *buf data destination - * @param buf_size number of bytes to read + * Returns the amount of space in bytes in the AVFifoBuffer, that is the + * amount of data you can write into it. + * @param *f AVFifoBuffer to write into + * @return size */ -int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size); +int av_fifo_space(AVFifoBuffer *f); /** * Feeds data from an AVFifoBuffer to a user-supplied callback. @@ -70,17 +76,7 @@ int av_fifo_read(AVFifoBuffer *f, uint8_t *buf, int buf_size); * @param *func generic read function * @param *dest data destination */ -int av_fifo_generic_read(AVFifoBuffer *f, int buf_size, void (*func)(void*, void*, int), void* dest); - -#if LIBAVUTIL_VERSION_MAJOR < 50 -/** - * Writes data into an AVFifoBuffer. - * @param *f AVFifoBuffer to write to - * @param *buf data source - * @param size data size - */ -attribute_deprecated void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int size); -#endif +int av_fifo_generic_read(AVFifoBuffer *f, void *dest, int buf_size, void (*func)(void*, void*, int)); /** * Feeds data from a user-supplied callback to an AVFifoBuffer. @@ -96,16 +92,6 @@ attribute_deprecated void av_fifo_write(AVFifoBuffer *f, const uint8_t *buf, int */ int av_fifo_generic_write(AVFifoBuffer *f, void *src, int size, int (*func)(void*, void*, int)); -#if LIBAVUTIL_VERSION_MAJOR < 50 -/** - * Resizes an AVFifoBuffer. - * @param *f AVFifoBuffer to resize - * @param size new AVFifoBuffer size in bytes - * @see av_fifo_realloc2() - */ -attribute_deprecated void av_fifo_realloc(AVFifoBuffer *f, unsigned int size); -#endif - /** * Resizes an AVFifoBuffer. * @param *f AVFifoBuffer to resize