OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 "content/renderer/media/webmediaplayer_impl.h" | 5 #include "content/renderer/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 1121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1132 | 1132 |
1133 if (gpu_factories_.get()) { | 1133 if (gpu_factories_.get()) { |
1134 video_decoders.push_back( | 1134 video_decoders.push_back( |
1135 new media::GpuVideoDecoder(gpu_factories_, media_log_)); | 1135 new media::GpuVideoDecoder(gpu_factories_, media_log_)); |
1136 } | 1136 } |
1137 | 1137 |
1138 #if !defined(MEDIA_DISABLE_LIBVPX) | 1138 #if !defined(MEDIA_DISABLE_LIBVPX) |
1139 video_decoders.push_back(new media::VpxVideoDecoder(media_loop_)); | 1139 video_decoders.push_back(new media::VpxVideoDecoder(media_loop_)); |
1140 #endif // !defined(MEDIA_DISABLE_LIBVPX) | 1140 #endif // !defined(MEDIA_DISABLE_LIBVPX) |
1141 | 1141 |
1142 video_decoders.push_back(new media::FFmpegVideoDecoder(media_loop_)); | 1142 // Use slice-based threading for MediaSource streams to make sure the decoder |
1143 // doesn't retain decoded frames. | |
1144 media::FFmpegVideoDecoder::ThreadingMode threading_mode = | |
1145 load_type_ == LoadTypeMediaSource | |
1146 ? media::FFmpegVideoDecoder::THREADING_SLICE | |
1147 : media::FFmpegVideoDecoder::THREADING_FRAME; | |
1148 video_decoders.push_back(new media::FFmpegVideoDecoder(media_loop_, | |
1149 threading_mode)); | |
Ami GONE FROM CHROMIUM
2014/01/28 07:17:10
git cl format
| |
1143 | 1150 |
1144 scoped_ptr<media::VideoRenderer> video_renderer( | 1151 scoped_ptr<media::VideoRenderer> video_renderer( |
1145 new media::VideoRendererImpl( | 1152 new media::VideoRendererImpl( |
1146 media_loop_, | 1153 media_loop_, |
1147 video_decoders.Pass(), | 1154 video_decoders.Pass(), |
1148 set_decryptor_ready_cb, | 1155 set_decryptor_ready_cb, |
1149 base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)), | 1156 base::Bind(&WebMediaPlayerImpl::FrameReady, base::Unretained(this)), |
1150 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque), | 1157 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::SetOpaque), |
1151 true)); | 1158 true)); |
1152 filter_collection->SetVideoRenderer(video_renderer.Pass()); | 1159 filter_collection->SetVideoRenderer(video_renderer.Pass()); |
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1306 | 1313 |
1307 if (web_cdm_) { | 1314 if (web_cdm_) { |
1308 decryptor_ready_cb.Run(web_cdm_->GetDecryptor()); | 1315 decryptor_ready_cb.Run(web_cdm_->GetDecryptor()); |
1309 return; | 1316 return; |
1310 } | 1317 } |
1311 | 1318 |
1312 decryptor_ready_cb_ = decryptor_ready_cb; | 1319 decryptor_ready_cb_ = decryptor_ready_cb; |
1313 } | 1320 } |
1314 | 1321 |
1315 } // namespace content | 1322 } // namespace content |
OLD | NEW |