diff options
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 9 |
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) { |