From patchwork Sun May 20 18:53:57 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stephan Holljes X-Patchwork-Id: 9023 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp7565347jad; Sun, 20 May 2018 11:54:28 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoBuQ3opVbds024Snxk8AxkJ7auqC6UapXjIHwdDyC1VSl1HdySJnJAd2xf3MhrHBmvGJH6 X-Received: by 2002:a1c:a104:: with SMTP id k4-v6mr8706617wme.106.1526842468582; Sun, 20 May 2018 11:54:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526842468; cv=none; d=google.com; s=arc-20160816; b=MXx3nbvop96d8C8YRhcNztWTX3n30jFEnmTvO9LwkttnK291Enoa614hC8XPHI7fef MczLX2WCPd7zy2bVgK7jNcveET4m42/n9M4CSWsvMFeEO4UykAqdJ8hXR9MG6kgxndAu dJsmy8TJEwneocXclG0pK8eH81FefzdogUiv0uZnLC816XwZ1VUjgtnDiDf+8d1PJWJP sbKdaVIEP64d74LXluHjQhyLIK/sYc/x238hgf7ZeX9nahpZ9wVM3K49cL/gmBEkvlXL 6ZJ+hQlkwRDyvCcMIFZqBZYJvVFZUleBE7stU9OGso2JEaEBbNIPNEhbD+gz2pAFw51x zOkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:references:in-reply-to:message-id:date :to:from:dkim-signature:delivered-to:arc-authentication-results; bh=0Ot9N11qyJw3zhN3UUmnBBavPP+5jPsECH5JhJ8QWm8=; b=UhjRLPqrbivqqqetJDHA6QoPuoKcbqbtcgY662Pib1DNJ170g9PT6aCbWUo/mBNkxG UaZVoyesPQFjqxPkLpa4trbnssyzclTWLLGmdm4mQh5rni4pOZp+hVnXxaucg/Sqnd8c QKh/RztM3niIp5DsfhQdObwRTcUDptNjkUXzBvN+QPTUUCqKxyhk26oqYvAhyjbbT9i3 78nhhx+YoMrVlKdynGFOJQ87vnNbOrEqIg0E+DuyY+zjzlaCpYJLRislVg4sYXpaPKBS G1YmfXBlFC3tp6I78kdWOaHPpg9tlWpwaDrrSvyb7ZRp2ke6/EIdgvogZfqkaUxWXZUG J6Wg== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@googlemail.com header.s=20161025 header.b=lLQdNY+o; 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 sp=QUARANTINE dis=NONE) header.from=googlemail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n88-v6si10958750wrb.47.2018.05.20.11.54.28; Sun, 20 May 2018 11:54:28 -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 header.s=20161025 header.b=lLQdNY+o; 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 sp=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 3480168A52C; Sun, 20 May 2018 21:53:39 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr0-f180.google.com (mail-wr0-f180.google.com [209.85.128.180]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E30A668A2D4 for ; Sun, 20 May 2018 21:53:32 +0300 (EEST) Received: by mail-wr0-f180.google.com with SMTP id j1-v6so2924377wrm.1 for ; Sun, 20 May 2018 11:54:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=b+b+R2uFfdIA1q1SxV2jef2jSBa6xthF0fVveFFGR08=; b=lLQdNY+o2wc8sxR7h5pgsaUG7yriCJuE0i15p5EOwCt+RkT3ofyuLW2pWBnr8k/Rgt lt9/7J8XgrRX7j4FTnlR0W9WkndwZUtx4CL8mGlNBCauntkaZSARsBiJClhyWd09I2sM KAZqpxdg+UWMNBW2rV60qtl5VG+kzYSRDh8uGLolZVYMgAVxLAYixg8HVES4xIp+6gJ8 xXn8ZVvqWXja1Ve5YWuSbJamtv9YrFYSyCxcH8dAtVcPIMAz3KJsv85pkBR3hBzBtz7j 3ZmXyUusi1LLVFtWVOYTtRUthRYbocj34gqQT/cbnhAqzGj0Hhk/NtCKK8BiytaoNeJB DhEw== 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=b+b+R2uFfdIA1q1SxV2jef2jSBa6xthF0fVveFFGR08=; b=dDp9Lt9xOBa7TK+0g2fSSpfElYjfgzVorvpemfR6RH5xEyO/wTzoDb3Za+J6bvMafz tipQY5QQzu3BhhwwzuJSRHYZrGrcDB0OUNKnWxAhOu/U2LyAmHbL/xrWdWUR8Fb7D/Eh /I+t9HQBUH3BH5E5YWmgBZnqOY+yzA6ukBYnLtuaJ5ArELztCvHvhRsgcbZq+zYaVHJO ey7yGF8oAInaGwC0cPpmFXM9+KWUSzo3IoIrpYf3HbVv/rztieedBSOnirz20rNl25Gq PwO0bnU1Lsn4ZaKaVlEnrddcPNKo3zAAqDLtIXEtSmeZbk1dfvL+G+ELYl2QtwzyUelD ENog== X-Gm-Message-State: ALKqPwfnjyEKD1mWd9OcOTt2SEdGLnDkhcFrOqhWMsOuPDQ6pdA6Zorz rcgFPGBj/DFtaZAnthlVVpukHw== X-Received: by 2002:adf:b353:: with SMTP id k19-v6mr10371732wrd.207.1526842452633; Sun, 20 May 2018 11:54:12 -0700 (PDT) Received: from localhost.localdomain ([46.5.2.0]) by smtp.gmail.com with ESMTPSA id u8-v6sm3755918wmc.40.2018.05.20.11.54.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 May 2018 11:54:11 -0700 (PDT) From: Stephan Holljes To: ffmpeg-devel@ffmpeg.org Date: Sun, 20 May 2018 20:53:57 +0200 Message-Id: <20180520185404.29836-2-klaxa1337@googlemail.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180520185404.29836-1-klaxa1337@googlemail.com> References: <20180520185404.29836-1-klaxa1337@googlemail.com> Subject: [FFmpeg-devel] [PATCH 1/8] ffserver.c: Different timestamp scaling, still does not properly work with mp4 files? 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: Stephan Holljes MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Stephan Holljes --- ffserver.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/ffserver.c b/ffserver.c index 39e1c32..bd7c694 100644 --- a/ffserver.c +++ b/ffserver.c @@ -127,13 +127,13 @@ void *read_thread(void *arg) pkt.dts = 0; } - pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, tb, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); - pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, tb, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); - pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, tb); - pkt.pos = -1; + //pkt.pts = av_rescale_q_rnd(pkt.pts, in_stream->time_base, tb, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); + //pkt.dts = av_rescale_q_rnd(pkt.dts, in_stream->time_base, tb, AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); + //pkt.duration = av_rescale_q(pkt.duration, in_stream->time_base, tb); + //pkt.pos = -1; // current pts - pts = pkt.pts; //av_rescale_q(pkt.pts, in_stream->time_base, tb); + pts = av_rescale_q(pkt.pts, in_stream->time_base, tb); // current stream "uptime" now = av_gettime_relative() - start; @@ -249,8 +249,13 @@ void write_segment(struct Client *c) if (ret < 0) break; - pkt.dts = seg->ts[pkt_count]; - pkt.pts = seg->ts[pkt_count+1]; + pkt.dts = av_rescale_q_rnd(seg->ts[pkt_count], fmt_ctx->streams[pkt.stream_index]->time_base, + c->ofmt_ctx->streams[pkt.stream_index]->time_base, + AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); + pkt.pts = av_rescale_q_rnd(seg->ts[pkt_count+1], fmt_ctx->streams[pkt.stream_index]->time_base, + c->ofmt_ctx->streams[pkt.stream_index]->time_base, + AV_ROUND_NEAR_INF|AV_ROUND_PASS_MINMAX); + pkt.pos = -1; pkt_count += 2; ret = av_write_frame(c->ofmt_ctx, &pkt); av_packet_unref(&pkt);