the dimension value get from conf().screenSize() is always System Screen Dimension,
instead of my customized setting 1366x768
since conf() returns a proxy which created by org.aeonbits.owner.ConfigFactory
so I also debugged into these proxy code,
and found something in org.aeonbits.owner.PropertiesInvocationHandler#invoke:
so PropertiesInvocationHandler always invokes this default method, instead of resolve property value,
that's why customized video.screen.size is never be used.
I am trying to customize
video.screen.size
configuration, but it does not work, and VideoRecorder always get System Screen Dimensionmy code (in Kotlin) is something like:
and when I debug into method
com.automation.remarks.video.recorder.ffmpeg.FFmpegWrapper#getScreenSize
:the
dimension
value get fromconf().screenSize()
is always System Screen Dimension, instead of my customized setting1366x768
since
conf()
returns a proxy which created byorg.aeonbits.owner.ConfigFactory
so I also debugged into these proxy code, and found something inorg.aeonbits.owner.PropertiesInvocationHandler#invoke
:looks like
com.automation.remarks.video.recorder.VideoConfiguration#screenSize
is adefault method of interface
,so
PropertiesInvocationHandler
always invokes this default method, instead of resolve property value, that's why customizedvideo.screen.size
is never be used.I guess this issue was introduced in this commit: https://github.com/SergeyPirogov/video-recorder-java/commit/05506999456c2863c397553ca674a78e331adf91#diff-203944a2497bdc096cac64c8e238e158746026fe559d3f4bcf0ed24db5dcc523R47-R50
I like to ask, is my investigation result correct? if so, I like to send a PR to fix this issue