[fix] do not use smart pointer to manage std::thread objects

This commit is contained in:
dijunkun
2024-09-02 16:33:01 +08:00
parent 1e5bea2b1e
commit 74e29f25bf
9 changed files with 14 additions and 31 deletions

View File

@@ -10,8 +10,8 @@ unsigned char nv12_buffer_[NV12_BUFFER_SIZE];
ScreenCapturerX11::ScreenCapturerX11() {}
ScreenCapturerX11::~ScreenCapturerX11() {
if (inited_ && capture_thread_->joinable()) {
capture_thread_->join();
if (inited_ && capture_thread_.joinable()) {
capture_thread_.join();
inited_ = false;
}
}
@@ -107,7 +107,7 @@ int ScreenCapturerX11::Destroy() {
}
int ScreenCapturerX11::Start() {
capture_thread_.reset(new std::thread([this]() {
capture_thread_ = std::thread([this]() {
while (running_) {
if (av_read_frame(pFormatCtx_, packet_) >= 0) {
if (packet_->stream_index == videoindex_) {
@@ -131,7 +131,7 @@ int ScreenCapturerX11::Start() {
}
}
}
}));
});
return 0;
}