diff options
author | Anton Khirnov <anton@khirnov.net> | 2021-12-30 13:02:38 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2022-01-10 16:04:19 +0100 |
commit | 63b013aa687662440c85ecff8fdc087123025bf6 (patch) | |
tree | a364c860031738736685911e2265f27367b9b477 | |
parent | d47dc0b0dfcc6010a57d4f2510c90b800ed40efc (diff) | |
download | ffmpeg-63b013aa687662440c85ecff8fdc087123025bf6.tar.gz |
lavu/fifo: deprecate av_fifo_peek2()
It returns a pointer inside the fifo's buffer, which cannot be safely
used without accessing AVFifoBuffer internals. It is easier and safer to
use av_fifo_generic_peek_at().
-rw-r--r-- | libavutil/fifo.h | 4 | ||||
-rw-r--r-- | libavutil/tests/fifo.c | 8 | ||||
-rw-r--r-- | libavutil/version.h | 1 | ||||
-rw-r--r-- | tests/ref/fate/fifo | 26 |
4 files changed, 5 insertions, 34 deletions
diff --git a/libavutil/fifo.h b/libavutil/fifo.h index dc7bc6f0dd..92b1cf50e4 100644 --- a/libavutil/fifo.h +++ b/libavutil/fifo.h @@ -156,6 +156,7 @@ int av_fifo_grow(AVFifoBuffer *f, unsigned int additional_space); */ void av_fifo_drain(AVFifoBuffer *f, int size); +#if FF_API_FIFO_PEEK2 /** * Return a pointer to the data stored in a FIFO buffer at a certain offset. * The FIFO buffer is not modified. @@ -165,7 +166,9 @@ void av_fifo_drain(AVFifoBuffer *f, int size); * than the used buffer size or the returned pointer will * point outside to the buffer data. * The used buffer size can be checked with av_fifo_size(). + * @deprecated use av_fifo_generic_peek_at() */ +attribute_deprecated static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs) { uint8_t *ptr = f->rptr + offs; @@ -175,5 +178,6 @@ static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs) ptr = f->end - (f->buffer - ptr); return ptr; } +#endif #endif /* AVUTIL_FIFO_H */ diff --git a/libavutil/tests/fifo.c b/libavutil/tests/fifo.c index 8a550e088b..a17d913233 100644 --- a/libavutil/tests/fifo.c +++ b/libavutil/tests/fifo.c @@ -30,14 +30,6 @@ int main(void) for (i = 0; av_fifo_space(fifo) >= sizeof(int); i++) av_fifo_generic_write(fifo, &i, sizeof(int), NULL); - /* peek at FIFO */ - n = av_fifo_size(fifo) / sizeof(int); - for (i = -n + 1; i < n; i++) { - int *v = (int *)av_fifo_peek2(fifo, i * sizeof(int)); - printf("%d: %d\n", i, *v); - } - printf("\n"); - /* peek_at at FIFO */ n = av_fifo_size(fifo) / sizeof(int); for (i = 0; i < n; i++) { diff --git a/libavutil/version.h b/libavutil/version.h index 5f45cf9c53..953aac9d94 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -109,6 +109,7 @@ #define FF_API_DECLARE_ALIGNED (LIBAVUTIL_VERSION_MAJOR < 58) #define FF_API_COLORSPACE_NAME (LIBAVUTIL_VERSION_MAJOR < 58) #define FF_API_AV_MALLOCZ_ARRAY (LIBAVUTIL_VERSION_MAJOR < 58) +#define FF_API_FIFO_PEEK2 (LIBAVUTIL_VERSION_MAJOR < 58) /** * @} diff --git a/tests/ref/fate/fifo b/tests/ref/fate/fifo index 2b18ed5ffc..1b0e005412 100644 --- a/tests/ref/fate/fifo +++ b/tests/ref/fate/fifo @@ -1,29 +1,3 @@ --12: 1 --11: 2 --10: 3 --9: 4 --8: 5 --7: 6 --6: 7 --5: 8 --4: 9 --3: 10 --2: 11 --1: 12 -0: 0 -1: 1 -2: 2 -3: 3 -4: 4 -5: 5 -6: 6 -7: 7 -8: 8 -9: 9 -10: 10 -11: 11 -12: 12 - 0: 0 1: 1 2: 2 |