From patchwork Thu Apr 28 13:26:11 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Unterweger X-Patchwork-Id: 35468 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b9e:b0:7d:cfb5:dc7c with SMTP id b30csp3588651pzh; Thu, 28 Apr 2022 06:26:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJznM8LwnhIuXjrHkgjvVapN02PvNN4uKYRLmgw+8SWBX9uSvIueenSrXwwnpBEhAQE9TUaH X-Received: by 2002:a17:907:971b:b0:6f0:99d4:96ae with SMTP id jg27-20020a170907971b00b006f099d496aemr30767542ejc.681.1651152387337; Thu, 28 Apr 2022 06:26:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651152387; cv=none; d=google.com; s=arc-20160816; b=OHpxc8Fdig+YJssTmhrGTdrhhkHzaeeXzJ0BZfrYmzp2o77XuNA/RR6jTKOJ7iWmdX pw1FCNnZja8rwjxvJeLHBmqu1tSfYe4bdKHZI3ZcROBSawjkGfUhB5e8j0FtDpEnzg1d xU3BDis/AxYlaqGRlasUAAFV3Wv7ErIUitRkaAphbrj5vBIB7d3Tav8j7OTt9sj+Kn0B 3XdImBdzyGHdwS+m3ddXNx826xCEPNtdgQjzcGZCoG9vcfK5z/5Lo+QKif5fRNvW7qN9 Gxc1R06uRtw8T+ZIVXtn8SA/3XuT97+VG9ta7+OxKpDZh5iAAK9+Yorl1WkoyzeXq4e3 F6OA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:to:message-id:date:from:mime-version :dkim-signature:delivered-to; bh=+grfDwwUI37NUGHNcGGz7sW9p/BGkspbzfby2cxc1S8=; b=CXavwLW9fLOyi6XLyESWGFRLzbYOwelP+4ZXWj9qu5vDc//XZrD09LPB3szTWEmEGk k80I9yQlV6+5MwASvr51c5hUx9a82taPf/qkwAeSoouw4I5lDE30NN1WqfruCRndhR3n PqXMx6EN6P1sC7Yd+Obh45xPtEm4eIAnt4osUBXf+pfwVOHuRK3q/ZZrDPlrW3t+RBfM g/WlUp3OtTqDNx6p0OEb80vzJctPjp1VxTQn1eVVEGlV9R9oJK6QiOtLY3N5342DI+Bl VZ9Iz/H/15p2y/3OjzxItHHP7f1bw8CIOUyo95sE/e5lWz3BRPXDPkjzCFHc5mvKGFvL 5liw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b="bg/64+zR"; 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 gt8-20020a170906f20800b006e81dd29c00si3799973ejb.569.2022.04.28.06.26.26; Thu, 28 Apr 2022 06:26:27 -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=20210112 header.b="bg/64+zR"; 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 BD11668B3FD; Thu, 28 Apr 2022 16:26:24 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lf1-f47.google.com (mail-lf1-f47.google.com [209.85.167.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D575568AAA0 for ; Thu, 28 Apr 2022 16:26:22 +0300 (EEST) Received: by mail-lf1-f47.google.com with SMTP id x17so8592962lfa.10 for ; Thu, 28 Apr 2022 06:26:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:from:date:message-id:subject:to; bh=MlgpXcfxKoXxpZ64TvRQZJ9806QvfbYY0tOQ69v3QFg=; b=bg/64+zRNwCv3DVn4FAEGG9lfYZtNReVbEh2xPzkmx0s4i1+NWsgA5IT4aJmrIzqBw 2PBsRy6UBpmagOovnB9CwLA0GNdXst0B3kmXyt+Zp0B5l2qxJmWDi4GpKmcxhcSR3b9E ynHiLxs3XES345hRsj2vaEIIliyFY13ojDky3QPsWceofQKFXyDRXYReaSrkF7P8wsCx eo/TMNHKWmRdqs3IgkjRf0XrIXmooD+L4SE60KNwrYV/ZIAbOZVmuA7uOzVMROl4xtdh uCofmj/5izYg/rqKu0ZDvgHlBT9kax629fczDo9a+oiQU+rxdUG3b1abHR+QAMpoH1mZ wyBw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=MlgpXcfxKoXxpZ64TvRQZJ9806QvfbYY0tOQ69v3QFg=; b=jrisEHo7HR0LtG6Yn2Cx8dQd0zdLajsFywYYc5sS3j+qg4J0+fghcCeDjxzd0qv46m f22ZA374/rJE0MJ320symqzBr1QOWG3JCpeWC3iUQRU17IFzjt2Am2vMQzpLbELEM+vo CXXElrG3m7SsnbqEPtyFhCIr3jsW+8vqcm7yPIdri7q8f0Yb/M1eJkkSszOinxuiXDFS /BUj0F88D7j4xFSQpJ67bCKX/DjpKhermGcDgplxYDaD2ksfnQj+V9o5GDSlvcVqkLih u3FH7X315njSHuzJutsMTvXKIsdVWxWt6AdPV+Q3f1HiLAlGslHa7E0RKa+caxZj89kX 0FHQ== X-Gm-Message-State: AOAM5334QDjf6Gi8ze47FoB8DGX9aj3+wgufmlqxVU6xEOpDSnmpXkCB oPT8IxxSNU1+llN7OLhE3nZjy0oomm6OaUKzcKMTu2S86fQPHw== X-Received: by 2002:a05:6512:1398:b0:445:bcef:e4fd with SMTP id p24-20020a056512139800b00445bcefe4fdmr24124892lfa.398.1651152381606; Thu, 28 Apr 2022 06:26:21 -0700 (PDT) MIME-Version: 1.0 From: Andreas Unterweger Date: Thu, 28 Apr 2022 15:26:11 +0200 Message-ID: To: ffmpeg-devel@ffmpeg.org Subject: [FFmpeg-devel] [PATCH v5 2/4] doc/examples/transcode_aac: Set decoder packet timebase X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: TbBo3ew9+04h Previously, the default timebase caused two warnings during decoding about not being able to update timestamps for skipped and discarded samples, respectively. Signed-off-by: Andreas Unterweger --- doc/examples/transcode_aac.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) avformat_close_input(input_format_context); return AVERROR_EXIT; @@ -105,7 +108,7 @@ static int open_input_file(const char *filename, } /* Initialize the stream parameters with demuxer information. */ - error = avcodec_parameters_to_context(avctx, (*input_format_context)->streams[0]->codecpar); + error = avcodec_parameters_to_context(avctx, stream->codecpar); if (error < 0) { avformat_close_input(input_format_context); avcodec_free_context(&avctx); @@ -120,6 +123,9 @@ static int open_input_file(const char *filename, avformat_close_input(input_format_context); return error; } + + /* Set the packet timebase for the decoder. */ + avctx->pkt_timebase = stream->time_base; /* Save the decoder context for easier access later. */ *input_codec_context = avctx; diff --git a/doc/examples/transcode_aac.c b/doc/examples/transcode_aac.c index c9b93f6439..52548f080d 100644 --- a/doc/examples/transcode_aac.c +++ b/doc/examples/transcode_aac.c @@ -62,6 +62,7 @@ static int open_input_file(const char *filename, { AVCodecContext *avctx; const AVCodec *input_codec; + const AVStream *stream; int error; /* Open the input file to read from it. */ @@ -88,9 +89,11 @@ static int open_input_file(const char *filename, avformat_close_input(input_format_context); return AVERROR_EXIT; } + + stream = (*input_format_context)->streams[0]; /* Find a decoder for the audio stream. */ - if (!(input_codec = avcodec_find_decoder((*input_format_context)->streams[0]->codecpar->codec_id))) { + if (!(input_codec = avcodec_find_decoder(stream->codecpar->codec_id))) { fprintf(stderr, "Could not find input codec\n");