diff options
author | Andy Hung <hunga@google.com> | 2014-09-03 23:28:52 +0000 |
---|---|---|
committer | Andy Hung <hunga@google.com> | 2014-09-03 23:28:52 +0000 |
commit | 48f36a07d1faa1b8ec0af5d12d3c18fbfcb9eb65 (patch) | |
tree | 60272c63915e80b9d49387862469939cbce65790 /media/libmediaplayerservice/MediaPlayerFactory.cpp | |
parent | da65048e8e6f65ed9b3f23cda3f4554025c76fc4 (diff) | |
download | frameworks_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.cpp | 25 |
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; } |