From patchwork Fri May 4 06:32:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jeyapal, Karthick" X-Patchwork-Id: 8775 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp271842jad; Thu, 3 May 2018 23:32:56 -0700 (PDT) X-Google-Smtp-Source: AB8JxZq5kr3UqLJZF3GXFtkjk/opA5uikeFnsbHBktaHqXNaUJ79cbCGDLPykQiXANH2zCmS8FWB X-Received: by 10.28.214.14 with SMTP id n14mr17796720wmg.102.1525415576843; Thu, 03 May 2018 23:32:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525415576; cv=none; d=google.com; s=arc-20160816; b=MpxWbUsMPy2kT2WY1x16IIKO+A8NzaVvLEQ5BARmFRn14InYa0KLPMgrs3kvbE7LgB kDvyZPItQmmB0zK2VvvuqW9Q3j1Rdd9/w0M5mceKoyzgHsRDBXEwGgZwVmkGHgg4SfIN /oXsyfIWoqGd3r3wc1kQVmqaxPcYBgffWuJ5wTakjNFtyTJ5Y6QMm3SyXhjOFi8C1jFq uuI/AqyMFp35b6ffZGS/WY/Wyx7e5x6lr7BY35jvwTogQ8JxlzVi+TT96C0nLAkWLwqc T6LPPEElDSuMcps58BT2TdGOf/njNUCqbTbWZGBp7PFe0xQtK+dlP1cJnvEba1VJBW22 QX9g== 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:feedback-id:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to :arc-authentication-results; bh=FbHruiEgAnlrLwdTRjHzV04pwhxa49a+jz6QPwtezWk=; b=LPaipwU4SEJi8gvzHiuV0VW/mPgtt6IxXblkuvhSyFpCUEUFIl9uLAkTwhjKR/ZJ4E BhlqXkDL0f2EMwhMxLbWznaNop38WTH0e8rh6sTahgx6vUKnm2QiC+zfy3FieGTZZibz ZpQp6Y1DWmYf3Qx3grucPoQQvY6L878anWfERhbefT2XJ6T9+2jiRrDOIY7MTZGBfC75 mk3kO9pBsFAkREkU68/U16K22dMXZYCrOP8cRGx3RgUkt0rjF+t4yXzA0M0TIwY0WnK+ QrGUQL2uEYLraCLEUum6y5Y0Kx4hHH67VogogDl/bZ/2foFqTpLAD9rrHAVSILoQwgUX KDnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@smtpservice.net header.s=m78bu0.a1-4.dyn header.b=AUtY/16J; 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=NONE dis=NONE) header.from=akamai.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a64si831755wmf.129.2018.05.03.23.32.56; Thu, 03 May 2018 23:32:56 -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=@smtpservice.net header.s=m78bu0.a1-4.dyn header.b=AUtY/16J; 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=NONE dis=NONE) header.from=akamai.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D9A9068A50E; Fri, 4 May 2018 09:32:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from a1i318.smtp2go.com (a1i318.smtp2go.com [43.228.185.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id C1B2F68A4CE for ; Fri, 4 May 2018 09:32:09 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=m78bu0.a1-4.dyn; x=1525416468; h=Feedback-ID: X-Smtpcorp-Track:Message-Id:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe; bh=+nNcWWJQFkCjzSn+CGEs0R02N+Uw1v/eS8POyUgAY2k=; b=AUtY/16J 18rxgryTokTonDgq3j2QUbEYlk/VxqXvJ/CVRzCrev7LxmCplYC1/FOFkji9RR5t6VeqmdMRDt0KM dcBmjo2vMaoxyDfwK+RO61ugg1ACsXXydCv8pET6Crnk6tmVQ7z1OMD+fGkuz1o1FYGjMRcUMXTkK vQV8TtD6fXeC4CdFZgkCDxQdiQiu1n+VrKDgmk0W1ryqFmOIqQejcnJczwUEXTBRkHYZ4EEgndyuo plgYLf66OBep0ZXEyZJtCJYQG+3Cfsy8StN4SghfdeT131QAGVtH9hRQJPlyE754SkYyqncQGPBlf bxeeYsHXf0NZo7RWiGhBmlJmDw==; From: Karthick J To: ffmpeg-devel@ffmpeg.org Date: Fri, 4 May 2018 12:02:21 +0530 Message-Id: <1525415541-11801-2-git-send-email-kjeyapal@akamai.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1525415541-11801-1-git-send-email-kjeyapal@akamai.com> References: <1525415541-11801-1-git-send-email-kjeyapal@akamai.com> X-Smtpcorp-Track: 1fElG_4baj8SKQ.676GHwFPl Feedback-ID: 337386m:337386asVRLGB:337386soov_WZV0G:SMTPCORP X-Report-Abuse: Please forward a copy of this message, including all headers, to Subject: [FFmpeg-devel] [PATCH 2/2] avformat/dashenc: Added a warning for incorrect segment name extension 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: Karthick Jeyapal MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Karthick Jeyapal Applicable only to webm output format. By default all the segment filenames end with .m4s extension. When someone chooses webm output format, we recommend they also override the relevant segment name options to end with .webm extension. This patch will issue a warning for he same. --- libavformat/dashenc.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 412f074..bd374e2 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -177,6 +177,16 @@ static void dashenc_io_close(AVFormatContext *s, AVIOContext **pb, char *filenam } } +static int check_file_extension(const char *filename, const char *extension) { + char *dot; + if (!filename || !extension) + return -1; + dot = strrchr(filename, '.'); + if (dot && !strcmp(dot + 1, extension)) + return 0; + return -1; +} + static void set_vp9_codec_str(AVFormatContext *s, AVCodecParameters *par, AVRational *frame_rate, char *str, int size) { VPCC vpcc; @@ -967,6 +977,14 @@ static int dash_init(AVFormatContext *s) if (c->segment_type == SEGMENT_TYPE_WEBM) { snprintf(c->format_name, sizeof(c->format_name), "webm"); + if ((!c->single_file && check_file_extension(c->init_seg_name, c->format_name) != 0) || + (!c->single_file && check_file_extension(c->media_seg_name, c->format_name) != 0) || + (c->single_file && check_file_extension(c->single_file_name, c->format_name) != 0)) { + av_log(s, AV_LOG_WARNING, + "One or many segment file names doesn't end with .webm. " + "Override -init_seg_name and/or -media_seg_name and/or " + "-single_file_name to end with the extension .webm\n"); + } } else if (c->segment_type == SEGMENT_TYPE_MP4) { snprintf(c->format_name, sizeof(c->format_name), "mp4"); } else {