summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/webm_chunk.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/libavformat/webm_chunk.c b/libavformat/webm_chunk.c
index d4b2eb6dff..30ba30e929 100644
--- a/libavformat/webm_chunk.c
+++ b/libavformat/webm_chunk.c
@@ -53,19 +53,23 @@ typedef struct WebMChunkContext {
char *http_method;
uint64_t duration_written;
int64_t prev_pts;
- ff_const59 AVOutputFormat *oformat;
AVFormatContext *avf;
} WebMChunkContext;
static int chunk_mux_init(AVFormatContext *s)
{
WebMChunkContext *wc = s->priv_data;
+ ff_const59 AVOutputFormat *oformat;
AVFormatContext *oc;
AVStream *st, *ost = s->streams[0];
AVDictionary *dict = NULL;
int ret;
- ret = avformat_alloc_output_context2(&wc->avf, wc->oformat, NULL, NULL);
+ oformat = av_guess_format("webm", s->url, "video/webm");
+ if (!oformat)
+ return AVERROR_MUXER_NOT_FOUND;
+
+ ret = avformat_alloc_output_context2(&wc->avf, oformat, NULL, NULL);
if (ret < 0)
return ret;
oc = wc->avf;
@@ -156,9 +160,6 @@ static int webm_chunk_write_header(AVFormatContext *s)
if (s->nb_streams != 1) { return AVERROR_INVALIDDATA; }
wc->chunk_index = wc->chunk_start_index;
- wc->oformat = av_guess_format("webm", s->url, "video/webm");
- if (!wc->oformat)
- return AVERROR_MUXER_NOT_FOUND;
wc->prev_pts = AV_NOPTS_VALUE;
ret = chunk_mux_init(s);