diff --git a/pc/media_stream_track_proxy.h b/pc/media_stream_track_proxy.h index f563137c77..02784233fd 100644 --- a/pc/media_stream_track_proxy.h +++ b/pc/media_stream_track_proxy.h @@ -53,6 +53,7 @@ PROXY_SECONDARY_METHOD2(void, rtc::VideoSinkInterface*, const rtc::VideoSinkWants&) PROXY_SECONDARY_METHOD1(void, RemoveSink, rtc::VideoSinkInterface*) +PROXY_SECONDARY_METHOD0(void, RequestRefreshFrame) BYPASS_PROXY_CONSTMETHOD0(VideoTrackSourceInterface*, GetSource) PROXY_METHOD1(void, RegisterObserver, ObserverInterface*) diff --git a/pc/video_track.cc b/pc/video_track.cc index d0246faa87..ad552ea1c9 100644 --- a/pc/video_track.cc +++ b/pc/video_track.cc @@ -63,6 +63,11 @@ void VideoTrack::RemoveSink(rtc::VideoSinkInterface* 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(); diff --git a/pc/video_track.h b/pc/video_track.h index 49deaee76a..15bfc878f5 100644 --- a/pc/video_track.h +++ b/pc/video_track.h @@ -38,6 +38,7 @@ class VideoTrack : public MediaStreamTrack, void AddOrUpdateSink(rtc::VideoSinkInterface* sink, const rtc::VideoSinkWants& wants) override; void RemoveSink(rtc::VideoSinkInterface* sink) override; + void RequestRefreshFrame() override; VideoTrackSourceInterface* GetSource() const override; ContentHint content_hint() const override;