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

Side by Side Diff: content/renderer/media/webmediaplayer_impl.cc

Issue 63253002: Rename WebKit namespace to blink (part 3) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
OLDNEW
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 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
53 #include "third_party/WebKit/public/platform/WebRect.h" 53 #include "third_party/WebKit/public/platform/WebRect.h"
54 #include "third_party/WebKit/public/platform/WebSize.h" 54 #include "third_party/WebKit/public/platform/WebSize.h"
55 #include "third_party/WebKit/public/platform/WebString.h" 55 #include "third_party/WebKit/public/platform/WebString.h"
56 #include "third_party/WebKit/public/platform/WebURL.h" 56 #include "third_party/WebKit/public/platform/WebURL.h"
57 #include "third_party/WebKit/public/web/WebDocument.h" 57 #include "third_party/WebKit/public/web/WebDocument.h"
58 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h" 58 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h"
59 #include "third_party/WebKit/public/web/WebView.h" 59 #include "third_party/WebKit/public/web/WebView.h"
60 #include "v8/include/v8.h" 60 #include "v8/include/v8.h"
61 #include "webkit/renderer/compositor_bindings/web_layer_impl.h" 61 #include "webkit/renderer/compositor_bindings/web_layer_impl.h"
62 62
63 using WebKit::WebCanvas; 63 using blink::WebCanvas;
64 using WebKit::WebMediaPlayer; 64 using blink::WebMediaPlayer;
65 using WebKit::WebRect; 65 using blink::WebRect;
66 using WebKit::WebSize; 66 using blink::WebSize;
67 using WebKit::WebString; 67 using blink::WebString;
68 using media::PipelineStatus; 68 using media::PipelineStatus;
69 69
70 namespace { 70 namespace {
71 71
72 // Amount of extra memory used by each player instance reported to V8. 72 // Amount of extra memory used by each player instance reported to V8.
73 // It is not exact number -- first, it differs on different platforms, 73 // It is not exact number -- first, it differs on different platforms,
74 // and second, it is very hard to calculate. Instead, use some arbitrary 74 // and second, it is very hard to calculate. Instead, use some arbitrary
75 // value that will cause garbage collection from time to time. We don't want 75 // value that will cause garbage collection from time to time. We don't want
76 // it to happen on every allocation, but don't want 5k players to sit in memory 76 // it to happen on every allocation, but don't want 5k players to sit in memory
77 // either. Looks that chosen constant achieves both goals, at least for audio 77 // either. Looks that chosen constant achieves both goals, at least for audio
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 122
123 #define BIND_TO_RENDER_LOOP_2(function, arg1, arg2) \ 123 #define BIND_TO_RENDER_LOOP_2(function, arg1, arg2) \
124 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr(), arg1, arg2)) 124 media::BindToLoop(main_loop_, base::Bind(function, AsWeakPtr(), arg1, arg2))
125 125
126 static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log, 126 static void LogMediaSourceError(const scoped_refptr<media::MediaLog>& media_log,
127 const std::string& error) { 127 const std::string& error) {
128 media_log->AddEvent(media_log->CreateMediaSourceErrorEvent(error)); 128 media_log->AddEvent(media_log->CreateMediaSourceErrorEvent(error));
129 } 129 }
130 130
131 WebMediaPlayerImpl::WebMediaPlayerImpl( 131 WebMediaPlayerImpl::WebMediaPlayerImpl(
132 WebKit::WebFrame* frame, 132 blink::WebFrame* frame,
133 WebKit::WebMediaPlayerClient* client, 133 blink::WebMediaPlayerClient* client,
134 base::WeakPtr<WebMediaPlayerDelegate> delegate, 134 base::WeakPtr<WebMediaPlayerDelegate> delegate,
135 const WebMediaPlayerParams& params) 135 const WebMediaPlayerParams& params)
136 : frame_(frame), 136 : frame_(frame),
137 network_state_(WebMediaPlayer::NetworkStateEmpty), 137 network_state_(WebMediaPlayer::NetworkStateEmpty),
138 ready_state_(WebMediaPlayer::ReadyStateHaveNothing), 138 ready_state_(WebMediaPlayer::ReadyStateHaveNothing),
139 main_loop_(base::MessageLoopProxy::current()), 139 main_loop_(base::MessageLoopProxy::current()),
140 media_loop_(params.message_loop_proxy()), 140 media_loop_(params.message_loop_proxy()),
141 paused_(true), 141 paused_(true),
142 seeking_(false), 142 seeking_(false),
143 playback_rate_(0.0f), 143 playback_rate_(0.0f),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
177 // 177 //
178 // TODO(enal): remove when we get rid of per-audio-stream thread. 178 // TODO(enal): remove when we get rid of per-audio-stream thread.
179 main_loop_->PostTask( 179 main_loop_->PostTask(
180 FROM_HERE, 180 FROM_HERE,
181 base::Bind(&WebMediaPlayerImpl::IncrementExternallyAllocatedMemory, 181 base::Bind(&WebMediaPlayerImpl::IncrementExternallyAllocatedMemory,
182 AsWeakPtr())); 182 AsWeakPtr()));
183 183
184 // Also we want to be notified of |main_loop_| destruction. 184 // Also we want to be notified of |main_loop_| destruction.
185 base::MessageLoop::current()->AddDestructionObserver(this); 185 base::MessageLoop::current()->AddDestructionObserver(this);
186 186
187 if (WebKit::WebRuntimeFeatures::isPrefixedEncryptedMediaEnabled()) { 187 if (blink::WebRuntimeFeatures::isPrefixedEncryptedMediaEnabled()) {
188 decryptor_.reset(new ProxyDecryptor( 188 decryptor_.reset(new ProxyDecryptor(
189 #if defined(ENABLE_PEPPER_CDMS) 189 #if defined(ENABLE_PEPPER_CDMS)
190 client, 190 client,
191 frame, 191 frame,
192 #endif 192 #endif
193 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyAdded), 193 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyAdded),
194 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyError), 194 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyError),
195 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyMessage))); 195 BIND_TO_RENDER_LOOP(&WebMediaPlayerImpl::OnKeyMessage)));
196 } 196 }
197 197
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 if (url.SchemeIs("javascript")) return kJavascriptURLScheme; 248 if (url.SchemeIs("javascript")) return kJavascriptURLScheme;
249 if (url.SchemeIs("file")) return kFileURLScheme; 249 if (url.SchemeIs("file")) return kFileURLScheme;
250 if (url.SchemeIs("blob")) return kBlobURLScheme; 250 if (url.SchemeIs("blob")) return kBlobURLScheme;
251 if (url.SchemeIs("data")) return kDataURLScheme; 251 if (url.SchemeIs("data")) return kDataURLScheme;
252 if (url.SchemeIs("filesystem")) return kFileSystemScheme; 252 if (url.SchemeIs("filesystem")) return kFileSystemScheme;
253 return kUnknownURLScheme; 253 return kUnknownURLScheme;
254 } 254 }
255 255
256 } // anonymous namespace 256 } // anonymous namespace
257 257
258 void WebMediaPlayerImpl::load(LoadType load_type, const WebKit::WebURL& url, 258 void WebMediaPlayerImpl::load(LoadType load_type, const blink::WebURL& url,
259 CORSMode cors_mode) { 259 CORSMode cors_mode) {
260 if (!defer_load_cb_.is_null()) { 260 if (!defer_load_cb_.is_null()) {
261 defer_load_cb_.Run(base::Bind( 261 defer_load_cb_.Run(base::Bind(
262 &WebMediaPlayerImpl::DoLoad, AsWeakPtr(), load_type, url, cors_mode)); 262 &WebMediaPlayerImpl::DoLoad, AsWeakPtr(), load_type, url, cors_mode));
263 return; 263 return;
264 } 264 }
265 DoLoad(load_type, url, cors_mode); 265 DoLoad(load_type, url, cors_mode);
266 } 266 }
267 267
268 void WebMediaPlayerImpl::DoLoad(LoadType load_type, 268 void WebMediaPlayerImpl::DoLoad(LoadType load_type,
269 const WebKit::WebURL& url, 269 const blink::WebURL& url,
270 CORSMode cors_mode) { 270 CORSMode cors_mode) {
271 DCHECK(main_loop_->BelongsToCurrentThread()); 271 DCHECK(main_loop_->BelongsToCurrentThread());
272 272
273 GURL gurl(url); 273 GURL gurl(url);
274 UMA_HISTOGRAM_ENUMERATION("Media.URLScheme", URLScheme(gurl), kMaxURLScheme); 274 UMA_HISTOGRAM_ENUMERATION("Media.URLScheme", URLScheme(gurl), kMaxURLScheme);
275 275
276 // Set subresource URL for crash reporting. 276 // Set subresource URL for crash reporting.
277 base::debug::SetCrashKeyValue("subresource_url", gurl.spec()); 277 base::debug::SetCrashKeyValue("subresource_url", gurl.spec());
278 278
279 load_type_ = load_type; 279 load_type_ = load_type;
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
428 428
429 return pipeline_->HasVideo(); 429 return pipeline_->HasVideo();
430 } 430 }
431 431
432 bool WebMediaPlayerImpl::hasAudio() const { 432 bool WebMediaPlayerImpl::hasAudio() const {
433 DCHECK(main_loop_->BelongsToCurrentThread()); 433 DCHECK(main_loop_->BelongsToCurrentThread());
434 434
435 return pipeline_->HasAudio(); 435 return pipeline_->HasAudio();
436 } 436 }
437 437
438 WebKit::WebSize WebMediaPlayerImpl::naturalSize() const { 438 blink::WebSize WebMediaPlayerImpl::naturalSize() const {
439 DCHECK(main_loop_->BelongsToCurrentThread()); 439 DCHECK(main_loop_->BelongsToCurrentThread());
440 440
441 gfx::Size size; 441 gfx::Size size;
442 pipeline_->GetNaturalVideoSize(&size); 442 pipeline_->GetNaturalVideoSize(&size);
443 return WebKit::WebSize(size); 443 return blink::WebSize(size);
444 } 444 }
445 445
446 bool WebMediaPlayerImpl::paused() const { 446 bool WebMediaPlayerImpl::paused() const {
447 DCHECK(main_loop_->BelongsToCurrentThread()); 447 DCHECK(main_loop_->BelongsToCurrentThread());
448 448
449 return pipeline_->GetPlaybackRate() == 0.0f; 449 return pipeline_->GetPlaybackRate() == 0.0f;
450 } 450 }
451 451
452 bool WebMediaPlayerImpl::seeking() const { 452 bool WebMediaPlayerImpl::seeking() const {
453 DCHECK(main_loop_->BelongsToCurrentThread()); 453 DCHECK(main_loop_->BelongsToCurrentThread());
(...skipping 21 matching lines...) Expand all
475 WebMediaPlayer::NetworkState WebMediaPlayerImpl::networkState() const { 475 WebMediaPlayer::NetworkState WebMediaPlayerImpl::networkState() const {
476 DCHECK(main_loop_->BelongsToCurrentThread()); 476 DCHECK(main_loop_->BelongsToCurrentThread());
477 return network_state_; 477 return network_state_;
478 } 478 }
479 479
480 WebMediaPlayer::ReadyState WebMediaPlayerImpl::readyState() const { 480 WebMediaPlayer::ReadyState WebMediaPlayerImpl::readyState() const {
481 DCHECK(main_loop_->BelongsToCurrentThread()); 481 DCHECK(main_loop_->BelongsToCurrentThread());
482 return ready_state_; 482 return ready_state_;
483 } 483 }
484 484
485 const WebKit::WebTimeRanges& WebMediaPlayerImpl::buffered() { 485 const blink::WebTimeRanges& WebMediaPlayerImpl::buffered() {
486 DCHECK(main_loop_->BelongsToCurrentThread()); 486 DCHECK(main_loop_->BelongsToCurrentThread());
487 WebKit::WebTimeRanges web_ranges( 487 blink::WebTimeRanges web_ranges(
488 ConvertToWebTimeRanges(pipeline_->GetBufferedTimeRanges())); 488 ConvertToWebTimeRanges(pipeline_->GetBufferedTimeRanges()));
489 buffered_.swap(web_ranges); 489 buffered_.swap(web_ranges);
490 return buffered_; 490 return buffered_;
491 } 491 }
492 492
493 double WebMediaPlayerImpl::maxTimeSeekable() const { 493 double WebMediaPlayerImpl::maxTimeSeekable() const {
494 DCHECK(main_loop_->BelongsToCurrentThread()); 494 DCHECK(main_loop_->BelongsToCurrentThread());
495 495
496 // If we haven't even gotten to ReadyStateHaveMetadata yet then just 496 // If we haven't even gotten to ReadyStateHaveMetadata yet then just
497 // return 0 so that the seekable range is empty. 497 // return 0 so that the seekable range is empty.
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 const scoped_refptr<media::VideoFrame>& frame) { 607 const scoped_refptr<media::VideoFrame>& frame) {
608 if (!accelerated_compositing_reported_) { 608 if (!accelerated_compositing_reported_) {
609 accelerated_compositing_reported_ = true; 609 accelerated_compositing_reported_ = true;
610 DCHECK(frame_->view()->isAcceleratedCompositingActive()); 610 DCHECK(frame_->view()->isAcceleratedCompositingActive());
611 UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", true); 611 UMA_HISTOGRAM_BOOLEAN("Media.AcceleratedCompositingActive", true);
612 } 612 }
613 TRACE_EVENT_ASYNC_END0("media", "WebMediaPlayerImpl:compositing", this); 613 TRACE_EVENT_ASYNC_END0("media", "WebMediaPlayerImpl:compositing", this);
614 } 614 }
615 615
616 bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture( 616 bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture(
617 WebKit::WebGraphicsContext3D* web_graphics_context, 617 blink::WebGraphicsContext3D* web_graphics_context,
618 unsigned int texture, 618 unsigned int texture,
619 unsigned int level, 619 unsigned int level,
620 unsigned int internal_format, 620 unsigned int internal_format,
621 unsigned int type, 621 unsigned int type,
622 bool premultiply_alpha, 622 bool premultiply_alpha,
623 bool flip_y) { 623 bool flip_y) {
624 scoped_refptr<media::VideoFrame> video_frame; 624 scoped_refptr<media::VideoFrame> video_frame;
625 { 625 {
626 base::AutoLock auto_lock(lock_); 626 base::AutoLock auto_lock(lock_);
627 video_frame = current_frame_; 627 video_frame = current_frame_;
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 // performance will be better when it is added than not. 686 // performance will be better when it is added than not.
687 web_graphics_context->flush(); 687 web_graphics_context->flush();
688 return true; 688 return true;
689 } 689 }
690 690
691 // Helper functions to report media EME related stats to UMA. They follow the 691 // Helper functions to report media EME related stats to UMA. They follow the
692 // convention of more commonly used macros UMA_HISTOGRAM_ENUMERATION and 692 // convention of more commonly used macros UMA_HISTOGRAM_ENUMERATION and
693 // UMA_HISTOGRAM_COUNTS. The reason that we cannot use those macros directly is 693 // UMA_HISTOGRAM_COUNTS. The reason that we cannot use those macros directly is
694 // that UMA_* macros require the names to be constant throughout the process' 694 // that UMA_* macros require the names to be constant throughout the process'
695 // lifetime. 695 // lifetime.
696 static void EmeUMAHistogramEnumeration(const WebKit::WebString& key_system, 696 static void EmeUMAHistogramEnumeration(const blink::WebString& key_system,
697 const std::string& method, 697 const std::string& method,
698 int sample, 698 int sample,
699 int boundary_value) { 699 int boundary_value) {
700 base::LinearHistogram::FactoryGet( 700 base::LinearHistogram::FactoryGet(
701 kMediaEme + KeySystemNameForUMA(key_system) + "." + method, 701 kMediaEme + KeySystemNameForUMA(key_system) + "." + method,
702 1, boundary_value, boundary_value + 1, 702 1, boundary_value, boundary_value + 1,
703 base::Histogram::kUmaTargetedHistogramFlag)->Add(sample); 703 base::Histogram::kUmaTargetedHistogramFlag)->Add(sample);
704 } 704 }
705 705
706 static void EmeUMAHistogramCounts(const WebKit::WebString& key_system, 706 static void EmeUMAHistogramCounts(const blink::WebString& key_system,
707 const std::string& method, 707 const std::string& method,
708 int sample) { 708 int sample) {
709 // Use the same parameters as UMA_HISTOGRAM_COUNTS. 709 // Use the same parameters as UMA_HISTOGRAM_COUNTS.
710 base::Histogram::FactoryGet( 710 base::Histogram::FactoryGet(
711 kMediaEme + KeySystemNameForUMA(key_system) + "." + method, 711 kMediaEme + KeySystemNameForUMA(key_system) + "." + method,
712 1, 1000000, 50, base::Histogram::kUmaTargetedHistogramFlag)->Add(sample); 712 1, 1000000, 50, base::Histogram::kUmaTargetedHistogramFlag)->Add(sample);
713 } 713 }
714 714
715 // Helper enum for reporting generateKeyRequest/addKey histograms. 715 // Helper enum for reporting generateKeyRequest/addKey histograms.
716 enum MediaKeyException { 716 enum MediaKeyException {
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 init_data_ptr, 992 init_data_ptr,
993 init_data.size()); 993 init_data.size());
994 } 994 }
995 995
996 scoped_ptr<media::TextTrack> 996 scoped_ptr<media::TextTrack>
997 WebMediaPlayerImpl::OnTextTrack(media::TextKind kind, 997 WebMediaPlayerImpl::OnTextTrack(media::TextKind kind,
998 const std::string& label, 998 const std::string& label,
999 const std::string& language) { 999 const std::string& language) {
1000 typedef WebInbandTextTrackImpl::Kind webkind_t; 1000 typedef WebInbandTextTrackImpl::Kind webkind_t;
1001 const webkind_t webkind = static_cast<webkind_t>(kind); 1001 const webkind_t webkind = static_cast<webkind_t>(kind);
1002 const WebKit::WebString weblabel = WebKit::WebString::fromUTF8(label); 1002 const blink::WebString weblabel = blink::WebString::fromUTF8(label);
1003 const WebKit::WebString weblanguage = WebKit::WebString::fromUTF8(language); 1003 const blink::WebString weblanguage = blink::WebString::fromUTF8(language);
1004 1004
1005 WebInbandTextTrackImpl* const text_track = 1005 WebInbandTextTrackImpl* const text_track =
1006 new WebInbandTextTrackImpl(webkind, weblabel, weblanguage, 1006 new WebInbandTextTrackImpl(webkind, weblabel, weblanguage,
1007 text_track_index_++); 1007 text_track_index_++);
1008 1008
1009 return scoped_ptr<media::TextTrack>(new TextTrackImpl(GetClient(), 1009 return scoped_ptr<media::TextTrack>(new TextTrackImpl(GetClient(),
1010 text_track)); 1010 text_track));
1011 } 1011 }
1012 1012
1013 void WebMediaPlayerImpl::OnKeyError(const std::string& session_id, 1013 void WebMediaPlayerImpl::OnKeyError(const std::string& session_id,
1014 media::MediaKeys::KeyError error_code, 1014 media::MediaKeys::KeyError error_code,
1015 int system_code) { 1015 int system_code) {
1016 DCHECK(main_loop_->BelongsToCurrentThread()); 1016 DCHECK(main_loop_->BelongsToCurrentThread());
1017 1017
1018 EmeUMAHistogramEnumeration(current_key_system_, "KeyError", 1018 EmeUMAHistogramEnumeration(current_key_system_, "KeyError",
1019 error_code, media::MediaKeys::kMaxKeyError); 1019 error_code, media::MediaKeys::kMaxKeyError);
1020 1020
1021 GetClient()->keyError( 1021 GetClient()->keyError(
1022 current_key_system_, 1022 current_key_system_,
1023 WebString::fromUTF8(session_id), 1023 WebString::fromUTF8(session_id),
1024 static_cast<WebKit::WebMediaPlayerClient::MediaKeyErrorCode>(error_code), 1024 static_cast<blink::WebMediaPlayerClient::MediaKeyErrorCode>(error_code),
1025 system_code); 1025 system_code);
1026 } 1026 }
1027 1027
1028 void WebMediaPlayerImpl::OnKeyMessage(const std::string& session_id, 1028 void WebMediaPlayerImpl::OnKeyMessage(const std::string& session_id,
1029 const std::vector<uint8>& message, 1029 const std::vector<uint8>& message,
1030 const std::string& default_url) { 1030 const std::string& default_url) {
1031 DCHECK(main_loop_->BelongsToCurrentThread()); 1031 DCHECK(main_loop_->BelongsToCurrentThread());
1032 1032
1033 const GURL default_url_gurl(default_url); 1033 const GURL default_url_gurl(default_url);
1034 DLOG_IF(WARNING, !default_url.empty() && !default_url_gurl.is_valid()) 1034 DLOG_IF(WARNING, !default_url.empty() && !default_url_gurl.is_valid())
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
1232 v8::V8::AdjustAmountOfExternalAllocatedMemory(-kPlayerExtraMemory); 1232 v8::V8::AdjustAmountOfExternalAllocatedMemory(-kPlayerExtraMemory);
1233 incremented_externally_allocated_memory_ = false; 1233 incremented_externally_allocated_memory_ = false;
1234 } 1234 }
1235 1235
1236 // Release any final references now that everything has stopped. 1236 // Release any final references now that everything has stopped.
1237 pipeline_.reset(); 1237 pipeline_.reset();
1238 demuxer_.reset(); 1238 demuxer_.reset();
1239 data_source_.reset(); 1239 data_source_.reset();
1240 } 1240 }
1241 1241
1242 WebKit::WebMediaPlayerClient* WebMediaPlayerImpl::GetClient() { 1242 blink::WebMediaPlayerClient* WebMediaPlayerImpl::GetClient() {
1243 DCHECK(main_loop_->BelongsToCurrentThread()); 1243 DCHECK(main_loop_->BelongsToCurrentThread());
1244 DCHECK(client_); 1244 DCHECK(client_);
1245 return client_; 1245 return client_;
1246 } 1246 }
1247 1247
1248 WebKit::WebAudioSourceProvider* WebMediaPlayerImpl::audioSourceProvider() { 1248 blink::WebAudioSourceProvider* WebMediaPlayerImpl::audioSourceProvider() {
1249 return audio_source_provider_.get(); 1249 return audio_source_provider_.get();
1250 } 1250 }
1251 1251
1252 void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() { 1252 void WebMediaPlayerImpl::IncrementExternallyAllocatedMemory() {
1253 DCHECK(main_loop_->BelongsToCurrentThread()); 1253 DCHECK(main_loop_->BelongsToCurrentThread());
1254 incremented_externally_allocated_memory_ = true; 1254 incremented_externally_allocated_memory_ = true;
1255 v8::V8::AdjustAmountOfExternalAllocatedMemory(kPlayerExtraMemory); 1255 v8::V8::AdjustAmountOfExternalAllocatedMemory(kPlayerExtraMemory);
1256 } 1256 }
1257 1257
1258 double WebMediaPlayerImpl::GetPipelineDuration() const { 1258 double WebMediaPlayerImpl::GetPipelineDuration() const {
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 // The |current_frame_| wasn't painted, it is being replaced, and we haven't 1318 // The |current_frame_| wasn't painted, it is being replaced, and we haven't
1319 // even gotten the chance to request a repaint for it yet. Mark it as dropped. 1319 // even gotten the chance to request a repaint for it yet. Mark it as dropped.
1320 TRACE_EVENT0("media", "WebMediaPlayerImpl:frameDropped"); 1320 TRACE_EVENT0("media", "WebMediaPlayerImpl:frameDropped");
1321 DVLOG(1) << "Frame dropped before being painted: " 1321 DVLOG(1) << "Frame dropped before being painted: "
1322 << current_frame_->GetTimestamp().InSecondsF(); 1322 << current_frame_->GetTimestamp().InSecondsF();
1323 if (frames_dropped_before_paint_ < kuint32max) 1323 if (frames_dropped_before_paint_ < kuint32max)
1324 frames_dropped_before_paint_++; 1324 frames_dropped_before_paint_++;
1325 } 1325 }
1326 1326
1327 } // namespace content 1327 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/webmediaplayer_impl.h ('k') | content/renderer/media/webmediaplayer_ms.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698