OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "webkit/media/webmediaplayer_impl.h" | 5 #include "webkit/media/webmediaplayer_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 1285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1296 filter_collection->SetAudioRenderer(audio_renderer.Pass()); | 1296 filter_collection->SetAudioRenderer(audio_renderer.Pass()); |
1297 | 1297 |
1298 // Create our video decoders and renderer. | 1298 // Create our video decoders and renderer. |
1299 ScopedVector<media::VideoDecoder> video_decoders; | 1299 ScopedVector<media::VideoDecoder> video_decoders; |
1300 | 1300 |
1301 if (gpu_factories_) { | 1301 if (gpu_factories_) { |
1302 video_decoders.push_back(new media::GpuVideoDecoder( | 1302 video_decoders.push_back(new media::GpuVideoDecoder( |
1303 media_thread_.message_loop_proxy(), gpu_factories_)); | 1303 media_thread_.message_loop_proxy(), gpu_factories_)); |
1304 } | 1304 } |
1305 | 1305 |
1306 video_decoders.push_back(new media::FFmpegVideoDecoder( | |
1307 media_thread_.message_loop_proxy())); | |
1308 | |
1309 // TODO(phajdan.jr): Remove ifdefs when libvpx with vp9 support is released | 1306 // TODO(phajdan.jr): Remove ifdefs when libvpx with vp9 support is released |
1310 // (http://crbug.com/174287) . | 1307 // (http://crbug.com/174287) . |
1311 #if !defined(MEDIA_DISABLE_LIBVPX) | 1308 #if !defined(MEDIA_DISABLE_LIBVPX) |
1312 if (cmd_line->HasSwitch(switches::kEnableVp9Playback)) { | 1309 if (cmd_line->HasSwitch(switches::kEnableVp9Playback) || |
| 1310 cmd_line->HasSwitch(switches::kEnableVp8AlphaPlayback)) { |
1313 video_decoders.push_back(new media::VpxVideoDecoder( | 1311 video_decoders.push_back(new media::VpxVideoDecoder( |
1314 media_thread_.message_loop_proxy())); | 1312 media_thread_.message_loop_proxy())); |
1315 } | 1313 } |
1316 #endif // !defined(MEDIA_DISABLE_LIBVPX) | 1314 #endif // !defined(MEDIA_DISABLE_LIBVPX) |
1317 | 1315 |
| 1316 video_decoders.push_back(new media::FFmpegVideoDecoder( |
| 1317 media_thread_.message_loop_proxy())); |
| 1318 |
1318 scoped_ptr<media::VideoRenderer> video_renderer( | 1319 scoped_ptr<media::VideoRenderer> video_renderer( |
1319 new media::VideoRendererBase( | 1320 new media::VideoRendererBase( |
1320 media_thread_.message_loop_proxy(), | 1321 media_thread_.message_loop_proxy(), |
1321 video_decoders.Pass(), | 1322 video_decoders.Pass(), |
1322 set_decryptor_ready_cb, | 1323 set_decryptor_ready_cb, |
1323 base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)), | 1324 base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)), |
1324 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque), | 1325 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque), |
1325 true)); | 1326 true)); |
1326 filter_collection->SetVideoRenderer(video_renderer.Pass()); | 1327 filter_collection->SetVideoRenderer(video_renderer.Pass()); |
1327 | 1328 |
1328 return filter_collection.Pass(); | 1329 return filter_collection.Pass(); |
1329 } | 1330 } |
1330 | 1331 |
1331 } // namespace webkit_media | 1332 } // namespace webkit_media |
OLD | NEW |