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;
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;