summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaPlayerFactory.cpp
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-08-20 13:58:34 -0700
committerChong Zhang <chz@google.com>2014-08-20 22:00:23 +0000
commit9b48f5d780757ffb81709df3633d06b62edaf39f (patch)
tree60272c63915e80b9d49387862469939cbce65790 /media/libmediaplayerservice/MediaPlayerFactory.cpp
parent9f0446d8842b5c6fb3a48c33a447632687ac581e (diff)
downloadframeworks_av-9b48f5d780757ffb81709df3633d06b62edaf39f.zip
frameworks_av-9b48f5d780757ffb81709df3633d06b62edaf39f.tar.gz
frameworks_av-9b48f5d780757ffb81709df3633d06b62edaf39f.tar.bz2
disable AwesomePlayer for Ogg vorbis
Bug: 17108024 Change-Id: I0a970e6476d0f739e65d2200d0f5220dee8d36ef
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerFactory.cpp')
-rw-r--r--media/libmediaplayerservice/MediaPlayerFactory.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerFactory.cpp b/media/libmediaplayerservice/MediaPlayerFactory.cpp
index dacb144..3e0fc0d 100644
--- a/media/libmediaplayerservice/MediaPlayerFactory.cpp
+++ b/media/libmediaplayerservice/MediaPlayerFactory.cpp
@@ -60,7 +60,7 @@ status_t MediaPlayerFactory::registerFactory_l(IFactory* factory,
return OK;
}
-player_type MediaPlayerFactory::getDefaultPlayerType() {
+static player_type getDefaultPlayerType() {
char value[PROPERTY_VALUE_MAX];
if (property_get("media.stagefright.use-awesome", value, NULL)
&& (!strcmp("1", value) || !strcasecmp("true", value))) {
@@ -181,16 +181,19 @@ class StagefrightPlayerFactory :
int64_t offset,
int64_t /*length*/,
float /*curScore*/) {
- char buf[20];
- lseek(fd, offset, SEEK_SET);
- read(fd, buf, sizeof(buf));
- lseek(fd, offset, SEEK_SET);
-
- uint32_t ident = *((uint32_t*)buf);
-
- // Ogg vorbis?
- if (ident == 0x5367674f) // 'OggS'
- return 1.0;
+ if (getDefaultPlayerType()
+ == STAGEFRIGHT_PLAYER) {
+ char buf[20];
+ lseek(fd, offset, SEEK_SET);
+ read(fd, buf, sizeof(buf));
+ lseek(fd, offset, SEEK_SET);
+
+ uint32_t ident = *((uint32_t*)buf);
+
+ // Ogg vorbis?
+ if (ident == 0x5367674f) // 'OggS'
+ return 1.0;
+ }
return 0.0;
}