Browse Source

obs-ffmpeg, obs-qsv11: Disable dynamic bitrate support

Unfortunately these encoders tend to crash or freeze after after
multiple bitrate changes. Users with dynamic bitrate enabled
experience a random encoder freeze which manifests as OBS dropping to
0kb/sec and disconnecting and it's not at all obvious that dynamic
bitrate is the cause. Disable it for now until we can figure out if
there is any workaround or bug on our end.
Richard Stanway 4 years ago
parent
commit
1b29bfc884

+ 1 - 1
plugins/obs-ffmpeg/jim-nvenc.c

@@ -1023,7 +1023,7 @@ struct obs_encoder_info nvenc_info = {
 	.id = "jim_nvenc",
 	.codec = "h264",
 	.type = OBS_ENCODER_VIDEO,
-	.caps = OBS_ENCODER_CAP_PASS_TEXTURE | OBS_ENCODER_CAP_DYN_BITRATE,
+	.caps = OBS_ENCODER_CAP_PASS_TEXTURE,
 	.get_name = nvenc_get_name,
 	.create = nvenc_create,
 	.destroy = nvenc_destroy,

+ 1 - 3
plugins/obs-ffmpeg/obs-ffmpeg-nvenc.c

@@ -661,8 +661,6 @@ struct obs_encoder_info nvenc_encoder_info = {
 	.get_sei_data = nvenc_sei_data,
 	.get_video_info = nvenc_video_info,
 #ifdef _WIN32
-	.caps = OBS_ENCODER_CAP_DYN_BITRATE | OBS_ENCODER_CAP_INTERNAL,
-#else
-	.caps = OBS_ENCODER_CAP_DYN_BITRATE,
+	.caps = OBS_ENCODER_CAP_INTERNAL,
 #endif
 };

+ 2 - 2
plugins/obs-qsv11/obs-qsv11.c

@@ -1029,7 +1029,7 @@ struct obs_encoder_info obs_qsv_encoder = {
 	.get_extra_data = obs_qsv_extra_data,
 	.get_sei_data = obs_qsv_sei,
 	.get_video_info = obs_qsv_video_info,
-	.caps = OBS_ENCODER_CAP_DYN_BITRATE | OBS_ENCODER_CAP_INTERNAL,
+	.caps = OBS_ENCODER_CAP_INTERNAL,
 };
 
 struct obs_encoder_info obs_qsv_encoder_tex = {
@@ -1039,7 +1039,7 @@ struct obs_encoder_info obs_qsv_encoder_tex = {
 	.get_name = obs_qsv_getname,
 	.create = obs_qsv_create_tex,
 	.destroy = obs_qsv_destroy,
-	.caps = OBS_ENCODER_CAP_DYN_BITRATE | OBS_ENCODER_CAP_PASS_TEXTURE,
+	.caps = OBS_ENCODER_CAP_PASS_TEXTURE,
 	.encode_texture = obs_qsv_encode_tex,
 	.update = obs_qsv_update,
 	.get_properties = obs_qsv_props,