Dec 9, 2020, 21:25 by jo...@kwiboo.se: > Signed-off-by: Jonas Karlman <jo...@kwiboo.se> > --- > doc/APIchanges | 3 +++ > libavutil/buffer.c | 13 +++++++++++++ > libavutil/buffer.h | 5 +++++ > libavutil/version.h | 2 +- > 4 files changed, 22 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 3fb9e12525..4a739ce453 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -15,6 +15,9 @@ libavutil: 2017-10-21 > > API changes, most recent first: > > +2020-xx-xx - xxxxxxxxxx - lavu 56.63.100 - buffer.h > + Add av_buffer_pool_flush(). > + > 2020-12-03 - xxxxxxxxxx - lavu 56.62.100 - timecode.h > Add av_timecode_init_from_components. > > diff --git a/libavutil/buffer.c b/libavutil/buffer.c > index d67b4bbdaf..a0683664cf 100644 > --- a/libavutil/buffer.c > +++ b/libavutil/buffer.c > @@ -300,6 +300,19 @@ static void buffer_pool_free(AVBufferPool *pool) > av_freep(&pool); > } > > +void av_buffer_pool_flush(AVBufferPool *pool) > +{ > + ff_mutex_lock(&pool->mutex); > + while (pool->pool) { > + BufferPoolEntry *buf = pool->pool; > + pool->pool = buf->next; > + > + buf->free(buf->opaque, buf->data); > + av_freep(&buf); > + } > + ff_mutex_unlock(&pool->mutex); > +} >
This frees all buffers from the pool, which an API user probably has references to, leading to very nasty crashes. I can't see how this is even useful nor needed. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".