diff options
author | Chong Zhang <chz@google.com> | 2014-11-20 18:41:46 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-11-20 18:41:47 +0000 |
commit | ec9459c63d1c2969505ffdc4a100646fd07223bd (patch) | |
tree | 143cd8e8d5a9d2c973e37833e4836632215f7ee9 /media | |
parent | a7cf01da547bad8d4e66e3e4570eddeac98b6b05 (diff) | |
parent | a6bf21f2a7cdd33c78464019dc1105ef01248b51 (diff) | |
download | frameworks_av-ec9459c63d1c2969505ffdc4a100646fd07223bd.zip frameworks_av-ec9459c63d1c2969505ffdc4a100646fd07223bd.tar.gz frameworks_av-ec9459c63d1c2969505ffdc4a100646fd07223bd.tar.bz2 |
Merge "close fd if data source is reset without prepare" into lmp-mr1-dev
Diffstat (limited to 'media')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/GenericSource.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/GenericSource.cpp b/media/libmediaplayerservice/nuplayer/GenericSource.cpp index e619926..e7a26b6 100644 --- a/media/libmediaplayerservice/nuplayer/GenericSource.cpp +++ b/media/libmediaplayerservice/nuplayer/GenericSource.cpp @@ -56,6 +56,7 @@ NuPlayer::GenericSource::GenericSource( mIsWidevine(false), mUIDValid(uidValid), mUID(uid), + mFd(-1), mDrmManagerClient(NULL), mMetaDataSize(-1ll), mBitrate(-1ll), @@ -70,7 +71,10 @@ void NuPlayer::GenericSource::resetDataSource() { mHttpSource.clear(); mUri.clear(); mUriHeaders.clear(); - mFd = -1; + if (mFd >= 0) { + close(mFd); + mFd = -1; + } mOffset = 0; mLength = 0; setDrmPlaybackStatusIfNeeded(Playback::STOP, 0); @@ -270,6 +274,7 @@ NuPlayer::GenericSource::~GenericSource() { mLooper->unregisterHandler(id()); mLooper->stop(); } + resetDataSource(); } void NuPlayer::GenericSource::prepareAsync() { @@ -312,6 +317,7 @@ void NuPlayer::GenericSource::onPrepareAsync() { mIsWidevine = false; mDataSource = new FileSource(mFd, mOffset, mLength); + mFd = -1; } if (mDataSource == NULL) { |