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

Side by Side Diff: content/renderer/media/android/webmediaplayer_android.cc

Issue 1547073003: Switch to standard integer types in content/renderer/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 12 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
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/android/webmediaplayer_android.h" 5 #include "content/renderer/media/android/webmediaplayer_android.h"
6 6
7 #include <stddef.h>
8
7 #include <limits> 9 #include <limits>
8 10
9 #include "base/android/build_info.h" 11 #include "base/android/build_info.h"
10 #include "base/bind.h" 12 #include "base/bind.h"
11 #include "base/callback_helpers.h" 13 #include "base/callback_helpers.h"
12 #include "base/command_line.h" 14 #include "base/command_line.h"
13 #include "base/files/file_path.h" 15 #include "base/files/file_path.h"
14 #include "base/logging.h" 16 #include "base/logging.h"
15 #include "base/metrics/histogram.h" 17 #include "base/metrics/histogram.h"
16 #include "base/single_thread_task_runner.h" 18 #include "base/single_thread_task_runner.h"
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h" 61 #include "third_party/WebKit/public/web/WebRuntimeFeatures.h"
60 #include "third_party/WebKit/public/web/WebSecurityOrigin.h" 62 #include "third_party/WebKit/public/web/WebSecurityOrigin.h"
61 #include "third_party/WebKit/public/web/WebView.h" 63 #include "third_party/WebKit/public/web/WebView.h"
62 #include "third_party/skia/include/core/SkCanvas.h" 64 #include "third_party/skia/include/core/SkCanvas.h"
63 #include "third_party/skia/include/core/SkPaint.h" 65 #include "third_party/skia/include/core/SkPaint.h"
64 #include "third_party/skia/include/core/SkTypeface.h" 66 #include "third_party/skia/include/core/SkTypeface.h"
65 #include "third_party/skia/include/gpu/GrContext.h" 67 #include "third_party/skia/include/gpu/GrContext.h"
66 #include "third_party/skia/include/gpu/SkGrPixelRef.h" 68 #include "third_party/skia/include/gpu/SkGrPixelRef.h"
67 #include "ui/gfx/image/image.h" 69 #include "ui/gfx/image/image.h"
68 70
69 static const uint32 kGLTextureExternalOES = 0x8D65; 71 static const uint32_t kGLTextureExternalOES = 0x8D65;
70 static const int kSDKVersionToSupportSecurityOriginCheck = 20; 72 static const int kSDKVersionToSupportSecurityOriginCheck = 20;
71 73
72 using blink::WebMediaPlayer; 74 using blink::WebMediaPlayer;
73 using blink::WebSize; 75 using blink::WebSize;
74 using blink::WebString; 76 using blink::WebString;
75 using blink::WebURL; 77 using blink::WebURL;
76 using gpu::gles2::GLES2Interface; 78 using gpu::gles2::GLES2Interface;
77 using media::LogHelper; 79 using media::LogHelper;
78 using media::MediaLog; 80 using media::MediaLog;
79 using media::MediaPlayerAndroid; 81 using media::MediaPlayerAndroid;
(...skipping 10 matching lines...) Expand all
90 PREDICTION_RESULT_ALL_INCORRECT, 92 PREDICTION_RESULT_ALL_INCORRECT,
91 PREDICTION_RESULT_PATH_BASED_WAS_BETTER, 93 PREDICTION_RESULT_PATH_BASED_WAS_BETTER,
92 PREDICTION_RESULT_URL_BASED_WAS_BETTER, 94 PREDICTION_RESULT_URL_BASED_WAS_BETTER,
93 // Must always be larger than the largest logged value. 95 // Must always be larger than the largest logged value.
94 PREDICTION_RESULT_MAX 96 PREDICTION_RESULT_MAX
95 }; 97 };
96 98
97 // File-static function is to allow it to run even after WMPA is deleted. 99 // File-static function is to allow it to run even after WMPA is deleted.
98 void OnReleaseTexture( 100 void OnReleaseTexture(
99 const scoped_refptr<content::StreamTextureFactory>& factories, 101 const scoped_refptr<content::StreamTextureFactory>& factories,
100 uint32 texture_id, 102 uint32_t texture_id,
101 const gpu::SyncToken& sync_token) { 103 const gpu::SyncToken& sync_token) {
102 GLES2Interface* gl = factories->ContextGL(); 104 GLES2Interface* gl = factories->ContextGL();
103 gl->WaitSyncTokenCHROMIUM(sync_token.GetConstData()); 105 gl->WaitSyncTokenCHROMIUM(sync_token.GetConstData());
104 gl->DeleteTextures(1, &texture_id); 106 gl->DeleteTextures(1, &texture_id);
105 // Flush to ensure that the stream texture gets deleted in a timely fashion. 107 // Flush to ensure that the stream texture gets deleted in a timely fashion.
106 gl->ShallowFlushCHROMIUM(); 108 gl->ShallowFlushCHROMIUM();
107 } 109 }
108 110
109 bool IsSkBitmapProperlySizedTexture(const SkBitmap* bitmap, 111 bool IsSkBitmapProperlySizedTexture(const SkBitmap* bitmap,
110 const gfx::Size& size) { 112 const gfx::Size& size) {
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 const gpu::MailboxHolder& mailbox_holder = video_frame->mailbox_holder(0); 699 const gpu::MailboxHolder& mailbox_holder = video_frame->mailbox_holder(0);
698 DCHECK((!is_remote_ && 700 DCHECK((!is_remote_ &&
699 mailbox_holder.texture_target == GL_TEXTURE_EXTERNAL_OES) || 701 mailbox_holder.texture_target == GL_TEXTURE_EXTERNAL_OES) ||
700 (is_remote_ && mailbox_holder.texture_target == GL_TEXTURE_2D)); 702 (is_remote_ && mailbox_holder.texture_target == GL_TEXTURE_2D));
701 703
702 web_graphics_context->waitSyncTokenCHROMIUM( 704 web_graphics_context->waitSyncTokenCHROMIUM(
703 mailbox_holder.sync_token.GetConstData()); 705 mailbox_holder.sync_token.GetConstData());
704 706
705 // Ensure the target of texture is set before copyTextureCHROMIUM, otherwise 707 // Ensure the target of texture is set before copyTextureCHROMIUM, otherwise
706 // an invalid texture target may be used for copy texture. 708 // an invalid texture target may be used for copy texture.
707 uint32 src_texture = 709 uint32_t src_texture = web_graphics_context->createAndConsumeTextureCHROMIUM(
708 web_graphics_context->createAndConsumeTextureCHROMIUM( 710 mailbox_holder.texture_target, mailbox_holder.mailbox.name);
709 mailbox_holder.texture_target, mailbox_holder.mailbox.name);
710 711
711 // Application itself needs to take care of setting the right flip_y 712 // Application itself needs to take care of setting the right flip_y
712 // value down to get the expected result. 713 // value down to get the expected result.
713 // flip_y==true means to reverse the video orientation while 714 // flip_y==true means to reverse the video orientation while
714 // flip_y==false means to keep the intrinsic orientation. 715 // flip_y==false means to keep the intrinsic orientation.
715 web_graphics_context->copyTextureCHROMIUM( 716 web_graphics_context->copyTextureCHROMIUM(
716 GL_TEXTURE_2D, src_texture, texture, internal_format, type, 717 GL_TEXTURE_2D, src_texture, texture, internal_format, type,
717 flip_y, premultiply_alpha, false); 718 flip_y, premultiply_alpha, false);
718 719
719 web_graphics_context->deleteTexture(src_texture); 720 web_graphics_context->deleteTexture(src_texture);
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1758 void WebMediaPlayerAndroid::OnKeyAdded(const std::string& session_id) { 1759 void WebMediaPlayerAndroid::OnKeyAdded(const std::string& session_id) {
1759 EmeUMAHistogramCounts(current_key_system_, "KeyAdded", 1); 1760 EmeUMAHistogramCounts(current_key_system_, "KeyAdded", 1);
1760 1761
1761 encrypted_client_->keyAdded( 1762 encrypted_client_->keyAdded(
1762 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)), 1763 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)),
1763 WebString::fromUTF8(session_id)); 1764 WebString::fromUTF8(session_id));
1764 } 1765 }
1765 1766
1766 void WebMediaPlayerAndroid::OnKeyError(const std::string& session_id, 1767 void WebMediaPlayerAndroid::OnKeyError(const std::string& session_id,
1767 media::MediaKeys::KeyError error_code, 1768 media::MediaKeys::KeyError error_code,
1768 uint32 system_code) { 1769 uint32_t system_code) {
1769 EmeUMAHistogramEnumeration(current_key_system_, "KeyError", 1770 EmeUMAHistogramEnumeration(current_key_system_, "KeyError",
1770 error_code, media::MediaKeys::kMaxKeyError); 1771 error_code, media::MediaKeys::kMaxKeyError);
1771 1772
1772 unsigned short short_system_code = 0; 1773 unsigned short short_system_code = 0;
1773 if (system_code > std::numeric_limits<unsigned short>::max()) { 1774 if (system_code > std::numeric_limits<unsigned short>::max()) {
1774 LOG(WARNING) << "system_code exceeds unsigned short limit."; 1775 LOG(WARNING) << "system_code exceeds unsigned short limit.";
1775 short_system_code = std::numeric_limits<unsigned short>::max(); 1776 short_system_code = std::numeric_limits<unsigned short>::max();
1776 } else { 1777 } else {
1777 short_system_code = static_cast<unsigned short>(system_code); 1778 short_system_code = static_cast<unsigned short>(system_code);
1778 } 1779 }
1779 1780
1780 encrypted_client_->keyError( 1781 encrypted_client_->keyError(
1781 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)), 1782 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)),
1782 WebString::fromUTF8(session_id), 1783 WebString::fromUTF8(session_id),
1783 static_cast<blink::WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCode>( 1784 static_cast<blink::WebMediaPlayerEncryptedMediaClient::MediaKeyErrorCode>(
1784 error_code), 1785 error_code),
1785 short_system_code); 1786 short_system_code);
1786 } 1787 }
1787 1788
1788 void WebMediaPlayerAndroid::OnKeyMessage(const std::string& session_id, 1789 void WebMediaPlayerAndroid::OnKeyMessage(const std::string& session_id,
1789 const std::vector<uint8>& message, 1790 const std::vector<uint8_t>& message,
1790 const GURL& destination_url) { 1791 const GURL& destination_url) {
1791 DCHECK(destination_url.is_empty() || destination_url.is_valid()); 1792 DCHECK(destination_url.is_empty() || destination_url.is_valid());
1792 1793
1793 encrypted_client_->keyMessage( 1794 encrypted_client_->keyMessage(
1794 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)), 1795 WebString::fromUTF8(media::GetPrefixedKeySystemName(current_key_system_)),
1795 WebString::fromUTF8(session_id), message.empty() ? NULL : &message[0], 1796 WebString::fromUTF8(session_id), message.empty() ? NULL : &message[0],
1796 message.size(), destination_url); 1797 message.size(), destination_url);
1797 } 1798 }
1798 1799
1799 void WebMediaPlayerAndroid::OnMediaSourceOpened( 1800 void WebMediaPlayerAndroid::OnMediaSourceOpened(
1800 blink::WebMediaSource* web_media_source) { 1801 blink::WebMediaSource* web_media_source) {
1801 client_->mediaSourceOpened(web_media_source); 1802 client_->mediaSourceOpened(web_media_source);
1802 } 1803 }
1803 1804
1804 void WebMediaPlayerAndroid::OnEncryptedMediaInitData( 1805 void WebMediaPlayerAndroid::OnEncryptedMediaInitData(
1805 media::EmeInitDataType init_data_type, 1806 media::EmeInitDataType init_data_type,
1806 const std::vector<uint8>& init_data) { 1807 const std::vector<uint8_t>& init_data) {
1807 DCHECK(main_thread_checker_.CalledOnValidThread()); 1808 DCHECK(main_thread_checker_.CalledOnValidThread());
1808 1809
1809 // Do not fire NeedKey event if encrypted media is not enabled. 1810 // Do not fire NeedKey event if encrypted media is not enabled.
1810 if (!blink::WebRuntimeFeatures::isPrefixedEncryptedMediaEnabled() && 1811 if (!blink::WebRuntimeFeatures::isPrefixedEncryptedMediaEnabled() &&
1811 !blink::WebRuntimeFeatures::isEncryptedMediaEnabled()) { 1812 !blink::WebRuntimeFeatures::isEncryptedMediaEnabled()) {
1812 return; 1813 return;
1813 } 1814 }
1814 1815
1815 UMA_HISTOGRAM_COUNTS(kMediaEme + std::string("NeedKey"), 1); 1816 UMA_HISTOGRAM_COUNTS(kMediaEme + std::string("NeedKey"), 1);
1816 1817
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
1973 result = PREDICTION_RESULT_PATH_BASED_WAS_BETTER; 1974 result = PREDICTION_RESULT_PATH_BASED_WAS_BETTER;
1974 } else if (is_hls_url == is_hls) { 1975 } else if (is_hls_url == is_hls) {
1975 result = PREDICTION_RESULT_URL_BASED_WAS_BETTER; 1976 result = PREDICTION_RESULT_URL_BASED_WAS_BETTER;
1976 } 1977 }
1977 UMA_HISTOGRAM_ENUMERATION( 1978 UMA_HISTOGRAM_ENUMERATION(
1978 "Media.Android.IsHttpLiveStreamingMediaPredictionResult", 1979 "Media.Android.IsHttpLiveStreamingMediaPredictionResult",
1979 result, PREDICTION_RESULT_MAX); 1980 result, PREDICTION_RESULT_MAX);
1980 } 1981 }
1981 1982
1982 } // namespace content 1983 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/android/webmediaplayer_android.h ('k') | content/renderer/media/audio_decoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698