Add missing interface methods.
DesktopCapturer includes a few methods that are not pure virtual because they were added after implementions existed in Chromium. The intent was to implement them in Chromium and then make them pure virtual, but that never happened, which caused a bug when DesktopAndCursorComposer did not delegate source-selection methods to the underlying capturer. This CL adds the missing methods to a couple of simple pass-through capturers; I will follow up with the necessary implementations for other capturers once I've fixed the underlying remoting bug. Change-Id: Icb3914a3cb3116878f57a9f685163c7670c1f89b Bug: webrtc:11370 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168780 Reviewed-by: Sergey Ulanov <sergeyu@chromium.org> Commit-Queue: Jamie Walch <jamiewalch@chromium.org> Cr-Commit-Position: refs/heads/master@{#30550}
This commit is contained in:
@ -63,6 +63,10 @@ bool BlankDetectorDesktopCapturerWrapper::FocusOnSelectedSource() {
|
||||
return capturer_->FocusOnSelectedSource();
|
||||
}
|
||||
|
||||
bool BlankDetectorDesktopCapturerWrapper::IsOccluded(const DesktopVector& pos) {
|
||||
return capturer_->IsOccluded(pos);
|
||||
}
|
||||
|
||||
void BlankDetectorDesktopCapturerWrapper::OnCaptureResult(
|
||||
Result result,
|
||||
std::unique_ptr<DesktopFrame> frame) {
|
||||
|
@ -46,6 +46,7 @@ class BlankDetectorDesktopCapturerWrapper final
|
||||
bool GetSourceList(SourceList* sources) override;
|
||||
bool SelectSource(SourceId id) override;
|
||||
bool FocusOnSelectedSource() override;
|
||||
bool IsOccluded(const DesktopVector& pos) override;
|
||||
|
||||
private:
|
||||
// DesktopCapturer::Callback interface.
|
||||
|
@ -187,6 +187,22 @@ void DesktopAndCursorComposer::SetExcludedWindow(WindowId window) {
|
||||
desktop_capturer_->SetExcludedWindow(window);
|
||||
}
|
||||
|
||||
bool DesktopAndCursorComposer::GetSourceList(SourceList* sources) {
|
||||
return desktop_capturer_->GetSourceList(sources);
|
||||
}
|
||||
|
||||
bool DesktopAndCursorComposer::SelectSource(SourceId id) {
|
||||
return desktop_capturer_->SelectSource(id);
|
||||
}
|
||||
|
||||
bool DesktopAndCursorComposer::FocusOnSelectedSource() {
|
||||
return desktop_capturer_->FocusOnSelectedSource();
|
||||
}
|
||||
|
||||
bool DesktopAndCursorComposer::IsOccluded(const DesktopVector& pos) {
|
||||
return desktop_capturer_->IsOccluded(pos);
|
||||
}
|
||||
|
||||
void DesktopAndCursorComposer::OnCaptureResult(
|
||||
DesktopCapturer::Result result,
|
||||
std::unique_ptr<DesktopFrame> frame) {
|
||||
|
@ -53,6 +53,10 @@ class RTC_EXPORT DesktopAndCursorComposer
|
||||
std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override;
|
||||
void CaptureFrame() override;
|
||||
void SetExcludedWindow(WindowId window) override;
|
||||
bool GetSourceList(SourceList* sources) override;
|
||||
bool SelectSource(SourceId id) override;
|
||||
bool FocusOnSelectedSource() override;
|
||||
bool IsOccluded(const DesktopVector& pos) override;
|
||||
|
||||
// MouseCursorMonitor::Callback interface.
|
||||
void OnMouseCursor(MouseCursor* cursor) override;
|
||||
|
Reference in New Issue
Block a user