| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/renderer/media/video_source_handler.h" | 5 #include "content/renderer/media/video_source_handler.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 weak_factory_.GetWeakPtr())), | 46 weak_factory_.GetWeakPtr())), |
| 47 track_); | 47 track_); |
| 48 } else { | 48 } else { |
| 49 DCHECK(reader_); | 49 DCHECK(reader_); |
| 50 MediaStreamVideoSink::RemoveFromVideoTrack(this, track_); | 50 MediaStreamVideoSink::RemoveFromVideoTrack(this, track_); |
| 51 weak_factory_.InvalidateWeakPtrs(); | 51 weak_factory_.InvalidateWeakPtrs(); |
| 52 } | 52 } |
| 53 reader_ = reader; | 53 reader_ = reader; |
| 54 } | 54 } |
| 55 | 55 |
| 56 void OnVideoFrame( | 56 void OnVideoFrame(const scoped_refptr<media::VideoFrame>& frame, |
| 57 const scoped_refptr<media::VideoFrame>& frame, | 57 const base::TimeTicks& estimated_capture_time) { |
| 58 const media::VideoCaptureFormat& format, | |
| 59 const base::TimeTicks& estimated_capture_time) { | |
| 60 TRACE_EVENT0("video", "PpFrameReceiver::OnVideoFrame"); | 58 TRACE_EVENT0("video", "PpFrameReceiver::OnVideoFrame"); |
| 61 if (reader_) { | 59 if (reader_) { |
| 62 reader_->GotFrame(frame); | 60 reader_->GotFrame(frame); |
| 63 } | 61 } |
| 64 } | 62 } |
| 65 | 63 |
| 66 private: | 64 private: |
| 67 blink::WebMediaStreamTrack track_; | 65 blink::WebMediaStreamTrack track_; |
| 68 FrameReaderInterface* reader_; | 66 FrameReaderInterface* reader_; |
| 69 base::WeakPtrFactory<PpFrameReceiver> weak_factory_; | 67 base::WeakPtrFactory<PpFrameReceiver> weak_factory_; |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 134 } | 132 } |
| 135 | 133 |
| 136 void VideoSourceHandler::DeliverFrameForTesting( | 134 void VideoSourceHandler::DeliverFrameForTesting( |
| 137 FrameReaderInterface* reader, | 135 FrameReaderInterface* reader, |
| 138 const scoped_refptr<media::VideoFrame>& frame) { | 136 const scoped_refptr<media::VideoFrame>& frame) { |
| 139 SourceInfoMap::iterator it = reader_to_receiver_.find(reader); | 137 SourceInfoMap::iterator it = reader_to_receiver_.find(reader); |
| 140 if (it == reader_to_receiver_.end()) { | 138 if (it == reader_to_receiver_.end()) { |
| 141 return; | 139 return; |
| 142 } | 140 } |
| 143 PpFrameReceiver* receiver = it->second->receiver_.get(); | 141 PpFrameReceiver* receiver = it->second->receiver_.get(); |
| 144 receiver->OnVideoFrame(frame, media::VideoCaptureFormat(), | 142 receiver->OnVideoFrame(frame, base::TimeTicks()); |
| 145 base::TimeTicks()); | |
| 146 } | 143 } |
| 147 | 144 |
| 148 VideoSourceHandler::SourceInfo::SourceInfo( | 145 VideoSourceHandler::SourceInfo::SourceInfo( |
| 149 const blink::WebMediaStreamTrack& blink_track, | 146 const blink::WebMediaStreamTrack& blink_track, |
| 150 FrameReaderInterface* reader) | 147 FrameReaderInterface* reader) |
| 151 : receiver_(new PpFrameReceiver(blink_track)) { | 148 : receiver_(new PpFrameReceiver(blink_track)) { |
| 152 receiver_->SetReader(reader); | 149 receiver_->SetReader(reader); |
| 153 } | 150 } |
| 154 | 151 |
| 155 VideoSourceHandler::SourceInfo::~SourceInfo() { | 152 VideoSourceHandler::SourceInfo::~SourceInfo() { |
| 156 receiver_->SetReader(NULL); | 153 receiver_->SetReader(NULL); |
| 157 } | 154 } |
| 158 | 155 |
| 159 } // namespace content | 156 } // namespace content |
| OLD | NEW |