avformat/segment: Use avformat_alloc_output_context2()
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Sep 2014 10:19:53 +0000 (12:19 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 2 Sep 2014 10:31:04 +0000 (12:31 +0200)
This avoids having to assign oformat, allows returning the
correct error code and allocates priv_data

Based on patch by: Mika Raento <mika.raento@elisa.fi>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/segment.c

index 1cb6454..7919a39 100644 (file)
@@ -133,12 +133,13 @@ static int segment_mux_init(AVFormatContext *s)
     SegmentContext *seg = s->priv_data;
     AVFormatContext *oc;
     int i;
+    int ret;
 
-    seg->avf = oc = avformat_alloc_context();
-    if (!oc)
-        return AVERROR(ENOMEM);
+    ret = avformat_alloc_output_context2(&seg->avf, seg->oformat, NULL, NULL);
+    if (ret < 0)
+        return ret;
+    oc = seg->avf;
 
-    oc->oformat            = seg->oformat;
     oc->interrupt_callback = s->interrupt_callback;
     av_dict_copy(&oc->metadata, s->metadata, 0);