From patchwork Mon May 14 06:11:25 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jeyapal, Karthick" X-Patchwork-Id: 8943 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp3664880jad; Sun, 13 May 2018 23:12:13 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoQwANM8piBzsofCohtMZisqvEkExG5Z7qU46q5sfKLNAjL9A9TE1qVqEWRm9q6f7qirpt8 X-Received: by 2002:adf:99c3:: with SMTP id y61-v6mr5400717wrb.277.1526278333231; Sun, 13 May 2018 23:12:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526278333; cv=none; d=google.com; s=arc-20160816; b=tpIa+kp18AFFwXGx1hGFPe4DLQb4hN0LzJvLPL5rixxl9o4OWi68V84P/isEBRqE5Y 5WnsYHz6GZFGvStneeS479mAUQpovqq5MATyu/XnS7FlX9uz1KEh1seSu9J/jIuWR5z2 aHmMqb4LXDyIOS2ax1ebgmsPFfHI9XlHjTCX2u9T0zkjOJEHQNqRjBYYdVXW/iZW/NIS MAUygsmFyx6Eb3eEZVnZ17MG7DzpZS/Trdnz7i0exrgPx67TJ8NAlEQyji5i36iteqxg dVTzUw8tJv8AwqiutP35te5AEZBI6kQVR4+ppAB55P1GRZEAO2Nce9eSxY/VWpoic1Jk DxjQ== 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=0TOuaXEfwQh99grZluRd0RcRQXGwpSGGB2r9zxPw9Bo=; b=r72QiAUln4GgDec9yfZQB7icfItbZqzzpcggGg5wZ0UvvYM+E+2tM9kihVsQnwA5DW 8g3wcmE9Fsvcolx2J7cybnqWqS88LCfI/yaW7SFZqOchE+upjXicRxjvonfxSrlDIScR OpOchPk8IJZrBx/rZyKXM+woLFXuwJZvyzN+LcSscgd4zhu5OWBjS8s9uNS5FRLahy1m +KrmyQzYpUhlByKLRk4n2EEIhrzWDQK3laxM2oiXrzJOYxSnneSTgKYBg98m1PylpFIm riAMPTN/mbOPQ9g61qh1pY8gLq2ju8eZ7Kay9QMWe6myYC+/P1p3sMTRSyKh9mCm7ce7 HiIw== 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=BTXHUrk1; 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 z64-v6si4850824wrc.248.2018.05.13.23.12.12; Sun, 13 May 2018 23:12:13 -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=BTXHUrk1; 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 04B35689E48; Mon, 14 May 2018 09:11:34 +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 1DC40689206 for ; Mon, 14 May 2018 09:11:27 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=m78bu0.a1-4.dyn; x=1526279230; h=Feedback-ID: X-Smtpcorp-Track:Message-Id:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe; bh=DsOl/q43by3cUwbbK7swxMY1TV9GjgWOmA+2eHMqixg=; b=BTXHUrk1 TL40WAHzoUSaMuQjpaTOAjEQGOTf7NdaqZyx/chd8Ph6jIeHkg83Nk5Bk/EFZWWU7kllIjhdfhNm1 NxXw4EdoekQ0h0QgdBy3aS88v5Pb8jngd0RHIrDjdZSTC73sOC7sgN/wx5rYCUjDY+GxEnPBpJKjF n5I8k1SAmIf3Ox3aKoxn1TfnPn+upAwMIiX2y9WhEP06IoqSnjd2xAVVqKnCJZIH/x+x/EW2kXr0M Gc8NnSY6J1IVUAfR+60ZGnrx7u8M6x2gMhKwEsJzINUrDg9UVu+n/7aLdV/zbJnGJqgI2HhUnnvkG NT4jI7Xidqu66P8CeX5QIgyzBw==; From: Karthick J To: ffmpeg-devel@ffmpeg.org Date: Mon, 14 May 2018 11:41:25 +0530 Message-Id: <1526278285-32733-2-git-send-email-kjeyapal@akamai.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1526278285-32733-1-git-send-email-kjeyapal@akamai.com> References: <1526278285-32733-1-git-send-email-kjeyapal@akamai.com> X-Smtpcorp-Track: 1fm6imDIIP9V8g.AWizx-FF9 Feedback-ID: 337386m:337386asVRLGB:337386s7a-AifXjh:SMTPCORP X-Report-Abuse: Please forward a copy of this message, including all headers, to Subject: [FFmpeg-devel] [PATCH v2 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 | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 9a57ad1..4e83112 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -195,6 +195,16 @@ static const char *get_format_str(SegmentType segment_type) { return NULL; } +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; @@ -986,6 +996,17 @@ static int dash_init(AVFormatContext *s) c->format_name = get_format_str(c->segment_type); if (!c->format_name) return AVERROR_MUXER_NOT_FOUND; + if (c->segment_type == SEGMENT_TYPE_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"); + } + } + ctx->oformat = av_guess_format(c->format_name, NULL, NULL); if (!ctx->oformat) return AVERROR_MUXER_NOT_FOUND;