mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-16 20:07:04 +00:00
Revert "lavu/buffer: add release function"
This reverts commit 3144440004
.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
c832bf0c38
commit
bba7b6fc41
@ -117,35 +117,6 @@ void av_buffer_unref(AVBufferRef **buf)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int av_buffer_release(AVBufferRef **buf, uint8_t **data)
|
|
||||||
{
|
|
||||||
AVBuffer *b;
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
if (data)
|
|
||||||
*data = NULL;
|
|
||||||
if (!buf || !*buf)
|
|
||||||
return 0;
|
|
||||||
b = (*buf)->buffer;
|
|
||||||
av_freep(buf);
|
|
||||||
|
|
||||||
if (data && avpriv_atomic_int_get(&b->refcount) > 1) {
|
|
||||||
*data = av_memdup(b->data, b->size);
|
|
||||||
if (!*data)
|
|
||||||
ret = AVERROR(ENOMEM);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!avpriv_atomic_int_add_and_fetch(&b->refcount, -1)) {
|
|
||||||
if (data && !*data) {
|
|
||||||
ret = 0;
|
|
||||||
*data = b->data;
|
|
||||||
} else
|
|
||||||
b->free(b->opaque, b->data);
|
|
||||||
av_freep(&b);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
int av_buffer_is_writable(const AVBufferRef *buf)
|
int av_buffer_is_writable(const AVBufferRef *buf)
|
||||||
{
|
{
|
||||||
if (buf->buffer->flags & AV_BUFFER_FLAG_READONLY)
|
if (buf->buffer->flags & AV_BUFFER_FLAG_READONLY)
|
||||||
|
@ -154,18 +154,6 @@ AVBufferRef *av_buffer_ref(AVBufferRef *buf);
|
|||||||
*/
|
*/
|
||||||
void av_buffer_unref(AVBufferRef **buf);
|
void av_buffer_unref(AVBufferRef **buf);
|
||||||
|
|
||||||
/**
|
|
||||||
* Free a given reference and pass underlaying data to user provided pointer.
|
|
||||||
* If there is more than one reference then data is copied.
|
|
||||||
*
|
|
||||||
* @param buf the reference to be released. The pointer is set to NULL on return.
|
|
||||||
* @param data pointer to be passed with underlaying data.
|
|
||||||
* @return 0 on success, a negative AVERROR on failure.
|
|
||||||
*
|
|
||||||
* @note on error buffer is properly released and *data is set to NULL.
|
|
||||||
*/
|
|
||||||
int av_buffer_release(AVBufferRef **buf, uint8_t **data);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return 1 if the caller may write to the data referred to by buf (which is
|
* @return 1 if the caller may write to the data referred to by buf (which is
|
||||||
* true if and only if buf is the only reference to the underlying AVBuffer).
|
* true if and only if buf is the only reference to the underlying AVBuffer).
|
||||||
|
Loading…
Reference in New Issue
Block a user