use dedicated looper for GenericSource
- handle setVideoSurface in deferred action, and return
to client immediately
- handle GenericSource's prepareAsync on its own looper,
instead of sharing looper with NuPlayer
- let HTTPLiveSource share looper with LiveSession, instead
of NuPlayer
- remove reflector in RTSPSource
Bug: 16892748
Change-Id: I1aed557320052012065f5a90adbcb03c238da988
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.h b/media/libmediaplayerservice/nuplayer/GenericSource.h
index 44d690e..d3081de 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.h
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.h
@@ -70,6 +70,7 @@
private:
enum {
+ kWhatPrepareAsync,
kWhatFetchSubtitleData,
kWhatFetchTimedTextData,
kWhatSendSubtitleData,
@@ -104,12 +105,17 @@
int64_t mOffset;
int64_t mLength;
+ sp<ALooper> mLooper;
+
+
void resetDataSource();
status_t initFromDataSource(
const sp<DataSource> &dataSource,
const char *mime);
+ void onPrepareAsync();
+
void fetchTextData(
uint32_t what, media_track_type type,
int32_t curGen, sp<AnotherPacketSource> packets, sp<AMessage> msg);