Index: media/base/android/media_source_player.cc |
diff --git a/media/base/android/media_source_player.cc b/media/base/android/media_source_player.cc |
index 9fca4cf2e152b8e97d6bfb6f7cdec617d767376e..71665fac64a3ba476e11dfa2c247abfaf6d3158c 100644 |
--- a/media/base/android/media_source_player.cc |
+++ b/media/base/android/media_source_player.cc |
@@ -24,6 +24,23 @@ const int kBytesPerAudioOutputSample = 2; |
namespace media { |
+// static |
+bool MediaSourcePlayer::CanPlayType(const std::vector<uint8>& scheme_uuid, |
+ const std::string& security_level, |
+ const std::string& container, |
+ const std::vector<std::string>& codecs) { |
+ if (!MediaDrmBridge::IsCryptoSchemeSupported(scheme_uuid, container)) |
+ return false; |
+ |
+ bool secure = MediaDrmBridge::IsSecureDecoderRequired(security_level); |
ddorwin
2013/08/27 18:14:19
nit: is_secure
Really, is_secure_required, but th
xhwang
2013/08/28 01:21:24
I debated about that. |is_secure| isn't accurate e
ddorwin
2013/08/28 02:28:50
Yes, but bools should generally have an is_ (or si
xhwang
2013/08/28 18:19:15
Changed to is_secure, which is short and fits well
|
+ for (size_t i = 0; i < codecs.size(); ++i) { |
+ if (!MediaCodecBridge::CanPlayType(codecs[i].c_str(), secure)) |
qinmin
2013/08/27 21:41:12
how about putting the for loop inside MediaCodecBr
xhwang
2013/08/28 01:21:24
This function is already complicated (involves Med
|
+ return false; |
+ } |
+ |
+ return true; |
+} |
+ |
MediaSourcePlayer::MediaSourcePlayer( |
int player_id, |
MediaPlayerManager* manager) |