2026-05-03 22:15 ftp://ftp.de.debian.org/debian/pool/main/o/obs-downstream-keyer/obs-downstream-keyer_0.4.4.orig.tar.gz cppcheck-options: --library=posix --library=gnu --library=bsd --library=qt --inconclusive --enable=style,information --inline-suppr --template=daca2 --disable=missingInclude --suppress=unmatchedSuppression --check-library --debug-warnings --suppress=autoNoType --suppress=valueFlowBailout --suppress=bailoutUninitVar --suppress=symbolDatabaseWarning --suppress=normalCheckLevelConditionExpressions -D__GNUC__ --platform=unix64 -j1 platform: Linux-6.8.0-111-generic-x86_64-with-glibc2.39 python: 3.12.3 client-version: 1.3.70 compiler: g++ (Ubuntu 14.2.0-4ubuntu2~24.04.1) 14.2.0 cppcheck: head 2.20.0 head-info: e5c4a73 (2026-05-01 11:10:43 +0200) count: 44 43 elapsed-time: 0.5 0.4 head-timing-info: old-timing-info: head results: obs-downstream-keyer-0.4.4/downstream-keyer-dock.cpp:24:1: error: There is an unknown macro here somewhere. Configuration is required. If OBS_MODULE_USE_DEFAULT_LOCALE is a macro then please configure it. [unknownMacro] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:43:63: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Expanding [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:195:45: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:207:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:254:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:288:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:588:56: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:654:14: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_INVALID_HOTKEY_PAIR_ID [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:715:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:732:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:753:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:770:81: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable QueuedConnection [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:806:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:847:48: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:937:11: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_INVALID_HOTKEY_PAIR_ID [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:947:44: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MatchFixedString [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:974:46: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable UserRole [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:995:55: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_SOURCE_TYPE_TRANSITION [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:550:22: style:inconclusive: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetTransitionDuration' can be const. [functionConst] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:87:6: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetTransitionDuration' can be const. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:550:22: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetTransitionDuration' can be const. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:568:22: style:inconclusive: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetHideAfter' can be const. [functionConst] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:89:6: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetHideAfter' can be const. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:568:22: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::GetHideAfter' can be const. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:881:23: style:inconclusive: Either there is a missing 'override', or the member function 'DownstreamKeyer::IsSceneExcluded' can be const. [functionConst] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:93:7: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::IsSceneExcluded' can be const. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:881:23: note: Either there is a missing 'override', or the member function 'DownstreamKeyer::IsSceneExcluded' can be const. obs-downstream-keyer-0.4.4/obs-websocket-api.h:59:24: style: C-style pointer casting [cstyleCast] obs-downstream-keyer-0.4.4/obs-websocket-api.h:123:13: style: C-style pointer casting [cstyleCast] obs-downstream-keyer-0.4.4/obs-websocket-api.h:202:32: style: C-style pointer casting [cstyleCast] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:73: style:inconclusive: Function 'DownstreamKeyer' argument 3 names different: declaration 'view' definition 'v'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:78:57: note: Function 'DownstreamKeyer' argument 3 names different: declaration 'view' definition 'v'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:73: note: Function 'DownstreamKeyer' argument 3 names different: declaration 'view' definition 'v'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:90: style:inconclusive: Function 'DownstreamKeyer' argument 4 names different: declaration 'canvas' definition 'c'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:78:87: note: Function 'DownstreamKeyer' argument 4 names different: declaration 'canvas' definition 'c'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:90: note: Function 'DownstreamKeyer' argument 4 names different: declaration 'canvas' definition 'c'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:120: style:inconclusive: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:79:31: note: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:120: note: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:22:12: style:inconclusive: Function 'DownstreamKeyer' argument 6 names different: declaration '' definition 'gtd'. [funcArgNamesDifferentUnnamed] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:380:59: style:inconclusive: Function 'ChangeSceneIndex' argument 2 names different: declaration 'idx' definition 'offset'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:64:43: note: Function 'ChangeSceneIndex' argument 2 names different: declaration 'idx' definition 'offset'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:380:59: note: Function 'ChangeSceneIndex' argument 2 names different: declaration 'idx' definition 'offset'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:987:44: style:inconclusive: Function 'SetOutputChannel' argument 1 names different: declaration 'outputChannel' definition 'oc'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:100:28: note: Function 'SetOutputChannel' argument 1 names different: declaration 'outputChannel' definition 'oc'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:987:44: note: Function 'SetOutputChannel' argument 1 names different: declaration 'outputChannel' definition 'oc'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:433:12: performance: Range variable 't' should be declared as const reference. [iterateByValue] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:573:48: performance: Function parameter 'scene' should be passed by const reference. [passedByValue] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:899:45: performance: Function parameter 'scene_name' should be passed by const reference. [passedByValue] obs-downstream-keyer-0.4.4/downstream-keyer.cpp:962:43: performance: Function parameter 'scene_name' should be passed by const reference. [passedByValue] obs-downstream-keyer-0.4.4/name-dialog.cpp:11:40: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable WindowModal [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/name-dialog.cpp:48:35: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable Accepted [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/name-dialog.hpp:15:2: style: Class 'NameDialog' has a constructor with 1 argument that is not explicit. [noExplicitConstructor] obs-downstream-keyer-0.4.4/output-source.c:81:27: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_CHANNELS [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/output-source.c:133:22: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable MAX_CHANNELS [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/output-source.c:158:33: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable OBS_EFFECT_DEFAULT [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/output-source.c:243:13: debug: valueFlowConditionExpressions bailout: Skipping function due to incomplete variable GS_CLEAR_COLOR [valueFlowBailoutIncompleteVar] obs-downstream-keyer-0.4.4/output-source.c:191:32: style: Variable 'context' can be declared as pointer to const [constVariablePointer] obs-downstream-keyer-0.4.4/output-source.c:197:32: style: Variable 'context' can be declared as pointer to const [constVariablePointer] obs-downstream-keyer-0.4.4/output-source.c:201:65: style: Parameter 'child' can be declared as pointer to const. However it seems that 'check_recursion' is a callback function, if 'child' is declared with const you might also need to cast function pointer(s). [constParameterCallback] obs-downstream-keyer-0.4.4/output-source.c:224:38: note: You might need to cast the function pointer here obs-downstream-keyer-0.4.4/output-source.c:201:65: note: Parameter 'child' can be declared as pointer to const diff: head obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:120: style:inconclusive: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:79:31: note: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:21:120: note: Function 'DownstreamKeyer' argument 5 names different: declaration 'get_transitions' definition 'gt'. head obs-downstream-keyer-0.4.4/downstream-keyer.cpp:22:12: style:inconclusive: Function 'DownstreamKeyer' argument 6 names different: declaration '' definition 'gtd'. [funcArgNamesDifferentUnnamed] 2.20.0 obs-downstream-keyer-0.4.4/downstream-keyer.cpp:22:12: style:inconclusive: Function 'DownstreamKeyer' argument 6 names different: declaration 'get_transitions_data' definition 'gtd'. [funcArgNamesDifferent] obs-downstream-keyer-0.4.4/downstream-keyer.hpp:79:64: note: Function 'DownstreamKeyer' argument 6 names different: declaration 'get_transitions_data' definition 'gtd'. obs-downstream-keyer-0.4.4/downstream-keyer.cpp:22:12: note: Function 'DownstreamKeyer' argument 6 names different: declaration 'get_transitions_data' definition 'gtd'. DONE