From patchwork Sun Oct 2 16:56:48 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: wm4 X-Patchwork-Id: 831 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.66 with SMTP id o63csp1213448vsd; Sun, 2 Oct 2016 09:57:07 -0700 (PDT) X-Received: by 10.28.189.197 with SMTP id n188mr2323798wmf.80.1475427427186; Sun, 02 Oct 2016 09:57:07 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id m68si14848376wma.60.2016.10.02.09.57.05; Sun, 02 Oct 2016 09:57:07 -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=@googlemail.com; 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=QUARANTINE dis=NONE) header.from=googlemail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C2CB4689CCE; Sun, 2 Oct 2016 19:56:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 37D96689BD3 for ; Sun, 2 Oct 2016 19:56:43 +0300 (EEST) Received: by mail-wm0-f65.google.com with SMTP id b201so5950611wmb.1 for ; Sun, 02 Oct 2016 09:56:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=IrbrmUqaolXDR1Iy6hEx221QmGJ9unJO/mFblKk+g3I=; b=qsDkw+872nGj0q6iScNLq58fS/M8tNvYhYUP/x5BQ8qZLScz20B9ZE7t7eGkxtWITH gKjOtyU39ECQ2+UkVKUDlpnALd5o/aziEW4KKL1yyBpl2ZlLMGJ+FuqwEIF8dM401AAA KHTMZU+ZTvXQ5MuPvaI2jomsT72rysks494en1+ucvITFbgkTPJo66jQgi01uzgSEK59 jEQNjkkdwt72H6PSjjBI8gWHNYlh74zHzxheh4kyGs7h7ap2GpezThSKdt+7OXpVAHRx C4l8gq8oYl/O45+GCCWbXARBVafsPhdlbxM4JQcB07wMsRWBX2P/gtOvdkyh/hG3YETK lp/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=IrbrmUqaolXDR1Iy6hEx221QmGJ9unJO/mFblKk+g3I=; b=RaqKmxt/YtuH/T6P10Xj1us6vvMm/P3NAIkxR4oPFrBM4ARE6vKuOn20BmXju0/MMR hmDXvIQee7/J6IbLhOTSmEn5B/I4x7+RiJxFbn9ANjns8icRCvwitg4t/XtdVBPIlfgP uih6vEbyvnwHiXau/G0R6fsRwxZCly7e0nNfK+ozqQYjlCwizBAQz4hwSOeo7k5j+3gj gBR6UXnMTlc+hPg4RduTQ//ySi3EnKAVAY1IUzoClzQ1jzp5/qbXlgV0XL7t3DNB0EFr lUUx5/rQoQA9si888gDPWOtW1zKsjQcY+IQn498m57xEJoNbwjV9oFFB3+i3908/Xboc PD7Q== X-Gm-Message-State: AA6/9RnB0K8EgaC8bEghrBhqbcZoK8YXi6KESw7/YECvfQ+SAxmQat964Rj++2Ut/nNftw== X-Received: by 10.28.12.16 with SMTP id 16mr3010637wmm.118.1475427416330; Sun, 02 Oct 2016 09:56:56 -0700 (PDT) Received: from localhost.localdomain (p4FF00686.dip0.t-ipconnect.de. [79.240.6.134]) by smtp.googlemail.com with ESMTPSA id y2sm30250037wji.42.2016.10.02.09.56.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 02 Oct 2016 09:56:55 -0700 (PDT) From: wm4 To: ffmpeg-devel@ffmpeg.org Date: Sun, 2 Oct 2016 18:56:48 +0200 Message-Id: <20161002165648.24615-1-nfxjfg@googlemail.com> X-Mailer: git-send-email 2.9.3 Subject: [FFmpeg-devel] [PATCH] lavc: set best effort timestamp if unset when using new decode API 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: wm4 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Some API users (in particular ffmpeg.c) check the best effort timestamp only. --- Still undecided if this is the right approach. --- libavcodec/utils.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libavcodec/utils.c b/libavcodec/utils.c index ef3da65..1875a69 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -2867,7 +2867,12 @@ int attribute_align_arg avcodec_receive_frame(AVCodecContext *avctx, AVFrame *fr if (avctx->codec->receive_frame) { if (avctx->internal->draining && !(avctx->codec->capabilities & AV_CODEC_CAP_DELAY)) return AVERROR_EOF; - return avctx->codec->receive_frame(avctx, frame); + ret = avctx->codec->receive_frame(avctx, frame); + if (ret >= 0) { + if (av_frame_get_best_effort_timestamp(frame) == AV_NOPTS_VALUE) + av_frame_set_best_effort_timestamp(frame, frame->pkt_pts); + } + return ret; } // Emulation via old API.