MediaPlayer2Factory: use on demand initialization for static variable.
Test: MediaPlayer2 plays
Bug: 63934228
Change-Id: I0eb42a9eaf61ba2d4d49900d2926288e932e65cb
diff --git a/media/libmedia/MediaPlayer2Factory.h b/media/libmedia/MediaPlayer2Factory.h
index 799b5f3..416d241 100644
--- a/media/libmedia/MediaPlayer2Factory.h
+++ b/media/libmedia/MediaPlayer2Factory.h
@@ -50,9 +50,6 @@
virtual sp<MediaPlayer2Base> createPlayer(pid_t pid) = 0;
};
- static status_t registerFactory(IFactory* factory,
- player2_type type);
- static void unregisterFactory(player2_type type);
static player2_type getPlayerType(const sp<MediaPlayer2Engine>& client,
const char* url);
static player2_type getPlayerType(const sp<MediaPlayer2Engine>& client,
@@ -76,11 +73,13 @@
MediaPlayer2Factory() { }
+ static bool ensureInit_l();
+
static status_t registerFactory_l(IFactory* factory,
player2_type type);
static Mutex sLock;
- static tFactoryMap sFactoryMap;
+ static tFactoryMap *sFactoryMap;
static bool sInitComplete;
DISALLOW_EVIL_CONSTRUCTORS(MediaPlayer2Factory);