diff --git a/source/filters/filter-transform.cpp b/source/filters/filter-transform.cpp index c483ac92..f141a03c 100644 --- a/source/filters/filter-transform.cpp +++ b/source/filters/filter-transform.cpp @@ -115,9 +115,23 @@ transform::transform_instance::~transform_instance() void transform::transform_instance::load(obs_data_t* settings) { + migrate_settings(settings); update(settings); } +inline void migrate_settings(obs_data_t* settings) +{ + uint64_t version = static_cast(obs_data_get_int(settings, S_VERSION)); + + switch (version & STREAMFX_MASK_COMPAT) { + case 0: + obs_data_set_double(settings, ST_ROTATION_X, -obs_data_get_double(settings, ST_ROTATION_X)); + obs_data_set_double(settings, ST_ROTATION_Y, -obs_data_get_double(settings, ST_ROTATION_Y)); + } + + obs_data_set_int(settings, S_VERSION, STREAMFX_VERSION); +} + void transform::transform_instance::update(obs_data_t* settings) { // Camera