// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_PROTOCOL_MONITORED_VIDEO_STUB_H_ #define REMOTING_PROTOCOL_MONITORED_VIDEO_STUB_H_ #include "base/functional/callback.h" #include "base/memory/raw_ptr.h" #include "base/threading/thread_checker.h" #include "base/timer/timer.h" #include "remoting/protocol/video_stub.h" namespace remoting::protocol { // MonitoredVideoStub is responsible for notifying the event handler if no // frames have been received within |connectivity_check_delay|. // The implementation uses the decorator pattern in which the MonitoredVideoStub // implements the same interface as the VideoStub. It overrides the // ProcessVideoPacket function to provide notification to the client when the // video channel is connected and forward the packet to the underlying // VideoStub. Multiple decorators can be stacked on top of each other if more // functionality is needed in the future. class MonitoredVideoStub : public VideoStub { … }; } // namespace remoting::protocol #endif // REMOTING_PROTOCOL_MONITORED_VIDEO_STUB_H_