Better error from avformat_alloc_output_context2.
authorCarl Hetherington <cth@carlh.net>
Sun, 27 Jan 2019 23:51:41 +0000 (23:51 +0000)
committerCarl Hetherington <cth@carlh.net>
Sun, 27 Jan 2019 23:51:41 +0000 (23:51 +0000)
src/lib/ffmpeg_encoder.cc

index e4f2583683451e3c40d4cdcc590ed82b3fbf342c..edd1fec874ce18e9adcf50bbb0f6901740eea19f 100644 (file)
@@ -155,9 +155,9 @@ FFmpegEncoder::go ()
        setup_video ();
        setup_audio ();
 
-       avformat_alloc_output_context2 (&_format_context, 0, 0, _output.string().c_str());
+       int r = avformat_alloc_output_context2 (&_format_context, 0, 0, _output.string().c_str());
        if (!_format_context) {
-               throw runtime_error ("could not allocate FFmpeg format context");
+               throw runtime_error (String::compose("could not allocate FFmpeg format context (%1)", r));
        }
 
        _video_stream = avformat_new_stream (_format_context, _video_codec);
@@ -180,7 +180,7 @@ FFmpegEncoder::go ()
                throw runtime_error ("could not open FFmpeg video codec");
        }
 
-       int r = avcodec_open2 (_audio_codec_context, _audio_codec, 0);
+       r = avcodec_open2 (_audio_codec_context, _audio_codec, 0);
        if (r < 0) {
                char buffer[256];
                av_strerror (r, buffer, sizeof(buffer));