summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/GenericSource.h
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-08-07 15:35:07 -0700
committerChong Zhang <chz@google.com>2014-08-07 17:34:39 -0700
commitbf9b95d712a24b654761cb9fea0d94d383cfc661 (patch)
treecd1f66448da5c081f29707977b0d1292296efd4d /media/libmediaplayerservice/nuplayer/GenericSource.h
parent3de157dd8f9cd45bf9b0406268f5830887105ae1 (diff)
downloadframeworks_av-bf9b95d712a24b654761cb9fea0d94d383cfc661.zip
frameworks_av-bf9b95d712a24b654761cb9fea0d94d383cfc661.tar.gz
frameworks_av-bf9b95d712a24b654761cb9fea0d94d383cfc661.tar.bz2
delay data source creation for GenericSource prepare time
Bug: 16708180 Change-Id: I9d578ef5e2edaed50279d28d3831c68556468f39
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/GenericSource.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/GenericSource.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.h b/media/libmediaplayerservice/nuplayer/GenericSource.h
index 76e628b..44d690e 100644
--- a/media/libmediaplayerservice/nuplayer/GenericSource.h
+++ b/media/libmediaplayerservice/nuplayer/GenericSource.h
@@ -30,18 +30,19 @@ namespace android {
struct AnotherPacketSource;
struct ARTSPController;
struct DataSource;
+struct IMediaHTTPService;
struct MediaSource;
class MediaBuffer;
struct NuPlayer::GenericSource : public NuPlayer::Source {
GenericSource(const sp<AMessage> &notify, bool uidValid, uid_t uid);
- status_t init(
+ status_t setDataSource(
const sp<IMediaHTTPService> &httpService,
const char *url,
const KeyedVector<String8, String8> *headers);
- status_t init(int fd, int64_t offset, int64_t length);
+ status_t setDataSource(int fd, int64_t offset, int64_t length);
virtual void prepareAsync();
@@ -96,6 +97,14 @@ private:
bool mIsWidevine;
bool mUIDValid;
uid_t mUID;
+ sp<IMediaHTTPService> mHTTPService;
+ AString mUri;
+ KeyedVector<String8, String8> mUriHeaders;
+ int mFd;
+ int64_t mOffset;
+ int64_t mLength;
+
+ void resetDataSource();
status_t initFromDataSource(
const sp<DataSource> &dataSource,