summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaPlayerFactory.cpp
diff options
context:
space:
mode:
authorAndy Hung <hunga@google.com>2014-09-03 23:28:52 +0000
committerAndy Hung <hunga@google.com>2014-09-03 23:28:52 +0000
commit48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65 (patch)
tree60272c63915e80b9d49387862469939cbce65790 /media/libmediaplayerservice/MediaPlayerFactory.cpp
parentda65048e8e6f65ed9b3f23cda3f4554025c76fc4 (diff)
downloadframeworks_av-48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65.zip
frameworks_av-48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65.tar.gz
frameworks_av-48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65.tar.bz2
Revert "Revert "disable AwesomePlayer for Ogg vorbis""
This reverts commit da65048e8e6f65ed9b3f23cda3f4554025c76fc4. Deadlock audio issues for NuPlayer have been resolved. Change-Id: I1853d367dc771a9396a9b2d48ff34e50c78c112c
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;
}