Splits PipelineImpl into main and media thread components.
The outer PipelineImpl runs on the main thread and acts as a proxy
between PipelineClient and the internal RendererWrapper that runs on
the media thread. This sets the stage to get rid of WaitableEvent
and Locks used in PipelineImpl.
This patch should not change anything functionality wise except for
timing of the notifications received from Demuxer and Renderer. In
response to the notifications we used to change member variables
inside a lock. Now we post a task to change those variables to the
main thread. The list of variables affected by this change are:
- buffered_time_ranges_
- did_loading_progress_
- duration_
- statistics_
BUG=
616959
Committed:
https://crrev.com/1116967f7c15965538b42c2a402712279d4e5662
Cr-Commit-Position: refs/heads/master@{#399376}