| Index: media/cast/sender/video_sender.h
|
| diff --git a/media/cast/sender/video_sender.h b/media/cast/sender/video_sender.h
|
| index 826099ecf4dc728f31f57e954fc057fc196aa277..ae944b6203dc08dc6e5faa5f3842f27c52648504 100644
|
| --- a/media/cast/sender/video_sender.h
|
| +++ b/media/cast/sender/video_sender.h
|
| @@ -15,6 +15,7 @@
|
| #include "media/cast/cast_config.h"
|
| #include "media/cast/sender/congestion_control.h"
|
| #include "media/cast/sender/frame_sender.h"
|
| +#include "media/cast/sender/video_frame_factory.h"
|
|
|
| namespace media {
|
|
|
| @@ -56,6 +57,13 @@ class VideoSender : public FrameSender,
|
| void InsertRawVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame,
|
| const base::TimeTicks& reference_time);
|
|
|
| + // Returns a |VideoFrameFactory| that can be used to create
|
| + // |media::VideoFrame| objects with potentially better affinity with the
|
| + // encoder.
|
| + scoped_refptr<VideoFrameFactory> video_frame_factory() {
|
| + return video_frame_factory_;
|
| + }
|
| +
|
| protected:
|
| int GetNumberOfFramesInEncoder() const override;
|
| base::TimeDelta GetInFlightMediaDuration() const override;
|
| @@ -76,6 +84,10 @@ class VideoSender : public FrameSender,
|
| // a hardware-based encoder.
|
| scoped_ptr<VideoEncoder> video_encoder_;
|
|
|
| + // Provides |media::VideoFrame| objects suitable for encoding. The encoder may
|
| + // provide a specialized instance, otherwise a default implementation is used.
|
| + scoped_refptr<VideoFrameFactory> video_frame_factory_;
|
| +
|
| // The number of frames queued for encoding, but not yet sent.
|
| int frames_in_encoder_;
|
|
|
|
|