Start capturing screen when connection established

This commit is contained in:
dijunkun
2024-06-03 23:48:53 +08:00
parent 1f50483b50
commit e7e6380adc
8 changed files with 15 additions and 10 deletions

View File

@@ -225,11 +225,10 @@ int MainWindow::Run() {
}
});
if (0 == screen_capturer_init_ret) {
screen_capturer_->Start();
} else {
if (0 != screen_capturer_init_ret) {
screen_capturer_->Destroy();
screen_capturer_ = nullptr;
LOG_ERROR("Create screen capturer failed");
}
// Mouse control

View File

@@ -153,12 +153,14 @@ void MainWindow::OnConnectionStatusCb(ConnectionStatus status,
} else if (ConnectionStatus::Connected == status) {
main_window->connection_status_str_ = "Connected";
main_window->connection_established_ = true;
main_window->screen_capturer_->Start();
} else if (ConnectionStatus::Disconnected == status) {
main_window->connection_status_str_ = "Disconnected";
} else if (ConnectionStatus::Failed == status) {
main_window->connection_status_str_ = "Failed";
} else if (ConnectionStatus::Closed == status) {
main_window->connection_status_str_ = "Closed";
main_window->screen_capturer_->Stop();
} else if (ConnectionStatus::IncorrectPassword == status) {
main_window->connection_status_str_ = "Incorrect password";
if (main_window->connect_button_pressed_) {

View File

@@ -133,12 +133,12 @@ int ScreenCapturerX11::Start() {
return 0;
}
int ScreenCapturerX11::Stop() { return 0; }
int ScreenCapturerX11::Pause() { return 0; }
int ScreenCapturerX11::Resume() { return 0; }
int ScreenCapturerX11::Stop() { return 0; }
void ScreenCapturerX11::OnFrame() {}
void ScreenCapturerX11::CleanUp() {}

View File

@@ -32,9 +32,10 @@ class ScreenCapturerX11 : public ScreenCapturer {
virtual int Start();
virtual int Stop();
int Pause();
int Resume();
int Stop();
void OnFrame();

View File

@@ -134,12 +134,12 @@ int ScreenCapturerAvf::Start() {
return 0;
}
int ScreenCapturerAvf::Stop() { return 0; }
int ScreenCapturerAvf::Pause() { return 0; }
int ScreenCapturerAvf::Resume() { return 0; }
int ScreenCapturerAvf::Stop() { return 0; }
void ScreenCapturerAvf::OnFrame() {}
void ScreenCapturerAvf::CleanUp() {}

View File

@@ -38,9 +38,10 @@ class ScreenCapturerAvf : public ScreenCapturer {
virtual int Start();
virtual int Stop();
int Pause();
int Resume();
int Stop();
void OnFrame();

View File

@@ -28,6 +28,8 @@ class ScreenCapturer {
virtual int Destroy() = 0;
virtual int Start() = 0;
virtual int Stop() = 0;
};
#endif

View File

@@ -27,7 +27,7 @@ class ScreenCapturerWgc : public ScreenCapturer,
int Pause();
int Resume();
int Stop();
virtual int Stop();
void OnFrame(const WgcSession::wgc_session_frame &frame);