Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: webkit/media/webmediaplayer_impl.cc

Issue 13886011: media: Add support for playback of VP8 Alpha video streams (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/media.gyp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
OLDNEW
« no previous file with comments | « media/media.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698