On Fri, 1 Nov 2019, "zhilizhao(赵志立)" wrote:
Ping for review, thanks!
You should update the documentation for the function, that it replaces
existing side data of the same type. You should also make sure it works as
it is documented now: on failure, the frame is unchanged.
Regards,
Marton
On Oct 25, 2019, at 1:00 PM, quinkbl...@foxmail.com wrote:
From: Zhao Zhili <zhiliz...@tencent.com>
---
libavutil/frame.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/libavutil/frame.c b/libavutil/frame.c
index dcf1fc3d17..bb20e99331 100644
--- a/libavutil/frame.c
+++ b/libavutil/frame.c
@@ -692,10 +692,23 @@ AVFrameSideData *av_frame_new_side_data_from_buf(AVFrame
*frame,
AVBufferRef *buf)
{
AVFrameSideData *ret, **tmp;
+ int i;
if (!buf)
return NULL;
+ for (i = 0; i < frame->nb_side_data; i++) {
+ AVFrameSideData *sd = frame->side_data[i];
+ if (sd->type == type) {
+ av_buffer_unref(&sd->buf);
+ av_dict_free(&sd->metadata);
+ sd->buf = buf;
+ sd->data = buf->data;
+ sd->size = buf->size;
+ return sd;
+ }
+ }
+
if (frame->nb_side_data > INT_MAX / sizeof(*frame->side_data) - 1)
return NULL;
--
2.22.0
_______________________________________________
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".
_______________________________________________
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".