ZeroHertzAdapterMode: RequestRefreshFrame through VideoTrack & proxy.

This CL continues on https://webrtc-review.googlesource.com/c/src/+/242361
to enable progression of RequestRefreshFrame calls in into
the stored VideoTrackSourceInterface.

go/rtc-0hz-present

Bug: chromium:1255737
Change-Id: I558e7a616b3369192c52f7211bbe41a4376b48c1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/242365
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Markus Handell <handellm@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#35567}
This commit is contained in:
Markus Handell
2021-12-22 10:47:27 +01:00
committed by WebRTC LUCI CQ
parent ce702dbbe4
commit dbef2bd276
3 changed files with 7 additions and 0 deletions

View File

@ -53,6 +53,7 @@ PROXY_SECONDARY_METHOD2(void,
rtc::VideoSinkInterface<VideoFrame>*,
const rtc::VideoSinkWants&)
PROXY_SECONDARY_METHOD1(void, RemoveSink, rtc::VideoSinkInterface<VideoFrame>*)
PROXY_SECONDARY_METHOD0(void, RequestRefreshFrame)
BYPASS_PROXY_CONSTMETHOD0(VideoTrackSourceInterface*, GetSource)
PROXY_METHOD1(void, RegisterObserver, ObserverInterface*)

View File

@ -63,6 +63,11 @@ void VideoTrack::RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) {
video_source_->RemoveSink(sink);
}
void VideoTrack::RequestRefreshFrame() {
RTC_DCHECK_RUN_ON(worker_thread_);
video_source_->RequestRefreshFrame();
}
VideoTrackSourceInterface* VideoTrack::GetSource() const {
// Callable from any thread.
return video_source_.get();

View File

@ -38,6 +38,7 @@ class VideoTrack : public MediaStreamTrack<VideoTrackInterface>,
void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
const rtc::VideoSinkWants& wants) override;
void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
void RequestRefreshFrame() override;
VideoTrackSourceInterface* GetSource() const override;
ContentHint content_hint() const override;