From patchwork Mon Mar 26 18:02:38 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 8181 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp3843969jad; Mon, 26 Mar 2018 11:04:55 -0700 (PDT) X-Google-Smtp-Source: AG47ELs2Id5Qh74ZX1edXDpgL+gqx3awpg5ZzXe7fo6kZFXqUh6eTZdSpXVWZ7Hr2Hi/SKl928x7 X-Received: by 10.223.226.66 with SMTP id n2mr15016397wri.228.1522087495539; Mon, 26 Mar 2018 11:04:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522087495; cv=none; d=google.com; s=arc-20160816; b=B7hDGYco9dptf9UeZ4hu1HQKWDX8+2iMirN1DfH+yJmk/kWodPLceLf3pBceskX4+2 E093/e7J9cZRG3w6Djkk25c1V3Q7HB+hJw1KqREeJLJyR4fzkJaLYH3OPfR3ghMI6TW3 pSfHeq41oB1TRd4ULlliiaw8DBD1NdR+EJxX0pdc5zXNvoa77sJ2yaMjCMy2yfwrA2s5 drS6hgHEfPag81sBnKIsH60dfEjmjFxto8zoq70ElmRMdLyWpJRjPE9QJJxNLFeLZsuo 5yQIyDE+3Ak66tKfuTu7YjGLli3/10xttp4GOJE6v/olZreMyLkteXUcKlyTPDRWcnGc eXXQ== 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=huxb+MKL9Wgwq1v7mOu4witsw1ZYg7ASqcywsyyMK3Q=; b=M9s7SLWWwQLLdrVoACXZVjYlWXsofZoNY0OygiRYfV1+Q3LO+Gul8vKRjFid6P0eK6 Q5ujlqDw+u1ldDiBRdV5ARB1YxuWdW4/udETtFE57ohmRbwEEbOaxljcDrnf4CQJ9VwC ji7pGeZvpk3kHcHWHMr+5I36vp5TBjq4qkYLIFe82LPh0fFaQKKIPjfX7uKZLlUUVC58 9FL8qhyJMN3FW0XAw7wcVwHl+bViO/4kuxgdf+AyeqkdslVj+jnsjz4EstjcLtkQHuKV XLYiYmxwuCMld60T3lx5BVAOCQTXgEBlFnFk9onORLJ4A9akJN44C6AklUurEv5T8HzH oJRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=EYdoYJJK; 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 d12si6154369wrg.491.2018.03.26.11.04.55; Mon, 26 Mar 2018 11:04:55 -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=EYdoYJJK; 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 A8614689BF3; Mon, 26 Mar 2018 21:04:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EB1EC689A66 for ; Mon, 26 Mar 2018 21:04:10 +0300 (EEST) Received: by mail-qt0-f194.google.com with SMTP id w12so12941856qti.4 for ; Mon, 26 Mar 2018 11:04:28 -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=ir1MtrtnpXYdPHARbqebfttV/mt25snaQcdTjXYzUZY=; b=EYdoYJJKfXz4IsT/cmiVlZ7lQ26liJqaBpiaW8repirLA8uVfQ32rWLzeB74IK3Hic 6khMBdaS7IF3hzkcifDsJp+K3im27pRxmtO225N3Fy71rQL8fM9FoIGor0mabMW+pCGU tkzlhPC72X+8wcmzaCb9Pqjg5Fs7f8xiGzM+4zBy2BrrXxzd+YME4fNdkG8j+Eb50Trx Og+T+QetaJnBe4PlqcKrJ3rqK7ZWzqHtBsSVSbTJtNTrVa6oVN3QgIvAq714ngipZyLD cOIJL7dXrMCthBeX3Hr1jGX++Y/Xg7+O2vycVX7+cRDaCxIFD/cI8DUqKEvCkCL7Bhoy mQfQ== 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=ir1MtrtnpXYdPHARbqebfttV/mt25snaQcdTjXYzUZY=; b=q6ubox/bpgrHL6D7nmudetWbfX8PGxtexj9e595PYzFLC4bjkL3MqlXhW9CiicIEcw CA/kAb40FJFmhwtnoPUZ0jUPtMgbG+79CnKfeLtR6fkfS80lRd2/BMq855nqMJdUUaTS hWZLXWq9pokhsTb9ASdFmJ8zmaIn/tqeXi59IHSECFZBEsRB737XW0aFc3dG446ctAVK yXji7zxm05+cBcSXUac76l3F/9c820cM+Rs7hkTuq16DeOwNP+WCHJFRJODLKuXAgzU+ KccInM+u90y8JKBqmhgIoy3eQMIPxKSJcsAhS5ON9RgfI2XzftnqnIV1oWskmxpJilIh FVIQ== X-Gm-Message-State: AElRT7EDv1FEJ65Y8R0Xirfij2bbue2dHJPtLGd4NSnT0qh8Jidlklem 3Y8WzmGMGWaY6Y52BCgTb8MGWQ== X-Received: by 10.200.54.109 with SMTP id n42mr55463218qtb.271.1522087467271; Mon, 26 Mar 2018 11:04:27 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id r28sm8009901qta.77.2018.03.26.11.04.26 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 26 Mar 2018 11:04:26 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Mon, 26 Mar 2018 15:02:38 -0300 Message-Id: <20180326180239.2944-4-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180326180239.2944-1-jamrial@gmail.com> References: <20180326180239.2944-1-jamrial@gmail.com> Subject: [FFmpeg-devel] [PATCH 4/5] avformat/ttaenc: use AVPacketList helper functions to queue packets 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" Simplifies code. Signed-off-by: James Almer --- libavformat/ttaenc.c | 27 +++++++-------------------- 1 file changed, 7 insertions(+), 20 deletions(-) diff --git a/libavformat/ttaenc.c b/libavformat/ttaenc.c index add15873d0..8a8b565871 100644 --- a/libavformat/ttaenc.c +++ b/libavformat/ttaenc.c @@ -91,22 +91,12 @@ static int tta_write_header(AVFormatContext *s) static int tta_write_packet(AVFormatContext *s, AVPacket *pkt) { TTAMuxContext *tta = s->priv_data; - AVPacketList *pktl = av_mallocz(sizeof(*pktl)); int ret; - if (!pktl) - return AVERROR(ENOMEM); - - ret = av_packet_ref(&pktl->pkt, pkt); + ret = ff_packet_list_put(&tta->queue, &tta->queue_end, pkt, 1); if (ret < 0) { - av_free(pktl); return ret; } - if (tta->queue_end) - tta->queue_end->next = pktl; - else - tta->queue = pktl; - tta->queue_end = pktl; avio_wl32(tta->seek_table, pkt->size); tta->nb_samples += pkt->duration; @@ -131,16 +121,13 @@ static int tta_write_packet(AVFormatContext *s, AVPacket *pkt) static void tta_queue_flush(AVFormatContext *s) { TTAMuxContext *tta = s->priv_data; - AVPacketList *pktl; - - while (pktl = tta->queue) { - AVPacket *pkt = &pktl->pkt; - avio_write(s->pb, pkt->data, pkt->size); - av_packet_unref(pkt); - tta->queue = pktl->next; - av_free(pktl); + AVPacket pkt; + + while (tta->queue) { + ff_packet_list_get(&tta->queue, &tta->queue_end, &pkt); + avio_write(s->pb, pkt.data, pkt.size); + av_packet_unref(&pkt); } - tta->queue_end = NULL; } static int tta_write_trailer(AVFormatContext *s)