From patchwork Thu Mar 22 01:41:03 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 8088 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp257677jad; Wed, 21 Mar 2018 18:41:48 -0700 (PDT) X-Google-Smtp-Source: AG47ELscuXQF2/JFBrmYt4dk42aQmmSL/IJwB/2QdU7nyqnREj/U/4jxqBJQOc5EF699Z4Z7d4m5 X-Received: by 10.28.175.81 with SMTP id y78mr3953529wme.21.1521682908412; Wed, 21 Mar 2018 18:41:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521682908; cv=none; d=google.com; s=arc-20160816; b=K6wTRK9pka1imsb+ZW6/IVlbMe8haf7ncRnsRNfG/fTtiDZvCQiIZwFHkM4CCoqWDR a+A38lIg2ItOpnfgPT+x5qRfMhyB8KFtEgkur5gegs55xCZDQxvTk1z4bE3k/w980r+5 qYFxXe5gJ9H5B1zw7R2T091EyCwuGUA7KO6ajybnXeRiyMVoZkym5f/Vfg9MHOXBKTGD uLSU3r11F/iqrc99QwYDZYdRa9wRyJdNpyQg2Yx5F5HEeawUWT/64FtoCgGacn3oAjCq 7pXLrZgEY7H7lDFsb7kcUV/hoYp3f/yYjpeWsQPn795+P6n65ocs5wancKntUkrdBix0 5ksA== 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=GC22H+n1gdHS6MZRaMoM84UrX97O/r9idUi+/6Mr5RY=; b=II67F6J6ujRj0BR9ElrrZvVWbQqQCykY5zoqi0rPIQNxfjkgapQeCaLujs8ka6YAXZ MEYJHBZu4KbHct8uXgWXZOsy9uijwyK9z8T5nl8eUsIvNI9wmmuTIyeSpRY8BkssAY/E 65evX+qdBN/SKaJQ1J0a8Rdz8qQ8T5PCgFqdvLJYjrBR3dMyNacj7ov+y5eIxYkSnl2q 3kVcHs0mQCXgP9yKZs60cjYqsoQAfNO1PBxAkTo6ZHV36wVXJq/5rk+P8N8jjFp/y01J WlCea96Yf4I6MOR5otgZb7MrJyTZ7xXFhGlXCPOeUnoVeim4ihV4dawnlgrWZSzrYMXu YUcQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=vYH3aCam; 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=QUARANTINE 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 x99si4274957wrb.80.2018.03.21.18.41.47; Wed, 21 Mar 2018 18:41:48 -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=vYH3aCam; 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=QUARANTINE 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 35B96689C28; Thu, 22 Mar 2018 03:41:31 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f193.google.com (mail-qt0-f193.google.com [209.85.216.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F1F23689223 for ; Thu, 22 Mar 2018 03:41:24 +0200 (EET) Received: by mail-qt0-f193.google.com with SMTP id j4so7394513qth.8 for ; Wed, 21 Mar 2018 18:41: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=nxT0SqIRdNAbbXdz1TgB9hKHDnfrgAa4IoJtowmBRXg=; b=vYH3aCamSZk9Kyrkh7WbQ6dIsS7+BdDijVACr3mJr0emYewk9UI8lLHpBdMigBRDhJ RQBsLRQqaz3nguINdwvhvh/+zxbGDyUUDhlVQr8h2CkhPQHHN61q3o0aHJydYPuPO0N4 zwBEJyWCGoYx++UkA2QJ1A1I3QNIT5Mfa9Kkubjex5j8yjIVmIaOljdFyXjLQLnv/6vK 03339LNY2QDwNPNrQdgTIppVWb0szk3s7wz4QvQ60NqIyfEaYwkaCk0vvRCqGkWOcWku XbhvZ9xX4JzmobZmZ0PwyDgEqGACg+OHeYJ1CazlMvv3DfCZlPWds2FvmM85WDYT5cWX 4PFA== 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=nxT0SqIRdNAbbXdz1TgB9hKHDnfrgAa4IoJtowmBRXg=; b=RpRQuFNP7V8bKpLl5nNvLNIRv2u/GZR6kgeHRfgS0tayyo5oChdgPyGCwLw6tBUXke lbAdhpl2vJsaM0Im5bmjsWFuEpb3XwJ0S3eSutLmVMpJdG82RijfgqQLtOwl5YqZcH9u K+eZr6JdmQJ+hU6WuIuAfy/i4k+sawVtv7ikINV9p0gnmB0SYjO6P3d5+uM2pF7COAyJ i6xEdwJS+J1JnepykxvSqIbAWvZPox6uA+jVPVhyT/gRZm++WdwEU0w6kSpJB8j0/UAi fB4mb8wJGxHwVPb6MpzTn7c3H5hS6yeUHFo6PKRtYIRE9zU/tOe7ZNNiKV74gvD4p7DK av3Q== X-Gm-Message-State: AElRT7GCm9XJG6pVFIdfKLQjEX0EToj8+wtNlzdflvPh6nnwlVR1fibd OjIMDzm9dwZrejiIiOXWKubMJg== X-Received: by 10.237.55.193 with SMTP id j59mr10765970qtb.110.1521682898734; Wed, 21 Mar 2018 18:41:38 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id y124sm4282781qke.40.2018.03.21.18.41.37 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 21 Mar 2018 18:41:38 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Wed, 21 Mar 2018 22:41:03 -0300 Message-Id: <20180322014103.8168-1-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180319022533.7048-2-jamrial@gmail.com> References: <20180319022533.7048-2-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH] avcodec/mpeg4_unpack_bframes: make sure the packet is writable when data needs to changed 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" Nothing currently guarantees that the packet passed to the bsf will be writable. Signed-off-by: James Almer --- This supersedes "[PATCH 2/2] avcodec/mpeg4_unpack_bframes: allocate a new packet when data needs to be changed" libavcodec/mpeg4_unpack_bframes_bsf.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/mpeg4_unpack_bframes_bsf.c b/libavcodec/mpeg4_unpack_bframes_bsf.c index ba970794c5..3a0ba105f5 100644 --- a/libavcodec/mpeg4_unpack_bframes_bsf.c +++ b/libavcodec/mpeg4_unpack_bframes_bsf.c @@ -149,6 +149,9 @@ static int mpeg4_unpack_bframes_filter(AVBSFContext *ctx, AVPacket *out) av_packet_move_ref(out, in); out->size = pos_vop2; } else if (pos_p >= 0) { + ret = av_packet_make_writable(in); + if (ret < 0) + goto fail; av_log(ctx, AV_LOG_DEBUG, "Updating DivX userdata (remove trailing 'p').\n"); av_packet_move_ref(out, in); /* remove 'p' (packed) from the end of the (DivX) userdata string */