]> git.sesse.net Git - casparcg/commitdiff
#296
authorHelge Norberg <helge.norberg@gmail.com>
Fri, 8 Aug 2014 12:55:29 +0000 (14:55 +0200)
committerHelge Norberg <helge.norberg@gmail.com>
Fri, 8 Aug 2014 12:55:29 +0000 (14:55 +0200)
Avoid access violation when invalid -vcodec or -acodec is given in streaming_consumer

modules/ffmpeg/consumer/streaming_consumer.cpp

index 3898f8d3871ca3a9e75f8b43ae53080269332299..e529159c2c44ed3f4c9884f0faa84e2c131fb39b 100644 (file)
@@ -267,8 +267,18 @@ public:
                                        ? avcodec_find_encoder_by_name(audio_codec_name->c_str())
                                        : avcodec_find_encoder(oc_->oformat->audio_codec);
                        
-                       CASPAR_VERIFY(video_codec);
-                       CASPAR_VERIFY(audio_codec);
+                       if (!video_codec)
+                               BOOST_THROW_EXCEPTION(caspar_exception() << msg_info(
+                                               "Failed to find video codec " + (video_codec_name
+                                                               ? *video_codec_name
+                                                               : "with id " + boost::lexical_cast<std::string>(
+                                                                               oc_->oformat->video_codec))));
+                       if (!audio_codec)
+                               BOOST_THROW_EXCEPTION(caspar_exception() << msg_info(
+                                               "Failed to find audio codec " + (audio_codec_name
+                                                               ? *audio_codec_name
+                                                               : "with id " + boost::lexical_cast<std::string>(
+                                                                               oc_->oformat->audio_codec))));
                        
                        // Filters