Browse Source

ffmpeg-mux: Set experimental compliance for FFmpeg < 6.0

With 5fe417bce1f0c34daa573edbafd46667f5c9f06c it became possible to use
Opus in local recordings, this could potentially have the user try to
record Opus in MP4.

FLAC in MP4 was marked as stable in FFmpeg 6.0
Opus in MP4 was marked as stable in FFmpeg 4.3

For Ubuntu 20.04 we still need the latter, for 22.04 (and potentially
other Linux distributions) the former.

While FLAC is not yet implemented, we may want to do that in the near
future so for simplicity just keep it at 6.0.
derrod 2 years ago
parent
commit
198debe945
1 changed files with 5 additions and 0 deletions
  1. 5 0
      plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c

+ 5 - 0
plugins/obs-ffmpeg/ffmpeg-mux/ffmpeg-mux.c

@@ -1051,6 +1051,11 @@ static int ffmpeg_mux_init_context(struct ffmpeg_mux *ffm)
 	ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE;
 	ffm->output->oformat->audio_codec = AV_CODEC_ID_NONE;
 #endif
 #endif
 
 
+#if LIBAVFORMAT_VERSION_INT < AV_VERSION_INT(60, 0, 100)
+	/* Allow FLAC/OPUS in MP4 */
+	ffm->output->strict_std_compliance = FF_COMPLIANCE_EXPERIMENTAL;
+#endif
+
 	if (!init_streams(ffm)) {
 	if (!init_streams(ffm)) {
 		free_avformat(ffm);
 		free_avformat(ffm);
 		return FFM_ERROR;
 		return FFM_ERROR;