summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2010-01-20 16:11:15 -0800
committerAndreas Huber <andih@google.com>2010-01-21 10:31:05 -0800
commitb49676a55e7dce9710e1a10749a26997513c5ceb (patch)
treefd59a983caaa979a23990ab62446152a977e198f
parent570a3cb7582daa030cb38eedc5eb6a06f86ecc7f (diff)
downloadframeworks_av-b49676a55e7dce9710e1a10749a26997513c5ceb.zip
frameworks_av-b49676a55e7dce9710e1a10749a26997513c5ceb.tar.gz
frameworks_av-b49676a55e7dce9710e1a10749a26997513c5ceb.tar.bz2
Special-case .wmv and .wma metadata retrieval and playback to use PV if available.
related-to-bug: 2381874
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 6563caa..af8d1b5 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -199,6 +199,11 @@ extmap FILE_EXTS [] = {
{".ota", SONIVOX_PLAYER},
{".ogg", VORBIS_PLAYER},
{".oga", VORBIS_PLAYER},
+#ifndef NO_OPENCORE
+ {".wma", PV_PLAYER},
+ {".wmv", PV_PLAYER},
+ {".asf", PV_PLAYER},
+#endif
};
// TODO: Find real cause of Audio/Video delay in PV framework and remove this workaround
@@ -682,6 +687,14 @@ player_type getPlayerType(int fd, int64_t offset, int64_t length)
if (ident == 0x5367674f) // 'OggS'
return VORBIS_PLAYER;
+#ifndef NO_OPENCORE
+ if (ident == 0x75b22630) {
+ // The magic number for .asf files, i.e. wmv and wma content.
+ // These are not currently supported through stagefright.
+ return PV_PLAYER;
+ }
+#endif
+
// Some kind of MIDI?
EAS_DATA_HANDLE easdata;
if (EAS_Init(&easdata) == EAS_SUCCESS) {