| Index: media/renderers/video_renderer_impl.cc
 | 
| diff --git a/media/renderers/video_renderer_impl.cc b/media/renderers/video_renderer_impl.cc
 | 
| index 507599d890ba1613e62b04d0f23742dd4ff5d761..3477db688009006a2526c99ce5817df0d46afb81 100644
 | 
| --- a/media/renderers/video_renderer_impl.cc
 | 
| +++ b/media/renderers/video_renderer_impl.cc
 | 
| @@ -171,8 +171,12 @@
 | 
|    // failed.
 | 
|    init_cb_ = BindToCurrentLoop(init_cb);
 | 
|  
 | 
| +  // Always post |buffering_state_cb_| because it may otherwise invoke reentrant
 | 
| +  // calls to OnTimeStateChanged() under lock, which can deadlock the compositor
 | 
| +  // and media threads.
 | 
| +  buffering_state_cb_ = BindToCurrentLoop(buffering_state_cb);
 | 
| +
 | 
|    statistics_cb_ = statistics_cb;
 | 
| -  buffering_state_cb_ = buffering_state_cb;
 | 
|    paint_cb_ = base::Bind(&VideoRendererSink::PaintFrameUsingOldRenderingPath,
 | 
|                           base::Unretained(sink_));
 | 
|    ended_cb_ = ended_cb;
 | 
| 
 |