avformat/webmdashenc: Fix segfault when no filename is given when live

by checking a bit earlier.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
This commit is contained in:
Andreas Rheinhardt 2020-07-14 22:49:15 +02:00
parent 93694fe777
commit c1fab8637e
1 changed files with 5 additions and 3 deletions

View File

@ -171,8 +171,7 @@ static int write_representation(AVFormatContext *s, AVStream *stream, char *id,
AVDictionaryEntry *filename = av_dict_get(stream->metadata, FILENAME, NULL, 0);
AVDictionaryEntry *bandwidth = av_dict_get(stream->metadata, BANDWIDTH, NULL, 0);
const char *bandwidth_str;
if ((w->is_live && (!filename)) ||
(!w->is_live && (!irange || !cues_start || !cues_end || !filename || !bandwidth))) {
if (!w->is_live && (!irange || !cues_start || !cues_end || !filename || !bandwidth)) {
return AVERROR_INVALIDDATA;
}
avio_printf(s->pb, "<Representation id=\"%s\"", id);
@ -380,7 +379,10 @@ static int write_adaptation_set(AVFormatContext *s, int as_index)
av_dict_get(s->streams[as->streams[0]]->metadata, FILENAME, NULL, 0);
char *initialization_pattern = NULL;
char *media_pattern = NULL;
int ret = parse_filename(filename->value, NULL, &initialization_pattern,
int ret;
if (!filename)
return AVERROR(EINVAL);
ret = parse_filename(filename->value, NULL, &initialization_pattern,
&media_pattern);
if (ret) return ret;
avio_printf(s->pb, "<ContentComponent id=\"1\" type=\"%s\"/>\n",