| Index: content/renderer/media/webmediaplayer_ms_compositor.cc | 
| diff --git a/content/renderer/media/webmediaplayer_ms_compositor.cc b/content/renderer/media/webmediaplayer_ms_compositor.cc | 
| index 198878f0cb682a4f96e49874288ac1f282fab7d5..095f54897faea41db2be02ed3b4ff7dab498fdf9 100644 | 
| --- a/content/renderer/media/webmediaplayer_ms_compositor.cc | 
| +++ b/content/renderer/media/webmediaplayer_ms_compositor.cc | 
| @@ -108,7 +108,8 @@ WebMediaPlayerMSCompositor::WebMediaPlayerMSCompositor( | 
| const blink::WebMediaStream web_stream( | 
| blink::WebMediaStreamRegistry::lookupMediaStreamDescriptor(url)); | 
| blink::WebVector<blink::WebMediaStreamTrack> video_tracks; | 
| -  web_stream.videoTracks(video_tracks); | 
| +  if (!web_stream.isNull()) | 
| +    web_stream.videoTracks(video_tracks); | 
|  | 
| const bool remote_video = | 
| video_tracks.size() && video_tracks[0].source().remote(); | 
| @@ -371,4 +372,19 @@ void WebMediaPlayerMSCompositor::SetCurrentFrame( | 
| main_message_loop_->PostTask( | 
| FROM_HERE, base::Bind(&WebMediaPlayerMS::ResetCanvasCache, player_)); | 
| } | 
| + | 
| +void WebMediaPlayerMSCompositor::SetAlgorithmEnabledForTesting( | 
| +    bool algorithm_enabled) { | 
| +  if (!algorithm_enabled) { | 
| +    rendering_frame_buffer_.reset(); | 
| +    return; | 
| +  } | 
| + | 
| +  if (!rendering_frame_buffer_) { | 
| +    rendering_frame_buffer_.reset(new media::VideoRendererAlgorithm( | 
| +        base::Bind(&WebMediaPlayerMSCompositor::MapTimestampsToRenderTimeTicks, | 
| +                   base::Unretained(this)))); | 
| +  } | 
| } | 
| + | 
| +}  // namespace content | 
|  |