summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaPlayerService.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index 3e1f4a5..911d89f 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -57,6 +57,7 @@
#include "MidiFile.h"
#include "VorbisPlayer.h"
+#include "FLACPlayer.h"
#include <media/PVPlayer.h>
#include "TestPlayerStub.h"
#include "StagefrightPlayer.h"
@@ -204,6 +205,7 @@ extmap FILE_EXTS [] = {
{".wmv", PV_PLAYER},
{".asf", PV_PLAYER},
#endif
+ {".flac", FLAC_PLAYER},
};
// TODO: Find real cause of Audio/Video delay in PV framework and remove this workaround
@@ -719,6 +721,9 @@ player_type getPlayerType(int fd, int64_t offset, int64_t length)
}
#endif
+ if (ident == 0x43614c66) // 'fLaC'
+ return FLAC_PLAYER;
+
// Some kind of MIDI?
EAS_DATA_HANDLE easdata;
if (EAS_Init(&easdata) == EAS_SUCCESS) {
@@ -812,6 +817,10 @@ static sp<MediaPlayerBase> createPlayer(player_type playerType, void* cookie,
LOGV("Create Test Player stub");
p = new TestPlayerStub();
break;
+ case FLAC_PLAYER:
+ LOGV(" create FLACPlayer");
+ p = new FLACPlayer();
+ break;
}
if (p != NULL) {
if (p->initCheck() == NO_ERROR) {