From patchwork Thu Oct 29 10:23: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: 23268 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 4D83844AA27 for ; Thu, 29 Oct 2020 12:23:56 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 21BF668AF26; Thu, 29 Oct 2020 12:23:56 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f196.google.com (mail-pf1-f196.google.com [209.85.210.196]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 86C5F6800A3 for ; Thu, 29 Oct 2020 12:23:49 +0200 (EET) Received: by mail-pf1-f196.google.com with SMTP id b3so1975250pfo.2 for ; Thu, 29 Oct 2020 03:23:49 -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=KZTGQECq7jQpstXxzhfhv5D/HdpLD1BhJ2i51GqYw5g=; b=iGzeCwZZ92zlUJFPwSQdVpJczyzZ7a2a1XC2RNVEBY/Q0A8b8ZdT/fAOr8YLs4MVSb St93QoTCB27qt9obmmn3J9br0v4YPMlxUYy8QlESD+lUJ0JZn4MmYkfs4T9BtM5ggL5t ajtL/QAFK3ncT58CdJH2gFwFmZsB8jcegvjjt0LsIXeJVeXiAkJTp9e9dLdcUHSI7jI6 x5z5sKOEt1zErC1pboegAbYZIos+qHSmJ0m7gJze+eHzKaBpv1BJREPVfkZqc0tSF7wb Q6psTukC4hL+uU8+Q39Y2e6I8q+vNuO5h0rCPEo5Kyk3r+SVnivAMw0I7LEhydZapnfh 9mlQ== 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=KZTGQECq7jQpstXxzhfhv5D/HdpLD1BhJ2i51GqYw5g=; b=ttcCWszZQ11TFKUUjml3ieI/iednmGWeETe2a1VVdjZgg9UVi86zCQwE2unH5CH5cK 3R12478Ep3VQwUq1C+uRTNKtHJaVpK6+QEHoqHXS79BBNbbmwFUD8lAQ+9YGKPgB2Gbf Ikzq7WE6Wnk0yA5d4XCGhNgDuOLS1AV5M7l3i6nomjfyRGz2SbvOGC48BkFLrcalMGhL T8ADorC5tYNYW5YzHoFSH2xrvdkMjN1lEoxr6TBcJkUmgbwYxVwfk6+gn+FkTQxvXWko IIX5RNJqRhppW4R8Ostcz+QxvgYVeXwPAiXLmP+6OMAW4x1kKp43W6FaeqXhtnZw2atF E2KQ== X-Gm-Message-State: AOAM531eyl9d4YGBpVn0IMe1ywflvI6yJSgEpLV4rRrEO5xqpSzxXBQF W0K+YF64QRBGGrScvbI9OQYTT/FvoP8= X-Google-Smtp-Source: ABdhPJzdsFuI9Twm7eiq6LBlaHUIJl3jaABuFvy76u0oCEIUE/M2nu+NB08cretOpwIwdYKXajkNTw== X-Received: by 2002:a62:7e44:0:b029:163:f1c3:3b32 with SMTP id z65-20020a627e440000b0290163f1c33b32mr3828726pfc.62.1603967027382; Thu, 29 Oct 2020 03:23:47 -0700 (PDT) Received: from vpn2.localdomain ([161.117.202.209]) by smtp.gmail.com with ESMTPSA id 30sm2257809pgl.45.2020.10.29.03.23.45 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 29 Oct 2020 03:23:46 -0700 (PDT) From: lance.lmwang@gmail.com To: ffmpeg-devel@ffmpeg.org Date: Thu, 29 Oct 2020 18:23:36 +0800 Message-Id: <1603967016-3408-1-git-send-email-lance.lmwang@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1603848684-32691-2-git-send-email-lance.lmwang@gmail.com> References: <1603848684-32691-2-git-send-email-lance.lmwang@gmail.com> Subject: [FFmpeg-devel] [PATCH v2 2/2] avformat/mpegtsenc: first timestamp check needed 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 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 383181d..9e105b7 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -232,7 +232,7 @@ typedef struct MpegTSWriteStream { int cc; int discontinuity; int payload_size; - int first_pts_checked; ///< first pts check needed + int first_timestamp_checked; ///< first pts/dts check needed int prev_payload_key; int64_t payload_pts; int64_t payload_dts; @@ -1699,11 +1699,11 @@ static int mpegts_write_packet_internal(AVFormatContext *s, AVPacket *pkt) dts += delay; } - if (!ts_st->first_pts_checked && pts == AV_NOPTS_VALUE) { - av_log(s, AV_LOG_ERROR, "first pts value must be set\n"); + if (!ts_st->first_timestamp_checked && (pts == AV_NOPTS_VALUE || dts == AV_NOPTS_VALUE)) { + av_log(s, AV_LOG_ERROR, "first pts or dts value must be set\n"); return AVERROR_INVALIDDATA; } - ts_st->first_pts_checked = 1; + ts_st->first_timestamp_checked = 1; if (st->codecpar->codec_id == AV_CODEC_ID_H264) { const uint8_t *p = buf, *buf_end = p + size;