diff --git a/source/sources/source-mirror.cpp b/source/sources/source-mirror.cpp index 54c4afd5..dcbdbbc8 100644 --- a/source/sources/source-mirror.cpp +++ b/source/sources/source-mirror.cpp @@ -85,12 +85,12 @@ mirror::mirror_instance::~mirror_instance() uint32_t mirror::mirror_instance::get_width() { - return obs_source_get_width(_source.get()); + return _source_size.first; } uint32_t mirror::mirror_instance::get_height() { - return obs_source_get_height(_source.get()); + return _source_size.second; } static void convert_config(obs_data_t* data) @@ -135,7 +135,13 @@ void mirror::mirror_instance::save(obs_data_t* data) } } -void mirror::mirror_instance::video_tick(float time) {} +void mirror::mirror_instance::video_tick(float time) +{ + if (_source) { + _source_size.first = obs_source_get_width(_source.get()); + _source_size.second = obs_source_get_height(_source.get()); + } +} void mirror::mirror_instance::video_render(gs_effect_t* effect) { diff --git a/source/sources/source-mirror.hpp b/source/sources/source-mirror.hpp index af2c9d34..d16fff2f 100644 --- a/source/sources/source-mirror.hpp +++ b/source/sources/source-mirror.hpp @@ -57,6 +57,7 @@ namespace source::mirror { std::shared_ptr _source_child; std::shared_ptr _signal_rename; std::shared_ptr _signal_audio; + std::pair _source_size; // Audio bool _audio_enabled;