shared_screencast_stream: Set rectangle on the frame

The diff capturer wrapper doesn't work if the frame doesn't have any
rectangle and a static image is observed while chromoting. This change
adds a rectangle to the frame object, as done by other capturers, and
this in turn ensures that the wrapper that calulcates diffs from one
frame to the next can do its job.

Bug: chromium:1291247
Change-Id: I5bf1981f34b3a88ad4d82a081fed1ce210f71ed0
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/251205
Reviewed-by: Alexander Cooper <alcooper@chromium.org>
Commit-Queue: Salman Malik <salmanmalik@google.com>
Cr-Commit-Position: refs/heads/main@{#36263}
This commit is contained in:
Salman Malik
2022-03-18 16:31:58 +00:00
committed by WebRTC LUCI CQ
parent ea021333cb
commit 0627cb3920

View File

@ -819,6 +819,9 @@ void SharedScreenCastStreamPrivate::ProcessBuffer(pw_buffer* buffer) {
tmp_src += queue_.current_frame()->stride();
}
}
queue_.current_frame()->mutable_updated_region()->SetRect(
DesktopRect::MakeSize(queue_.current_frame()->size()));
}
void SharedScreenCastStreamPrivate::ConvertRGBxToBGRx(uint8_t* frame,