From 703ae40d79e5b9892f4bd582e08e711c47ac0c66 Mon Sep 17 00:00:00 2001 From: "duanweiwei1982@gmail.com" Date: Fri, 22 Jul 2022 23:18:01 +0800 Subject: [PATCH] update. --- sdk/objc/native/src/objc_desktop_media_list.h | 2 +- sdk/objc/native/src/objc_desktop_media_list.mm | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/sdk/objc/native/src/objc_desktop_media_list.h b/sdk/objc/native/src/objc_desktop_media_list.h index dee605e796..1126a84356 100644 --- a/sdk/objc/native/src/objc_desktop_media_list.h +++ b/sdk/objc/native/src/objc_desktop_media_list.h @@ -78,7 +78,7 @@ class ObjCDesktopMediaList : public rtc::MessageHandler { virtual MediaSource* GetSource(int index); - virtual bool GetThumbnail(MediaSource *source); + virtual bool GetThumbnail(MediaSource *source, bool notify); protected: virtual void OnMessage(rtc::Message* msg) override; diff --git a/sdk/objc/native/src/objc_desktop_media_list.mm b/sdk/objc/native/src/objc_desktop_media_list.mm index 740b53a520..6800b748b5 100644 --- a/sdk/objc/native/src/objc_desktop_media_list.mm +++ b/sdk/objc/native/src/objc_desktop_media_list.mm @@ -91,6 +91,7 @@ if (old_source_set.find(new_sources[i].id) == old_source_set.end()) { MediaSource* source = new MediaSource(this, new_sources[i],type_); sources_.insert(sources_.begin() + i, std::shared_ptr(source)); + GetThumbnail(source, false); [objcMediaList_ mediaSourceAdded:source]; } } @@ -127,18 +128,18 @@ if(get_thumbnail) { for( auto source : sources_) { - GetThumbnail(source.get()); + GetThumbnail(source.get(), true); } } return sources_.size(); } -bool ObjCDesktopMediaList::GetThumbnail(MediaSource *source) { +bool ObjCDesktopMediaList::GetThumbnail(MediaSource *source, bool notify) { callback_->SetCallback([&](webrtc::DesktopCapturer::Result result, std::unique_ptr frame) { auto old_thumbnail = source->thumbnail(); source->SaveCaptureResult(result, std::move(frame)); - if(old_thumbnail.size() != source->thumbnail().size()) { + if(old_thumbnail.size() != source->thumbnail().size() && notify) { [objcMediaList_ mediaSourceThumbnailChanged:source]; } }); @@ -158,7 +159,7 @@ } bool MediaSource::UpdateThumbnail() { - return mediaList_->GetThumbnail(this); + return mediaList_->GetThumbnail(this, true); } void MediaSource::SaveCaptureResult(webrtc::DesktopCapturer::Result result,