-
Technical task
-
Resolution: Unresolved
-
P2: Important
-
None
-
None
Smth like this. Note, it's a design proposal; feel free to come up with a better one.
It's going to be used from both sides, implementations and public API
public: void setUserFrameRate(std::optional<qreal>) { m_userFrameRate = ... // maybe emit frameRateChanged } std::optional<qreal> frameRate() const { return m_userFrameRate ? m_userFrameRate : m_actualFrameRate; } std::optional<qreal> userFrameRate() const; // getter protected: // invoked from derived ones void setActualFrameRate(std::optional<qreal> ) { m_actualFrameRate = ... // maybe emit frameRateChanged }
Implementations of QFFmpegSurfaceCaptureGrabber should consider capture.userFrameRate() in the constructor.
After construction and deletion of the grabber, we should update QPlatfromSurfaceCapture::setActualFrameRate.