| Index: webrtc/test/frame_generator.h
|
| diff --git a/webrtc/test/frame_generator.h b/webrtc/test/frame_generator.h
|
| index 7f20c749e8eea9b920ce8b0afde26445eaa10499..fc3f3069986bb5729a93857be8f70c96c9159a9d 100644
|
| --- a/webrtc/test/frame_generator.h
|
| +++ b/webrtc/test/frame_generator.h
|
| @@ -7,12 +7,14 @@
|
| * in the file PATENTS. All contributing project authors may
|
| * be found in the AUTHORS file in the root of the source tree.
|
| */
|
| -#ifndef WEBRTC_COMMON_VIDEO_TEST_FRAME_GENERATOR_H_
|
| -#define WEBRTC_COMMON_VIDEO_TEST_FRAME_GENERATOR_H_
|
| +#ifndef WEBRTC_TEST_FRAME_GENERATOR_H_
|
| +#define WEBRTC_TEST_FRAME_GENERATOR_H_
|
|
|
| #include <string>
|
| #include <vector>
|
|
|
| +#include "webrtc/base/criticalsection.h"
|
| +#include "webrtc/media/base/videosourceinterface.h"
|
| #include "webrtc/typedefs.h"
|
| #include "webrtc/video_frame.h"
|
|
|
| @@ -20,6 +22,25 @@ namespace webrtc {
|
| class Clock;
|
| namespace test {
|
|
|
| +// FrameForwarder can be used as an implementation
|
| +// of rtc::VideoSourceInterface<VideoFrame> where the caller controls when
|
| +// a frame should be forwarded to its sink.
|
| +// Currently this implementation only support one sink.
|
| +class FrameForwarder : public rtc::VideoSourceInterface<VideoFrame> {
|
| + public:
|
| + FrameForwarder();
|
| + // Forwards |video_frame| to the registered |sink_|.
|
| + void IncomingCapturedFrame(const VideoFrame& video_frame);
|
| +
|
| + private:
|
| + void AddOrUpdateSink(rtc::VideoSinkInterface<VideoFrame>* sink,
|
| + const rtc::VideoSinkWants& wants) override;
|
| + void RemoveSink(rtc::VideoSinkInterface<VideoFrame>* sink) override;
|
| +
|
| + rtc::CriticalSection crit_;
|
| + rtc::VideoSinkInterface<VideoFrame>* sink_ GUARDED_BY(crit_);
|
| +};
|
| +
|
| class FrameGenerator {
|
| public:
|
| FrameGenerator() {}
|
| @@ -61,4 +82,4 @@ class FrameGenerator {
|
| } // namespace test
|
| } // namespace webrtc
|
|
|
| -#endif // WEBRTC_COMMON_VIDEO_TEST_FRAME_GENERATOR_H_
|
| +#endif // WEBRTC_TEST_FRAME_GENERATOR_H_
|
|
|