From patchwork Mon May 2 07:30:17 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Unterweger X-Patchwork-Id: 35540 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp1677164pzb; Mon, 2 May 2022 00:30:36 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxg/DWqrbGDw2ztuxdIO480W00xyweuewhaOuR9XsY9O4hIeREgfC1bQa0GYdOIsP1p9ygT X-Received: by 2002:a17:907:1b19:b0:6f0:1022:1430 with SMTP id mp25-20020a1709071b1900b006f010221430mr10429564ejc.13.1651476636762; Mon, 02 May 2022 00:30:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1651476636; cv=none; d=google.com; s=arc-20160816; b=nfc1lvlVYNZS2KS7ZVgT5Yhrpi36cYF66mCAFxSuwIjwvChTtZhaTwsIRXojpQaRSK 15J7vbkQEciROX6u8yfeW3/6tIBODLmAmJ8Mq1LIfwYcopkB4U0vxi+W825PAfe3L9gC BC+la7Tgq57YAuo0y3/n/bzxajNSscDvaRkDRdk3f3kypNYKXvQonVtzO6c/GkeN9yIv NF8pMvDymanNyYUk9xNch/WPhojGxI/D3sM/zcavVyC9ieS6y8+JZLQTvHh5pT+MQfHG dPtbKvEhk9W57jaQn9Z1qp7LNyeX5F2H64JwAGfNTgPRV10dFmCiaXKpjS3rQYa18k3X qfbg== 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=nXcI0k4Aq3rdyTQI1zlIr7lxgdlvPVsTl6p/8buSLI0=; b=FcxuQ8j3iBoECLRrQfjrtdE/4mNmcLsNLQXLSc99QZMob/mfNzrnOY39aPVL9wR/YO 48cV7IeRtTyf0iG6VkY9MSaio7VsTaG2vB/r2giH6XdZ+SVuu8ZYiv6lERU1pQX4vQl/ fUH5FuIeZ6eKvOX1QECYQI6K/pc75dIfXpGnDG4Of2MEzfAJQAb9pHHo4lNr90JTd3sN t0ZNU9LGfqEqkr17xYWsbL4P1Rqxg2JtKK9zF9GK74aLrl2pR5/F7ehWFSF9Q456w1sf vg7p1vt5VJfMDNxcb0x/Ci+8d01X2wi7xlVJXVnsSptWKBq7bSMZ/sxUZ4+hjHxmwN5U TDrA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20210112 header.b=YCAgKcek; 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 n19-20020a1709065e1300b006f39657d6c2si11516895eju.783.2022.05.02.00.30.36; Mon, 02 May 2022 00:30:36 -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=YCAgKcek; 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 9568968B2BE; Mon, 2 May 2022 10:30:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com [209.85.208.174]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9E0B468B284 for ; Mon, 2 May 2022 10:30:28 +0300 (EEST) Received: by mail-lj1-f174.google.com with SMTP id q14so17377205ljc.12 for ; Mon, 02 May 2022 00:30:28 -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=XC+ZxTdzQwrfnNuPgD/72jtZIFRul3YX0OK0PJx7JOM=; b=YCAgKcekM2Wm9CMIiJ6YImJKaPMF3zcKLHw/A0LSnQyBXcHIbb1Eey8HQKkOZ5pNDO gmouRraeJtsTkidSPF7NPg0vzF8BM6fErEz8j1Aw4dDzHj1d3h2moX0UqaCOH4OMCP9t zUgmmu3ffXkI85hx6+kx4d4fF9ZjG/y6aorfEHqqCvBzhLtp02bcOIwWp0LaG35cu2Cc mdOA482kvMjsW+Qh0Jvqw9TZqHMnXcKHkCh1HTpD6DtZqv7etW26Cdp/0+UVFOipBP0V YMqxHK6iU/uM6fat3XGaNVuFgSk+U63HTxMGTtXvs0Ll/SfTpAfATRatsB65w8zzPjt8 M6cA== 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=XC+ZxTdzQwrfnNuPgD/72jtZIFRul3YX0OK0PJx7JOM=; b=ZVIde47kXtYSLhrIjiI+ckw3zODehmntLHItF0lLAYYcNg9CEtmqAk2CObbyQ4FMq2 A967G8wLfyyHz/rNdXh5d0w/HsvEC/nR5wJEV3X51K1HbNnHPKly7BQXtwBPlyHgSQC8 9rUM9hAn5006IxuktPtyDH3sKVT+dqRnoS0giKc5uWISuBS/gvvMvwAHHdCJ6T4IUMH8 0z6PASFzgn1wFT0tgBRROlfqrUuM8CgZM4CSBlVYF36v0QJKpcqOIdlqYm8xYSCEiRzd 4pg9FfJMyfFB6fGa5gzShr740L4r3XNzYnRm6DQMT5tbK1Tr/LfyNsi4+p4IMw9BcUul +Nsw== X-Gm-Message-State: AOAM533WzA28jhtvII/z0LS/g2j48d/iGnbIzMUeUYPYAqfv2xkzdHMP /nc4t6awgTfgt6wSVxGt5S7hV1NumV66tlXmBoMnhsqxE5ZtDA== X-Received: by 2002:a2e:1542:0:b0:249:a4dd:8ca5 with SMTP id 2-20020a2e1542000000b00249a4dd8ca5mr6954380ljv.303.1651476627882; Mon, 02 May 2022 00:30:27 -0700 (PDT) MIME-Version: 1.0 From: Andreas Unterweger Date: Mon, 2 May 2022 09:30:17 +0200 Message-ID: To: ffmpeg-devel@ffmpeg.org X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [FFmpeg-devel] [PATCH v7 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: Je154tlSbZpH 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(-) fprintf(stderr, "Could not find input codec\n"); 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))) {