| 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 "media/blink/webmediaplayer_impl.h" | 5 #include "media/blink/webmediaplayer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 863 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 874 size_t WebMediaPlayerImpl::videoDecodedByteCount() const { | 874 size_t WebMediaPlayerImpl::videoDecodedByteCount() const { |
| 875 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 875 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 876 | 876 |
| 877 PipelineStatistics stats = pipeline_.GetStatistics(); | 877 PipelineStatistics stats = pipeline_.GetStatistics(); |
| 878 return stats.video_bytes_decoded; | 878 return stats.video_bytes_decoded; |
| 879 } | 879 } |
| 880 | 880 |
| 881 bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture( | 881 bool WebMediaPlayerImpl::copyVideoTextureToPlatformTexture( |
| 882 gpu::gles2::GLES2Interface* gl, | 882 gpu::gles2::GLES2Interface* gl, |
| 883 unsigned int texture, | 883 unsigned int texture, |
| 884 unsigned int internal_format, | |
| 885 unsigned int type, | |
| 886 bool premultiply_alpha, | 884 bool premultiply_alpha, |
| 887 bool flip_y) { | 885 bool flip_y) { |
| 888 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 886 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 889 TRACE_EVENT0("media", "WebMediaPlayerImpl:copyVideoTextureToPlatformTexture"); | 887 TRACE_EVENT0("media", "WebMediaPlayerImpl:copyVideoTextureToPlatformTexture"); |
| 890 | 888 |
| 891 // TODO(sandersd): Move this check into GetCurrentFrameFromCompositor() when | 889 // TODO(sandersd): Move this check into GetCurrentFrameFromCompositor() when |
| 892 // we have other ways to check if decoder owns video frame. | 890 // we have other ways to check if decoder owns video frame. |
| 893 // See http://crbug.com/595716 and http://crbug.com/602708 | 891 // See http://crbug.com/595716 and http://crbug.com/602708 |
| 894 if (cdm_) | 892 if (cdm_) |
| 895 return false; | 893 return false; |
| 896 | 894 |
| 897 scoped_refptr<VideoFrame> video_frame = GetCurrentFrameFromCompositor(); | 895 scoped_refptr<VideoFrame> video_frame = GetCurrentFrameFromCompositor(); |
| 898 if (!video_frame.get() || !video_frame->HasTextures()) { | 896 if (!video_frame.get() || !video_frame->HasTextures()) { |
| 899 return false; | 897 return false; |
| 900 } | 898 } |
| 901 | 899 |
| 902 Context3D context_3d; | 900 Context3D context_3d; |
| 903 if (!context_3d_cb_.is_null()) | 901 if (!context_3d_cb_.is_null()) |
| 904 context_3d = context_3d_cb_.Run(); | 902 context_3d = context_3d_cb_.Run(); |
| 905 return skcanvas_video_renderer_.CopyVideoFrameTexturesToGLTexture( | 903 return skcanvas_video_renderer_.CopyVideoFrameTexturesToGLTexture( |
| 906 context_3d, gl, video_frame.get(), texture, internal_format, type, | 904 context_3d, gl, video_frame.get(), texture, premultiply_alpha, flip_y); |
| 907 premultiply_alpha, flip_y); | |
| 908 } | 905 } |
| 909 | 906 |
| 910 void WebMediaPlayerImpl::setContentDecryptionModule( | 907 void WebMediaPlayerImpl::setContentDecryptionModule( |
| 911 blink::WebContentDecryptionModule* cdm, | 908 blink::WebContentDecryptionModule* cdm, |
| 912 blink::WebContentDecryptionModuleResult result) { | 909 blink::WebContentDecryptionModuleResult result) { |
| 913 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 910 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 914 | 911 |
| 915 // Once the CDM is set it can't be cleared as there may be frames being | 912 // Once the CDM is set it can't be cleared as there may be frames being |
| 916 // decrypted on other threads. So fail this request. | 913 // decrypted on other threads. So fail this request. |
| 917 // http://crbug.com/462365#c7. | 914 // http://crbug.com/462365#c7. |
| (...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1979 watch_time_reporter_->OnShown(); | 1976 watch_time_reporter_->OnShown(); |
| 1980 } | 1977 } |
| 1981 | 1978 |
| 1982 bool WebMediaPlayerImpl::IsHidden() const { | 1979 bool WebMediaPlayerImpl::IsHidden() const { |
| 1983 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 1980 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 1984 | 1981 |
| 1985 return delegate_ && delegate_->IsHidden(); | 1982 return delegate_ && delegate_->IsHidden(); |
| 1986 } | 1983 } |
| 1987 | 1984 |
| 1988 } // namespace media | 1985 } // namespace media |
| OLD | NEW |