| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "mojo/services/html_viewer/webmediaplayer_factory.h" | 5 #include "mojo/services/html_viewer/webmediaplayer_factory.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/files/file_path.h" | 8 #include "base/files/file_path.h" |
| 9 #include "base/path_service.h" | 9 #include "base/path_service.h" |
| 10 #include "base/threading/thread.h" | 10 #include "base/threading/thread.h" |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 | 57 |
| 58 if (enable_mojo_media_renderer_) { | 58 if (enable_mojo_media_renderer_) { |
| 59 ServiceProviderPtr media_renderer_service_provider; | 59 ServiceProviderPtr media_renderer_service_provider; |
| 60 shell->ConnectToApplication("mojo:mojo_media_renderer_app", | 60 shell->ConnectToApplication("mojo:mojo_media_renderer_app", |
| 61 GetProxy(&media_renderer_service_provider)); | 61 GetProxy(&media_renderer_service_provider)); |
| 62 renderer.reset(new media::MojoRendererImpl( | 62 renderer.reset(new media::MojoRendererImpl( |
| 63 GetMediaThreadTaskRunner(), media_renderer_service_provider.get())); | 63 GetMediaThreadTaskRunner(), media_renderer_service_provider.get())); |
| 64 } | 64 } |
| 65 | 65 |
| 66 media::WebMediaPlayerParams params( | 66 media::WebMediaPlayerParams params( |
| 67 media::WebMediaPlayerParams::DeferLoadCB(), | 67 media::WebMediaPlayerParams::DeferLoadCB(), CreateAudioRendererSink(), |
| 68 CreateAudioRendererSink(), | 68 GetAudioHardwareConfig(), new media::MediaLog(), |
| 69 GetAudioHardwareConfig(), | |
| 70 new media::MediaLog(), | |
| 71 scoped_refptr<media::GpuVideoAcceleratorFactories>(), | 69 scoped_refptr<media::GpuVideoAcceleratorFactories>(), |
| 72 GetMediaThreadTaskRunner(), | 70 GetMediaThreadTaskRunner(), compositor_task_runner_, |
| 73 compositor_task_runner_, | 71 media::WebMediaPlayerParams::Context3DCB(), nullptr); |
| 74 NULL); | |
| 75 base::WeakPtr<media::WebMediaPlayerDelegate> delegate; | 72 base::WeakPtr<media::WebMediaPlayerDelegate> delegate; |
| 76 | 73 |
| 77 // TODO(xhwang): Provide a media based CdmFactory implementation. | 74 // TODO(xhwang): Provide a media based CdmFactory implementation. |
| 78 return new media::WebMediaPlayerImpl(frame, client, delegate, renderer.Pass(), | 75 return new media::WebMediaPlayerImpl(frame, client, delegate, renderer.Pass(), |
| 79 nullptr, params); | 76 nullptr, params); |
| 80 #endif | 77 #endif |
| 81 } | 78 } |
| 82 | 79 |
| 83 const media::AudioHardwareConfig& | 80 const media::AudioHardwareConfig& |
| 84 WebMediaPlayerFactory::GetAudioHardwareConfig() { | 81 WebMediaPlayerFactory::GetAudioHardwareConfig() { |
| 85 return audio_hardware_config_; | 82 return audio_hardware_config_; |
| 86 } | 83 } |
| 87 | 84 |
| 88 scoped_refptr<media::AudioRendererSink> | 85 scoped_refptr<media::AudioRendererSink> |
| 89 WebMediaPlayerFactory::CreateAudioRendererSink() { | 86 WebMediaPlayerFactory::CreateAudioRendererSink() { |
| 90 // TODO(dalecurtis): Replace this with an interface to an actual mojo service; | 87 // TODO(dalecurtis): Replace this with an interface to an actual mojo service; |
| 91 // the AudioOutputStreamSink will not work in sandboxed processes. | 88 // the AudioOutputStreamSink will not work in sandboxed processes. |
| 92 return new media::AudioOutputStreamSink(); | 89 return new media::AudioOutputStreamSink(); |
| 93 } | 90 } |
| 94 | 91 |
| 95 scoped_refptr<base::SingleThreadTaskRunner> | 92 scoped_refptr<base::SingleThreadTaskRunner> |
| 96 WebMediaPlayerFactory::GetMediaThreadTaskRunner() { | 93 WebMediaPlayerFactory::GetMediaThreadTaskRunner() { |
| 97 if (!media_thread_.IsRunning()) | 94 if (!media_thread_.IsRunning()) |
| 98 media_thread_.Start(); | 95 media_thread_.Start(); |
| 99 | 96 |
| 100 return media_thread_.message_loop_proxy(); | 97 return media_thread_.message_loop_proxy(); |
| 101 } | 98 } |
| 102 | 99 |
| 103 } // namespace mojo | 100 } // namespace mojo |
| OLD | NEW |