From patchwork Sun Mar 25 04:03:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 8147 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp2135815jad; Sat, 24 Mar 2018 21:04:32 -0700 (PDT) X-Google-Smtp-Source: AG47ELsRy95Q34jk7QAD+KhkZszT0D4oXZHNss6zSiubWk7DWanOIiFUqrnkAVqGKpeQFwDEo7AZ X-Received: by 10.223.177.213 with SMTP id r21mr22363552wra.89.1521950672346; Sat, 24 Mar 2018 21:04:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521950672; cv=none; d=google.com; s=arc-20160816; b=hs7r3nzuJHaNkF25JT7p3zcxJljk8Le++fbC/XyUMgA3vTSZYIWQVlgRcECqj/Lzsm A/SWj3rEyH0249/x5DeN0ErCFn7n729qVM+rYgQwLDjSxB2saFc7YdM0W5rler9bVcet mJ9q8/quLs8B0i9CQ2kAEvildLYjeJh5b/uCeay9so70PZBTo1b5n+D10TZw358gIV95 ckOzuqskmwl7sa9Tz9+kWf54LJ3PxqvYIFBJ5v2+5i/Qsb+hteeYECkCAOAzI4FYq0DZ Jez7zH4hG3XXlaYAw1o+QsWXHXVjrP4BN+UCasekKF3/b4r53dflQG+fZzWmLIJCpjuL lezA== 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=2/nnwBJaJgaGZucVTGHE3L3UNi+GP7ryU5+6dBqldU8=; b=dJ7CM8HqFKHEeOF81hCoEu0KnQb1YhNfjM5+lK9i4rQSD/bXOgkmMsG0FfzyJ/CBK8 FcB0EkK6MA+O/Pu7HdnKU78lFwD+Nl+sIbQ5EoG+bhLK+Fr/TOggqVJp4vMxO7l3VEjn uLtGlp7YqZNxeswhrcdoB3i1+o/Z3ozJ3AxMlHUcoWpwEjthlQblSjygtd+oI/hdQDOw hVqXTnT2Pu6e2ne5tWztRDigs5nOaDSqGS8fCiP92WXGogyEe+nqU7D8RLaY2J8uJcov RIvVT+qd6KxYuFZ1YtmF7ZjcF0JdzvB59dLboTOeCKDqlVYrMlHvWp+8bZkPeZmiTAQb l82g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=lYvmmXnC; 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 t104si3290794wrc.72.2018.03.24.21.04.32; Sat, 24 Mar 2018 21:04:32 -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=lYvmmXnC; 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 55805689E05; Sun, 25 Mar 2018 07:03:50 +0300 (EEST) 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 EA5A7689DB5 for ; Sun, 25 Mar 2018 07:03:42 +0300 (EEST) Received: by mail-qt0-f193.google.com with SMTP id w12so8889370qti.4 for ; Sat, 24 Mar 2018 21:03:59 -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=S3GppmcbxQR3ZlyJC3TF9VIqC3UYVMzRYexkyOUnLiQ=; b=lYvmmXnCZi8TJ8L01/zFvVPwLuySy1bF+5NdKJgkG6fllOisocRFQA1aX3vCbdr/kc gMFC0tCxBTHWThgSVoxTSxdOipaBXjSW6qiAXe0ooaHVXe6qEAbUl+E2JXmKH7bw1Sk3 X/ijjzVcOf0MLdbgrXzmB1+8hvSuFNoyFAWUBcceyOQtTHuUvW93ISJghF/F7izASsNH oL0G/maICvIWrf1m6mR2nWYzpS0+eq9MduPxe9DWv/GX3SteG5sD9RzQlxCGZEAAlqgZ oOm1i5aCgPrv+n9lfuP7wscZIn1is19Isq/emBVF5Kae1BTFsYT5rMC/Et/hhL5e4Vso OMTg== 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=S3GppmcbxQR3ZlyJC3TF9VIqC3UYVMzRYexkyOUnLiQ=; b=Gx1dIYBKXMPR5OQHj4DEWZNKs/uZmVQ7ugF07Czv6aiudGZLL63J4UEXVvuLC/XQ53 t+b/UDLX+U3IkFfCWpEJ6on/biXoS4FCp+uYTNqglpF01cVMw7Tx/8J5ap9Rnb8gQnJI hTnLIaoK5A9V1r3tyqLsn9Ms351ZKq/+Fmy4vvjPPAMeqvrtN2KkMdD4TSDjic/XOPO9 E0fywazz5XLq9NKinNCG+GZRoQRuFXptb6YY4x1eW8CSIfMIO0xWkZUR4h8pvzNwlnUv O4B8bnRjfl4j451NnCYUy7rirA0kyeqkkPnkrgZ+fiZ51narGekrqyBOugU9/6fiYyzn GiOQ== X-Gm-Message-State: AElRT7GX92oOYSz+JIZ9BEyORXst0XfonxkRTRsGNn+8gXmPmi+aZTG7 tR4BL+eWOc6OAhN14h9pTxC4Jg== X-Received: by 10.200.37.138 with SMTP id e10mr29711606qte.67.1521950638533; Sat, 24 Mar 2018 21:03:58 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id n4sm9632478qtc.0.2018.03.24.21.03.57 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 24 Mar 2018 21:03:58 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sun, 25 Mar 2018 01:03:37 -0300 Message-Id: <20180325040339.7772-4-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180325040339.7772-1-jamrial@gmail.com> References: <20180325040339.7772-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/6] avdevice/decklink_dec: use av_packet_make_ref to ensure packets are ref counted 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" Partially reverts commit e91f0c4f8b, simplifying code. Signed-off-by: James Almer --- libavdevice/decklink_dec.cpp | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/libavdevice/decklink_dec.cpp b/libavdevice/decklink_dec.cpp index 28a748a28f..0ccf87f94f 100644 --- a/libavdevice/decklink_dec.cpp +++ b/libavdevice/decklink_dec.cpp @@ -464,24 +464,22 @@ static unsigned long long avpacket_queue_size(AVPacketQueue *q) static int avpacket_queue_put(AVPacketQueue *q, AVPacket *pkt) { AVPacketList *pkt1; - int ret; // Drop Packet if queue size is > maximum queue size if (avpacket_queue_size(q) > (uint64_t)q->max_q_size) { av_log(q->avctx, AV_LOG_WARNING, "Decklink input buffer overrun!\n"); return -1; } + /* ensure the packet is reference counted */ + if (av_packet_make_ref(pkt) < 0) { + return -1; + } pkt1 = (AVPacketList *)av_mallocz(sizeof(AVPacketList)); if (!pkt1) { return -1; } - ret = av_packet_ref(&pkt1->pkt, pkt); - av_packet_unref(pkt); - if (ret < 0) { - av_free(pkt1); - return -1; - } + av_packet_move_ref(&pkt1->pkt, pkt); pkt1->next = NULL; pthread_mutex_lock(&q->mutex);