From patchwork Mon Sep 25 01:06:10 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 5255 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.36.26 with SMTP id f26csp2081662jaa; Sun, 24 Sep 2017 18:07:52 -0700 (PDT) X-Received: by 10.28.143.203 with SMTP id r194mr9466190wmd.39.1506301672276; Sun, 24 Sep 2017 18:07:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1506301672; cv=none; d=google.com; s=arc-20160816; b=IAhYCqDcUPcCruymwxVa/OLuP7WlfegtuNALrOsoawu8Ff1q5GrZ+eoDAlsiJqNb3K UkbXAq2/STSdrHj93YWrRTDtgAuiezbNlhzRjiu/hwxWypFJiGyQGj6B+yXcfA6ouy5o kYHCtiHKiaJJKsD+UxFX48hB2AG3bnqmKXdjEnppNjBuH9HHDXi7B1pYx1XrEPL225yv sx6CfhOcMkV7GcrxdS8Xb3hVXQfztLZzwv3bct8QVAJG0CuARDyBD9trJcEgUA/ihy50 TctRMznKRJvM3jFtGYpZPbCWOKde5lUnngEsRG4jCy0iT+wErtJBYKVi05ru1fqVA/Gn X/CQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=60Y6WIqQevLq4Vwftd4A9cF/kc5o87/qIKDE/olUgBU=; b=0Xkil20G71DafP7q9hPfuUlsv1b07nswz+OCMnYu314I79zmai3VPJPk1Ij2c00VVD OWwlpPyvqwycOGCKgCjyj1jv/7DLoc1379mu1NE3Cw/yBmjh+DSmdfskh7zOxYjeq9kQ nGF9MOKJnCOaBL0dtqT6vWze0YmJPGtdFGsBov9a4QO26q7V1Is0hJCJALCHy2yfYrPe yQVxHl8N6/wxxhR0RhvUjPNuTbqKOLkM80/9KEai35l3Aih7hyoHsostIBGNdGi9MdHv 5uLmj8w+OChCPgwrTvpclhIeZDJuOXN2zJXUauTrNutsni8coKFqF2YA4Zv6tWW4yUu+ YOoA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=W616jqYb; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m18si3817088wmh.250.2017.09.24.18.07.51; Sun, 24 Sep 2017 18:07:52 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=W616jqYb; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 02B67680D29; Mon, 25 Sep 2017 04:07:37 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk0-f193.google.com (mail-qk0-f193.google.com [209.85.220.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 8319068062C for ; Mon, 25 Sep 2017 04:07:29 +0300 (EEST) Received: by mail-qk0-f193.google.com with SMTP id o77so3981227qke.2 for ; Sun, 24 Sep 2017 18:07:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references; bh=Lq418ESjBUSD6dbJ9spuHTuWOobnjuFmwfPh3Lps8hQ=; b=W616jqYbx4FngKxDYbfjbqOlFNVFLoCbOvVk+cqZJGHCh53YdpyfPvTe2IxQ+766+G d0dvbunHRgVXkwW1Dopl2t/orj2jDHhrzOlm/WbnxrWXlLvJWZYWVSGUaYMaLhqq55iR BwYkmROPjQXHgNzO8SbyGbKzhxVcngSY14bbsf6u1BceogiSii3Lo7leDzK3520o+apZ pHEeSZUgGQeGm29L4lxSkmpYjUptszo7s3QTCt2pesDj9lzNDmVjXYwxju4Z9+JH1ZL2 6BHC2Qmwx2vtlu+2jCNZ0QquhnK6a4eKt1wSAac+PaXLkmBv7GxeNFufDhupNMGRHkyF 3lRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references; bh=Lq418ESjBUSD6dbJ9spuHTuWOobnjuFmwfPh3Lps8hQ=; b=VIdW4az/p8xwGgDINGwC7hClHpO7inwY7xApV5r0w+gpoYw++loY/xK2e/FCIhDWYx wuaMIwx1SQ2yd+GHHFHP61dDV93wIcCPdO+jJIK/xSjcp7bq9VGMZHBJM3E8pssETbYs 1x/fOv6ZN23ba2JBtVHlVDHW6l1SX2shg17mx1m+Laxt0ArSQnDuVmpJh/Vgq2Tk3bJA pLB3uqzFH5SjDJs5bIoapVvrMKzfkPfjSudnKvF8hf7vNa5k1Ilkxp7TMKdUUKJEneKP GHBFafBEAO/plzetpY+mPkVe21DDYrcxQdGN8JeCO6atbhyTF+QkRQKlqNVdA3eTEkKF DbIw== X-Gm-Message-State: AHPjjUjTHOWa5M24CJRE0cGFAIMrHh/DjPoUqUL0vo73biAeDsE9nZv7 ivq9/Um9OUqe++9H8KoO+tYZwQ== X-Google-Smtp-Source: AOwi7QDaI8pNF7QJdqK+g1tr7EXd4FcuixDDUtQZjn3EejsmdZlVRAEiKLop2vhHlfr/b55mf9GRsw== X-Received: by 10.55.22.104 with SMTP id g101mr8273594qkh.306.1506301659042; Sun, 24 Sep 2017 18:07:39 -0700 (PDT) Received: from localhost.localdomain ([181.231.68.242]) by smtp.gmail.com with ESMTPSA id q51sm4250626qtk.18.2017.09.24.18.07.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Sun, 24 Sep 2017 18:07:38 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 24 Sep 2017 22:06:10 -0300 Message-Id: <20170925010612.9824-2-jamrial@gmail.com> X-Mailer: git-send-email 2.14.1 In-Reply-To: <20170925010612.9824-1-jamrial@gmail.com> References: <20170925010612.9824-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 2/4] avcodec/avpacket: use av_packet_copy_side_data() in av_packet_copy_props() 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" The side data array in av_packet_copy_side_data() is not reallocated every time a new element is added, unlike when calling av_packet_new_side_data() in a loop. Signed-off-by: James Almer --- libavcodec/avpacket.c | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/libavcodec/avpacket.c b/libavcodec/avpacket.c index 33e325c9ed..01b899c79d 100644 --- a/libavcodec/avpacket.c +++ b/libavcodec/avpacket.c @@ -625,7 +625,7 @@ fail: int av_packet_copy_props(AVPacket *dst, const AVPacket *src) { - int i; + int ret; dst->pts = src->pts; dst->dts = src->dts; @@ -639,20 +639,11 @@ FF_ENABLE_DEPRECATION_WARNINGS dst->flags = src->flags; dst->stream_index = src->stream_index; - for (i = 0; i < src->side_data_elems; i++) { - enum AVPacketSideDataType type = src->side_data[i].type; - int size = src->side_data[i].size; - uint8_t *src_data = src->side_data[i].data; - uint8_t *dst_data = av_packet_new_side_data(dst, type, size); - - if (!dst_data) { - av_packet_free_side_data(dst); - return AVERROR(ENOMEM); - } - memcpy(dst_data, src_data, size); - } + ret = av_packet_copy_side_data(dst, src); + if (ret < 0) + av_packet_free_side_data(dst); - return 0; + return ret; } void av_packet_unref(AVPacket *pkt)