Index: media/cast/cast_sender_impl.cc |
diff --git a/media/cast/cast_sender_impl.cc b/media/cast/cast_sender_impl.cc |
index 571e92ef54093eb37c86221f8139c0eab5c1fe26..9d6ce84b53a359bce29b6cbdb0b2bb6a89a24291 100644 |
--- a/media/cast/cast_sender_impl.cc |
+++ b/media/cast/cast_sender_impl.cc |
@@ -18,8 +18,11 @@ namespace cast { |
class LocalVideoFrameInput : public VideoFrameInput { |
public: |
LocalVideoFrameInput(scoped_refptr<CastEnvironment> cast_environment, |
- base::WeakPtr<VideoSender> video_sender) |
- : cast_environment_(cast_environment), video_sender_(video_sender) {} |
+ base::WeakPtr<VideoSender> video_sender, |
+ scoped_refptr<VideoFrameFactory> video_frame_factory) |
+ : cast_environment_(cast_environment), |
+ video_sender_(video_sender), |
+ video_frame_factory_(video_frame_factory) {} |
void InsertRawVideoFrame(const scoped_refptr<media::VideoFrame>& video_frame, |
const base::TimeTicks& capture_time) override { |
@@ -31,6 +34,10 @@ class LocalVideoFrameInput : public VideoFrameInput { |
capture_time)); |
} |
+ scoped_refptr<VideoFrame> CreateFrame(base::TimeDelta timestamp) override { |
+ return video_frame_factory_->CreateFrame(timestamp); |
Alpha Left Google
2014/11/17 20:23:14
Why not create VideoFrame through VideoSender?
jfroy
2014/11/17 21:23:06
My understanding is that VideoFrameInput is ref co
Alpha Left Google
2014/11/18 02:57:58
In a latter comment you mentioned that the created
jfroy
2014/11/18 18:03:58
That sounds pretty good.
|
+ } |
+ |
protected: |
~LocalVideoFrameInput() override {} |
@@ -39,6 +46,7 @@ class LocalVideoFrameInput : public VideoFrameInput { |
scoped_refptr<CastEnvironment> cast_environment_; |
base::WeakPtr<VideoSender> video_sender_; |
+ scoped_refptr<VideoFrameFactory> video_frame_factory_; |
Alpha Left Google
2014/11/17 20:23:14
Please don't save VideoFrameFactory. It's an inter
jfroy
2014/11/17 21:23:06
See my note above. I made VideoFrameFactory a thre
|
DISALLOW_COPY_AND_ASSIGN(LocalVideoFrameInput); |
}; |
@@ -170,7 +178,9 @@ void CastSenderImpl::OnVideoInitialized( |
media::cast::CastInitializationStatus result) { |
DCHECK(cast_environment_->CurrentlyOn(CastEnvironment::MAIN)); |
video_frame_input_ = |
- new LocalVideoFrameInput(cast_environment_, video_sender_->AsWeakPtr()); |
+ new LocalVideoFrameInput(cast_environment_, |
+ video_sender_->AsWeakPtr(), |
+ video_sender_->video_frame_factory()); |
initialization_cb.Run(result); |
} |