[FFmpeg-devel] [PATCH v2 2/2] avformat/dashenc: Added a warning for incorrect segment name extension
Jeyapal, Karthick
kjeyapal at akamai.com
Mon May 28 09:12:49 EEST 2018
Pushed Patchset.
On 5/4/18 12:02 PM, Karthick J wrote:
> From: Karthick Jeyapal <kjeyapal at akamai.com>
>
> 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 {
More information about the ffmpeg-devel
mailing list