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

index 2c67bb5f927be110d0cbadea7f0d110beb0a8f4d..5eccb8f1728966fd638c57f1bad1fb48d8ee8096 100644 (file)
@@ -79,9 +79,9 @@ FFmpegFileEncoder::FFmpegFileEncoder (
        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);
@@ -104,7 +104,7 @@ FFmpegFileEncoder::FFmpegFileEncoder (
                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));