From patchwork Fri Oct 25 05:00:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zhao Zhili X-Patchwork-Id: 15942 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 1730E44758A for ; Fri, 25 Oct 2019 08:00:43 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E30B768AC4E; Fri, 25 Oct 2019 08:00:42 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B3B2868A03B for ; Fri, 25 Oct 2019 08:00:35 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1571979610; bh=sIPH0GrCCOvmK1aiSqCXDmu9UR5x+QQ3pjGvcHNWiSY=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=smOAuZuUaQNDN0jRUeTQ/hHjZGq/XOZVoP4mfZ12xUfO2Cj8xxLvPnicRzkMBF3Ew SJZL5N1u7QS3n5t1FABlB/EaCocSYJdt/7RVQYrmYgK9zdVnzGVsBtk85zeyFK+jzj Ol3gGpW9aG1Q8bhr5Gi9TBVTmtKVDHleEOi4l0fY= X-QQ-mid: esmtp2t1571979609tr4usk88q Received: from ZHILIZHAO-MB1.tencent.com (unknown [14.17.22.54]) by esmtp4.qq.com (ESMTP) with id ; Fri, 25 Oct 2019 13:00:05 +0800 (CST) X-QQ-SSF: 01000000000000N0UF1005000000002 X-QQ-FEAT: Qy3VOPQDphpS9Vlpmw/Mfmh3uSrzXjfncQaakjoZGZUyz3l4y8zkwvkOl4U/G TJINzDZPGkesV6R1eytnPPdvXcVGVVoOzItIoSWwycH70Pcwf8vHZBTRVd/4UDfC6CEBDV/ svE/bF7yKxNu/V5psbNwLwbuWa5C/xxRAPZ2JRw5Bj3AxTpgIOmJdi6owIqQHeb2FbJyCzI /bmKrOdR6Dlk0SgVb9n9VsGPNqP+NJuoe3fFpaWiDUxz4qR9BmtIZ76anhdmlTHhBOvhbsl JYAeBEnwBMqMvPmKyYt9rQaq+cd0A1wx07gw== X-QQ-GoodBg: 0 From: quinkblack@foxmail.com To: ffmpeg-devel@ffmpeg.org Date: Fri, 25 Oct 2019 13:00:01 +0800 Message-Id: <20191025050002.32599-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: esmtp:foxmail.com:bgforeign:bgforeign4 X-QQ-Bgrelay: 1 Subject: [FFmpeg-devel] [PATCH 1/2] frame: handle add side data with the same type X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Zhao Zhili Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Zhao Zhili --- 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;