Commit 2dbe936b authored by Marton Balint's avatar Marton Balint

avformat/webm_chunk: always use a static buffer for get_chunk_filename

My conversation from AVFormatContext->filename to AVFormatContext->url was
wrong in this case because get_chunk_filename uses filename as an output
buffer, and not as an input buffer.

Fixes ticket #7188.
Signed-off-by: 's avatarMarton Balint <cus@passwd.hu>
parent 64bf915c
...@@ -114,6 +114,8 @@ static int webm_chunk_write_header(AVFormatContext *s) ...@@ -114,6 +114,8 @@ static int webm_chunk_write_header(AVFormatContext *s)
int ret; int ret;
int i; int i;
AVDictionary *options = NULL; AVDictionary *options = NULL;
char oc_filename[MAX_FILENAME_SIZE];
char *oc_url;
// DASH Streams can only have either one track per file. // DASH Streams can only have either one track per file.
if (s->nb_streams != 1) { return AVERROR_INVALIDDATA; } if (s->nb_streams != 1) { return AVERROR_INVALIDDATA; }
...@@ -127,9 +129,13 @@ static int webm_chunk_write_header(AVFormatContext *s) ...@@ -127,9 +129,13 @@ static int webm_chunk_write_header(AVFormatContext *s)
if (ret < 0) if (ret < 0)
return ret; return ret;
oc = wc->avf; oc = wc->avf;
ret = get_chunk_filename(s, 1, oc->url); ret = get_chunk_filename(s, 1, oc_filename);
if (ret < 0) if (ret < 0)
return ret; return ret;
oc_url = av_strdup(oc_filename);
if (!oc_url)
return AVERROR(ENOMEM);
ff_format_set_url(oc, oc_url);
if (wc->http_method) if (wc->http_method)
av_dict_set(&options, "method", wc->http_method, 0); av_dict_set(&options, "method", wc->http_method, 0);
ret = s->io_open(s, &oc->pb, oc->url, AVIO_FLAG_WRITE, &options); ret = s->io_open(s, &oc->pb, oc->url, AVIO_FLAG_WRITE, &options);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment