From patchwork Wed Jul 22 15:27:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lance Wang X-Patchwork-Id: 21224 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 E503A44030B for ; Wed, 22 Jul 2020 18:28:07 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CB9BA68B733; Wed, 22 Jul 2020 18:28:07 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl1-f196.google.com (mail-pl1-f196.google.com [209.85.214.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3097A68B644 for ; Wed, 22 Jul 2020 18:28:01 +0300 (EEST) Received: by mail-pl1-f196.google.com with SMTP id x9so1172252plr.2 for ; Wed, 22 Jul 2020 08:28:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PD5nmCdx5/8mheygQ/AL02IstyfsG45JO6nqrY2khPI=; b=u+7CrlLldXT3PmmlWd9+SbB3t/cFFy/OwHHlpbDElc3JnRdxAdCof2fReJ25F5CSkP 7QG7KxRv5Y6/OiOBspo7HQQ/JpX+ULD8XHM3DRlzu3E+qIWK1LZhUOO4c4KgiV9FDqFy 1mF7h2fYBcOO76hXbt+dhzKMkHRkMyFfUe78Xpp2nDcGRDbPJN7WCJsBYZH53XgKLfxB bBFsegHdu6PnIxbXIFPnHVI65yxwWJsabJrqSBxIeAt1UPDPe1P5Do+0uHcHsdQxu7wu gwLd1B3wzM2xCWFtj5fYhdTYoh3AeZobvrGnMCIAK/wsJrMElOFui3DvjkgxqJ732nHh sEMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=PD5nmCdx5/8mheygQ/AL02IstyfsG45JO6nqrY2khPI=; b=PHSzusTo1VzE2ljzrArk5xJnJazMnMAwVnUGt2nUQVZ6V0zs1cehrGTp7eRlROwUfN Fbn+Yb8pwSt5EzcK5Tp49x4YSO6t0SDg2FQjK4Jb+q5Fdmfj069eXcsgeCzfdY1M6X7A JodfP3mdzPADGspYZ3qGq8+aeZ71sH8a1XFKpRwcBrmAPPWAf9GcrUCFk/KE8r69HB3Z psaX7u5CYEAjwfn/ewWR6dW+LMsHPkZ1arq5dyUV88GrPlFD3xbshV+v+YyGmo/5I0R8 MfIQP/P0PAKEZ3yFNvXO8CWxjlhwbbgHLbThLleU0RWZNmkKKPmEmwO47RHhyqrMMi2G 5d+Q== X-Gm-Message-State: AOAM532qgZjiN/jFBiXeKLLndUDvgMLVb2zvkDUopWoYnIV4hMV2qr8r a592+qGnUw+hDI/gcNLv7NV8jRAv X-Google-Smtp-Source: ABdhPJw8W4bWcdu70Lr70EuwTdhYhUXx6rmizsUx5o0lD5h80cvCjDMHPaR0hcMjT8NnhN28DeNwCQ== X-Received: by 2002:a17:902:a713:: with SMTP id w19mr32445plq.146.1595431679289; Wed, 22 Jul 2020 08:27:59 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id w71sm233889pfd.6.2020.07.22.08.27.57 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 Jul 2020 08:27:58 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 22 Jul 2020 23:27:36 +0800 Message-Id: <1595431659-664-5-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> References: <1595431659-664-1-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH 5/8] avformat/mpegtsenc: use local variable store st->codecpar->codec_id 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: Limin Wang MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Limin Wang Signed-off-by: Limin Wang --- libavformat/mpegtsenc.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 28d535a..718ddab 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -453,6 +453,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) AVStream *st = s->streams[i]; MpegTSWriteStream *ts_st = st->priv_data; AVDictionaryEntry *lang = av_dict_get(st->metadata, "language", NULL, 0); + enum AVCodecID codec_id = st->codecpar->codec_id; if (s->nb_programs) { int k, found = 0; @@ -484,19 +485,19 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) switch (st->codecpar->codec_type) { case AVMEDIA_TYPE_AUDIO: if (ts->flags & MPEGTS_FLAG_SYSTEM_B) { - if (st->codecpar->codec_id==AV_CODEC_ID_AC3) { + if (codec_id == AV_CODEC_ID_AC3) { *q++=0x6a; // AC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... - } else if (st->codecpar->codec_id==AV_CODEC_ID_EAC3) { + } else if (codec_id == AV_CODEC_ID_EAC3) { *q++=0x7a; // EAC3 descriptor see A038 DVB SI *q++=1; // 1 byte, all flags sets to 0 *q++=0; // omit all fields... } } - if (st->codecpar->codec_id==AV_CODEC_ID_S302M) + if (codec_id == AV_CODEC_ID_S302M) put_registration_descriptor(&q, MKTAG('B', 'S', 'S', 'D')); - if (st->codecpar->codec_id==AV_CODEC_ID_OPUS) { + if (codec_id == AV_CODEC_ID_OPUS) { /* 6 bytes registration descriptor, 4 bytes Opus audio descriptor */ if (q - data > SECTION_LENGTH - 6 - 4) { err = 1; @@ -611,7 +612,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) const char default_language[] = "und"; const char *language = lang && strlen(lang->value) >= 3 ? lang->value : default_language; - if (st->codecpar->codec_id == AV_CODEC_ID_DVB_SUBTITLE) { + if (codec_id == AV_CODEC_ID_DVB_SUBTITLE) { uint8_t *len_ptr; int extradata_copied = 0; @@ -653,7 +654,7 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) } *len_ptr = q - len_ptr - 1; - } else if (st->codecpar->codec_id == AV_CODEC_ID_DVB_TELETEXT) { + } else if (codec_id == AV_CODEC_ID_DVB_TELETEXT) { uint8_t *len_ptr = NULL; int extradata_copied = 0; @@ -697,9 +698,9 @@ static int mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) } break; case AVMEDIA_TYPE_DATA: - if (st->codecpar->codec_id == AV_CODEC_ID_SMPTE_KLV) { + if (codec_id == AV_CODEC_ID_SMPTE_KLV) { put_registration_descriptor(&q, MKTAG('K', 'L', 'V', 'A')); - } else if (st->codecpar->codec_id == AV_CODEC_ID_TIMED_ID3) { + } else if (codec_id == AV_CODEC_ID_TIMED_ID3) { const char *tag = "ID3 "; *q++ = 0x26; /* metadata descriptor */ *q++ = 13;