| Index: talk/media/webrtc/webrtcvideocapturer.cc | 
| diff --git a/talk/media/webrtc/webrtcvideocapturer.cc b/talk/media/webrtc/webrtcvideocapturer.cc | 
| index 9f1f32af4fe8bfed81726e7e293f2f7a9c60f0d4..c7861baee5ec65f0e6a60e3656847328bb167b25 100644 | 
| --- a/talk/media/webrtc/webrtcvideocapturer.cc | 
| +++ b/talk/media/webrtc/webrtcvideocapturer.cc | 
| @@ -383,7 +383,8 @@ void WebRtcVideoCapturer::OnIncomingCapturedFrame( | 
| // thread hop. | 
| // Note that Stop() can cause the async invoke call to be cancelled. | 
| async_invoker_->AsyncInvoke<void>(start_thread_, | 
| -        // Note that this results in a shallow copying of the frame. | 
| +        // Note that Bind captures by value, so there's an intermediate copy | 
| +        // of sample. | 
| rtc::Bind(&WebRtcVideoCapturer::SignalFrameCapturedOnStartThread, | 
| this, sample)); | 
| } | 
| @@ -395,7 +396,7 @@ void WebRtcVideoCapturer::OnCaptureDelayChanged(const int32_t id, | 
| } | 
|  | 
| void WebRtcVideoCapturer::SignalFrameCapturedOnStartThread( | 
| -    const webrtc::VideoFrame frame) { | 
| +    const webrtc::VideoFrame& frame) { | 
| // This can only happen between Start() and Stop(). | 
| RTC_DCHECK(start_thread_); | 
| RTC_DCHECK(start_thread_->IsCurrent()); | 
|  |