summaryrefslogtreecommitdiff
path: root/chromium/media/base/android/media_codec_util.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/media/base/android/media_codec_util.cc')
-rw-r--r--chromium/media/base/android/media_codec_util.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/chromium/media/base/android/media_codec_util.cc b/chromium/media/base/android/media_codec_util.cc
index 21877cc8fe3..e878612a620 100644
--- a/chromium/media/base/android/media_codec_util.cc
+++ b/chromium/media/base/android/media_codec_util.cc
@@ -203,8 +203,22 @@ bool MediaCodecUtil::IsSurfaceViewOutputSupported() {
// Notably this is not codec agnostic at present, so any devices added to
// the blacklist will avoid trying to play any codecs on SurfaceView. If
// needed in the future this can be expanded to be codec specific.
- return !base::StartsWith(base::android::BuildInfo::GetInstance()->model(),
- "GT-I9300", base::CompareCase::INSENSITIVE_ASCII);
+ const char* model_prefixes[] = {// Exynos 4 (Mali-400)
+ "GT-I9300", "GT-I9305", "SHV-E210",
+ // Snapdragon S4 (Adreno-225)
+ "SCH-I535", "SCH-J201", "SCH-R530",
+ "SCH-I960", "SCH-S968", "SGH-T999",
+ "SGH-I747", "SGH-N064", 0};
+
+ std::string model(base::android::BuildInfo::GetInstance()->model());
+ for (int i = 0; model_prefixes[i]; ++i) {
+ if (base::StartsWith(model, model_prefixes[i],
+ base::CompareCase::INSENSITIVE_ASCII)) {
+ return false;
+ }
+ }
+
+ return true;
}
} // namespace media