Chromecast media backend implementation (CastMediaShlib and MediaPipelineBackend) expects all calls be made on a single thread. We create chromecast::MediaMessageLoop::thread_ for this purpose.
For chromecast there two other media threads in the browser process:
1. media::AudioManagerBase::audio_thread_
2. media::MojoMediaApplication thread
This results in unnecessary thread hops. If we decide to use AudioOutputStream in mojo pipeline, there will be mojo -> cma -> audio -> cma hops for each frame.
We should have a single media thread to avoid hops and reduce code complexity. This bug is about making media::MojoMediaApplication thread, the universal media thread in the browser process.
Comment 1 by alokp@chromium.org
, Mar 11 2016