Browse Source

obs-ffmpeg: fix crash with rawvideo

Some codecs have no recommended pix_fmts so we must check that pix_fmts
is not null before trying to find a good match. This just prays whatever
OBS is configure for is a valid format when users choose these oddball
codecs. When its not you should get a normal recording fail instead of a
crash now.

fixes #3031
Kurt Kartaltepe 5 years ago
parent
commit
8761fa1a2c
1 changed files with 5 additions and 2 deletions
  1. 5 2
      plugins/obs-ffmpeg/obs-ffmpeg-output.c

+ 5 - 2
plugins/obs-ffmpeg/obs-ffmpeg-output.c

@@ -221,8 +221,11 @@ static bool create_video_stream(struct ffmpeg_data *data)
 			data->config.video_encoder))
 		return false;
 
-	closest_format = avcodec_find_best_pix_fmt_of_list(
-		data->vcodec->pix_fmts, data->config.format, 0, NULL);
+	closest_format = data->config.format;
+	if (data->vcodec->pix_fmts) {
+		closest_format = avcodec_find_best_pix_fmt_of_list(
+			data->vcodec->pix_fmts, data->config.format, 0, NULL);
+	}
 
 #if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(57, 48, 101)
 	context = avcodec_alloc_context3(data->vcodec);