diff options
Diffstat (limited to 'media/libmediaplayerservice/nuplayer')
6 files changed, 31 insertions, 5 deletions
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp index b3b3af5..5a5330d 100644 --- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp +++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp @@ -35,8 +35,11 @@ namespace android { NuPlayer::HTTPLiveSource::HTTPLiveSource( const char *url, - const KeyedVector<String8, String8> *headers) + const KeyedVector<String8, String8> *headers, + bool uidValid, uid_t uid) : mURL(url), + mUIDValid(uidValid), + mUID(uid), mFlags(0), mEOS(false), mOffset(0) { @@ -65,7 +68,8 @@ void NuPlayer::HTTPLiveSource::start() { mLiveLooper->start(); mLiveSession = new LiveSession( - (mFlags & kFlagIncognito) ? LiveSession::kFlagIncognito : 0); + (mFlags & kFlagIncognito) ? LiveSession::kFlagIncognito : 0, + mUIDValid, mUID); mLiveLooper->registerHandler(mLiveSession); diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h index 7a337e9..36c67c5 100644 --- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h +++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.h @@ -29,7 +29,9 @@ struct LiveSession; struct NuPlayer::HTTPLiveSource : public NuPlayer::Source { HTTPLiveSource( const char *url, - const KeyedVector<String8, String8> *headers); + const KeyedVector<String8, String8> *headers, + bool uidValid = false, + uid_t uid = 0); virtual void start(); @@ -54,6 +56,8 @@ private: AString mURL; KeyedVector<String8, String8> mExtraHeaders; + bool mUIDValid; + uid_t mUID; uint32_t mFlags; bool mEOS; off64_t mOffset; diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp index effa703..b06f20d 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp @@ -44,7 +44,8 @@ namespace android { //////////////////////////////////////////////////////////////////////////////// NuPlayer::NuPlayer() - : mAudioEOS(false), + : mUIDValid(false), + mAudioEOS(false), mVideoEOS(false), mScanSourcesPending(false), mScanSourcesGeneration(0), @@ -57,6 +58,11 @@ NuPlayer::NuPlayer() NuPlayer::~NuPlayer() { } +void NuPlayer::setUID(uid_t uid) { + mUIDValid = true; + mUID = uid; +} + void NuPlayer::setDriver(const wp<NuPlayerDriver> &driver) { mDriver = driver; } @@ -72,7 +78,7 @@ void NuPlayer::setDataSource( const char *url, const KeyedVector<String8, String8> *headers) { sp<AMessage> msg = new AMessage(kWhatSetDataSource, id()); - msg->setObject("source", new HTTPLiveSource(url, headers)); + msg->setObject("source", new HTTPLiveSource(url, headers, mUIDValid, mUID)); msg->post(); } diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h index fb5b001..cf9185b 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayer.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h @@ -33,6 +33,8 @@ struct NuPlayerDriver; struct NuPlayer : public AHandler { NuPlayer(); + void setUID(uid_t uid); + void setDriver(const wp<NuPlayerDriver> &driver); void setDataSource(const sp<IStreamSource> &source); @@ -84,6 +86,8 @@ private: }; wp<NuPlayerDriver> mDriver; + bool mUIDValid; + uid_t mUID; sp<Source> mSource; sp<NativeWindowWrapper> mNativeWindow; sp<MediaPlayerBase::AudioSink> mAudioSink; diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp index e1213f4..7cd8b6c 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.cpp @@ -55,6 +55,12 @@ status_t NuPlayerDriver::initCheck() { return OK; } +status_t NuPlayerDriver::setUID(uid_t uid) { + mPlayer->setUID(uid); + + return OK; +} + status_t NuPlayerDriver::setDataSource( const char *url, const KeyedVector<String8, String8> *headers) { CHECK_EQ((int)mState, (int)UNINITIALIZED); diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h index 145fd80..1bb7ca2 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h @@ -28,6 +28,8 @@ struct NuPlayerDriver : public MediaPlayerInterface { virtual status_t initCheck(); + virtual status_t setUID(uid_t uid); + virtual status_t setDataSource( const char *url, const KeyedVector<String8, String8> *headers); |