@@ -677,24 +677,25 @@ void BranchOutputFilter::addVideoEncoderGroup(obs_properties_t *props)
677
677
auto filter = (BranchOutputFilter *)param;
678
678
obs_log (LOG_DEBUG, " %s: Video encoder chainging." , qUtf8Printable (filter->name ));
679
679
680
- auto video_encoder_group = obs_property_group_content (obs_properties_get (_props, " video_encoder_group" ));
681
- auto encoder_id = obs_data_get_string (settings, " video_encoder" );
680
+ auto _videoEncoderGroup = obs_property_group_content (obs_properties_get (_props, " video_encoder_group" ));
681
+ auto _encoderId = obs_data_get_string (settings, " video_encoder" );
682
682
683
683
// Apply encoder's defaults
684
- OBSDataAutoRelease encoder_defaults = obs_encoder_defaults (encoder_id );
685
- applyDefaults (settings, encoder_defaults );
684
+ OBSDataAutoRelease encoderEefaults = obs_encoder_defaults (_encoderId );
685
+ applyDefaults (settings, encoderEefaults );
686
686
687
- obs_properties_remove_by_name (video_encoder_group , " video_encoder_settings_group" );
687
+ obs_properties_remove_by_name (_videoEncoderGroup , " video_encoder_settings_group" );
688
688
689
- auto encoder_props = obs_get_encoder_properties (encoder_id );
690
- if (encoder_props ) {
689
+ auto encoderProps = obs_get_encoder_properties (_encoderId );
690
+ if (encoderProps ) {
691
691
obs_properties_add_group (
692
- video_encoder_group , " video_encoder_settings_group" , obs_encoder_get_display_name (encoder_id ),
693
- OBS_GROUP_NORMAL, encoder_props
692
+ _videoEncoderGroup , " video_encoder_settings_group" , obs_encoder_get_display_name (_encoderId ),
693
+ OBS_GROUP_NORMAL, encoderProps
694
694
);
695
- }
696
695
697
- obs_properties_apply_settings (video_encoder_group, settings);
696
+ // Do not apply to _videoEncoderGroup because it will cause memoryleak.
697
+ obs_properties_apply_settings (encoderProps, settings);
698
+ }
698
699
699
700
obs_log (LOG_INFO, " %s: Video encoder changed." , qUtf8Printable (filter->name ));
700
701
return true ;
0 commit comments