From patchwork Tue Oct 11 17:24:44 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexey Eromenko X-Patchwork-Id: 959 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.66 with SMTP id o63csp44248vsd; Tue, 11 Oct 2016 11:06:14 -0700 (PDT) X-Received: by 10.194.59.18 with SMTP id v18mr6694948wjq.69.1476209174565; Tue, 11 Oct 2016 11:06:14 -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 g62si22212wme.16.2016.10.11.11.06.13; Tue, 11 Oct 2016 11:06:14 -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; 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 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 D884B689B32; Tue, 11 Oct 2016 21:06:11 +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 3888168920D for ; Tue, 11 Oct 2016 21:06:06 +0300 (EEST) Received: by mail-wm0-f65.google.com with SMTP id b80so20590wme.3 for ; Tue, 11 Oct 2016 11:06:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=BOL3j4SzZDaapAQBQPbgkCk3/MZ+NTyqwsqfgZt3FAs=; b=ZH6F2toGT0opMqiH21zJsHl9G+PfpJgckttVq3Lj9Lzh9Gu6mY8iXjZxsnyfQf0cKW +dSmTZDcTW/6Zk47j60xekjzwnOqQz6cKviqhoANW/Q1GHzx7fHYPIghAxQ7OEl7bR2X kh5EnKFS5+J/kOEDIxOmjNMEbQmiDTDFH9LNcDcU2TIB3En3OXp8GR1Xr7KpRFleHGtH xq8cMXiYcha+c6Fm7bsUZvtPW69y8jDIUaqv46LECwUiL3k+Srghx2oKEHS+Aqq+DmBc q3vBAVh8dKnNoAV0V4i3mIhDInhgpLsuTwS5uONmEBEoyaqRYNX0ER4pua0QUo67IavM CLTw== 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:in-reply-to :references; bh=BOL3j4SzZDaapAQBQPbgkCk3/MZ+NTyqwsqfgZt3FAs=; b=Jxq5jPRESIld8k21o97wvuTsD4dtBklT2e++joQbZk9mokGXeSl5cZ0Q7KBlpXjmX0 iZFCM54zAq33r99LC8WKNYLCv95qCmaUzy9P0hsMbSUy9aOWY+ho64zYD0kbTn+X4kRO O9ZPEJnV5fbcO/8qnAnADluDTV8PsGIPT3CtNQeEdswKH+6njITsxhUQr9heryz3RIIG vThu5hWVF62pNVTw5NF/nX+ZBH4aljj0ydcCIOR6N88uo2j8/M5xgdEUs9xLPUUbvFVq vvzZ14ZW3iubVGOMeSBnO4L7V10AB16h4rMGIOFI7LuhCGSmus/UosjDMb5zGGLgS8vJ l14g== X-Gm-Message-State: AA6/9RnWyASBdnrwtw03yiVyaQdb2I7HyLmXLuUxX7n3hxFLa76fAh55tKZnK56WObpviw== X-Received: by 10.194.145.37 with SMTP id sr5mr6664923wjb.194.1476208069222; Tue, 11 Oct 2016 10:47:49 -0700 (PDT) Received: from localhost.localdomain ([82.166.21.133]) by smtp.gmail.com with ESMTPSA id zz9sm8163009wjb.36.2016.10.11.10.47.48 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 11 Oct 2016 10:47:48 -0700 (PDT) From: Alexey Eromenko To: ffmpeg-devel@ffmpeg.org Date: Tue, 11 Oct 2016 13:24:44 -0400 Message-Id: <20161011172444.4295-2-al4321@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20161011172444.4295-1-al4321@gmail.com> References: <20161011172444.4295-1-al4321@gmail.com> Subject: [FFmpeg-devel] [PATCH] Apple Quicktime fix 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: Alexey Eromenko MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavformat/movenc.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/libavformat/movenc.c b/libavformat/movenc.c index 8b4aa5f..0e2fc55 100644 --- a/libavformat/movenc.c +++ b/libavformat/movenc.c @@ -5666,16 +5666,20 @@ static int mov_write_header(AVFormatContext *s) while(track->timescale < 10000) track->timescale *= 2; } + if (track->timescale > 100000 && (!mov->video_track_timescale)) { + unsigned int timescale_new = (unsigned int)((double)(st->time_base.den) + * 1000 / (double)(st->time_base.num)); + av_log(s, AV_LOG_WARNING, + "WARNING codec timebase is very high. If duration is too long,\n" + "file may not be playable by Apple Quicktime. Auto-setting\n" + "a shorter timebase %u instead of %d.\n", timescale_new, track->timescale); + track->timescale = timescale_new; + } if (st->codecpar->width > 65535 || st->codecpar->height > 65535) { av_log(s, AV_LOG_ERROR, "Resolution %dx%d too large for mov/mp4\n", st->codecpar->width, st->codecpar->height); ret = AVERROR(EINVAL); goto error; } - if (track->mode == MODE_MOV && track->timescale > 100000) - av_log(s, AV_LOG_WARNING, - "WARNING codec timebase is very high. If duration is too long,\n" - "file may not be playable by quicktime. Specify a shorter timebase\n" - "or choose different container.\n"); if (track->mode == MODE_MOV && track->par->codec_id == AV_CODEC_ID_RAWVIDEO && track->tag == MKTAG('r','a','w',' ')) {